§
    J�’jŠ\ ã                   ó&*  — d dl Z d dlmZmZ d dlmZ d dlmZmZ d dl	m
Z
mZ d dlZd dlmZ d dlZd dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z- d dl.m/Z/m0Z0 d dl1m2Z2m3Z3m4Z4 ej5         6                    dd¦  «        Z7ej5         6                    ddd¦  «        Z8ej5         6                    ddd¦  «        Z9ej5         6                    ddd¦  «        Z:ej5         6                    ddd¦  «        Z;g d¢Z<	 �drdddddœde"ej        z  dz  de$dz  de%dz  dej=        dz  dej>        e?z  dz  f
d„Z@dd d d!œd"e?d#e#eAe#d$f         z  d%ed&ed'e?d(eejB                 dz  d)eCd*eCfd+„ZD G d,„ d-e¦  «        ZEdd.œd/eEd0eAe'd$f         dz  d1e,fd2„ZFd3„ ZGd4e?d/eEfd5„ZHd4e?d/eEfd6„ZId7„ ZJ eHd8ejK        d9eEjL        ¬:¦  «        ZK eHd;ejM        d9eEjN        ¬:¦  «        ZM eHd<ejO        d9eEjN        ¬:¦  «        ZO eHd=ejP        d9eEjN        ¬:¦  «        ZP eHd>ejQ        d9eEjN        ¬:¦  «        ZQ eHd?ejR        d9eEjN        ¬:¦  «        ZR eHd@ejS        d9eEjN        ¬:¦  «        ZS eHdAejT        d9eEjN        ¬:¦  «        ZT eHdBejU        d9eEjN        ¬:¦  «        ZU eHdCejV        jW        d9eEjN        ¬:¦  «        ZW eHdDejV        jX        d9eEjN        ¬:¦  «        ZX eHdEejY        d9eEjN        ¬:¦  «        ZZ eHdFejV        j[        d9eEjN        ¬:¦  «        Z\ eHdGejV        j]        d9eEjN        ¬:¦  «        Z^ eHdHejV        j_        d9eEjN        ¬:¦  «        Z` eHdIeja        d9eEjN        ¬:¦  «        ZadJej        d1efdK„Zb eHdLebd9eEjN        ¬:¦  «        Zc eHdMejd        d9eEjN        ¬:¦  «        ZddNe'd1e'fdO„Ze eDdPeeejf        dQe#jg        ¬R¦  «        Zheji        dSœdNe'dTejj        d1e'fdU„Zk eDdVekejl        dWe#jg        dX¬Y¦  «        Zl eHdZejm        d9eEjN        ¬:¦  «        Zm eHd[ejn        d9eEjN        ¬:¦  «        Zn eHd\ejV        jo        d9eEjN        ¬:¦  «        Zp eHd]ejV        jq        d9eEjN        ¬:¦  «        Zq eHd^ejV        jr        d9eEjN        ¬:¦  «        Zr eHd_ejs        d9eEjN        ¬:¦  «        Zs eHd`ejV        jt        d9eEjN        ¬:¦  «        Zt eHdaejV        ju        d9eEjN        ¬:¦  «        ZudJe'dbe"d1e'fdc„Zv eDdde#jg        evejw        d9¬e¦  «        Zw eHdfejx        d9eEjN        ¬:¦  «        Zx eDdg eeGeEjL        ¬h¦  «        e#jy        ejz        d9¬i¦  «        Zz eHdjej{        d9eEj|        ¬:¦  «        Z{ eHdkej}        d9eEjN        ¬:¦  «        Z} eHdlej~        d9eEjN        ¬:¦  «        Z~ eHdmej        d9eEjN        ¬:¦  «        Z eHdnej€        d9eEjN        ¬:¦  «        Z€ eHdoej�        d9eEjN        ¬:¦  «        Z� eDdp eeGeEjL        ¬h¦  «        e#jy        ej‚        d9¬i¦  «        Z‚ eHdqejƒ        d9eEjN        ¬:¦  «        Zƒ eHdrejV        j„        d9eEjN        ¬:¦  «        Z„ eHdsej…        d9eEjN        ¬:¦  «        Z… eHdtej†        d9eEjN        ¬:¦  «        Z† eHduej‡        d9eEjN        ¬:¦  «        Z‡ eHdvejˆ        d9eEjN        ¬:¦  «        Zˆ eHdwej‰        d9eEjN        ¬:¦  «        Z‰ eHdxejŠ        d9eEjN        ¬:¦  «        ZŠ eHdyej‹        d9eEjN        ¬:¦  «        Z‹ eHdzejV        jŒ        d9eEjN        ¬:¦  «        ZŒ eHd{ej�        d9eEjN        ¬:¦  «        Z� eHd|ejŽ        d9eEjN        ¬:¦  «        ZŽ eHd}ej�        d9eEjN        ¬:¦  «        Z� eHd~ej�        d9eEjN        ¬:¦  «        Z� eIdej‘        d9eEjN        ¬€¦  «        Z‘ eId�ej’        d9eEjN        ¬€¦  «        Z’ eId‚ej“        d9eEjN        ¬:¦  «        Z“ eIdƒej”        d9eEjN        ¬:¦  «        Z” eId„ej•        d9eEjN        ¬:¦  «        Z•d…„ Z– eId†e–d9eEjN        ¬:¦  «        Z— eId‡ej˜        d9eEj|        ¬:¦  «        Z˜ eIdˆej™        d9eEjN        ¬:¦  «        Z™ eId‰ejš        d9eEjN        ¬:¦  «        Zš eIdŠej›        d9eEjN        ¬:¦  «        Z› eId‹ejœ        d9eEjN        ¬:¦  «        Zœ eIdŒej�        d9eEj|        ¬:¦  «        Z� eId�ejž        d9eEj|        ¬:¦  «        Zž eIdŽejŸ        d9eEjN        ¬:¦  «        ZŸ eId�ejV        j         d9eEjN        ¬:¦  «        Z¡ eId�ejV        j¢        d9eEjN        ¬:¦  «        Z£ eId‘ej¤        d9eEj|        ¬:¦  «        Z¤ eId’ej¥        d9eEj|        ¬:¦  «        Z¥dJe'e"z  d“e'e"z  d1e'fd”„Z¦ eId•e¦d9eEjN        ¬:¦  «        Z§dJe'e"z  d“e'e"z  d1e'fd–„Z¨ eId—e¨d9eEjN        ¬:¦  «        Z© eId˜ejª        d9eEjN        ¬:¦  «        Zª eId™ej«        d9eEj|        ¬:¦  «        Z« eIdšej¬        d9eEjN        ¬:¦  «        Z¬ eId›ej­        d9eEjN        ¬:¦  «        Z­ eIdœej®        d9eEjN        ¬:¦  «        Z® eId�ej¯        d9eEjN        ¬:¦  «        Z° eIdžej±        d9eEjN        ¬:¦  «        Z²eJZ³ eIdŸej´        d9eEjN        ¬:¦  «        Z´ eId ejV        jµ        d9eEjN        ¬:¦  «        ZµdJe'd¡e$d¢e%d£e¶d1e'f
d¤„Z·dJed¡e$d¢e%d£e¶d1ef
d¥„Z¸d¦Z¹ eDd§e·e¸e#jy        e¹¬¨¦  «        ZºdJe'de$d©ee¶         fdª„Z»d«„ Z¼d¬Z½ eDd­e»e¼e#jy        e½¬¨¦  «        Z¾dJed®e¶d¯e¶d1dfd°„Z¿de$d®e¶d¯e¶d1eAe¶d$f         fd±„ZÀdJe'd®e¶d¯e¶d²e?dz  d1eAe$dz  e%dz  f         f
d³„ZÁdJe'd®e¶d¯e¶d1e'fd´„ZÂdJed®e¶d¯e¶d1efdµ„ZÃd¶ZÄ eDd·eÂeÃe#jy        eÄ¬¨¦  «        ZÅdJe'd1e'fd¸„ZÆd¹ZÇ eDdºeÆejÈ        e#jy        eÇ¬¨¦  «        ZÈ	 �drdJe'd»ed1e'fd¼„ZÉdJe'd½e¶d¾e¶d1e'fd¿„ZÊdJed½e¶d¾e¶d1efdÀ„ZËdÁZÌ eDdÂeÊeËe#jy        eÌ¬¨¦  «        ZÍdJe'd»ed1e'fdÃ„ZÎdÄZÏ eDdÅeÎejÐ        e#jy        eÏ¬¨¦  «        ZÐdJe'dÆed1e'fdÇ„ZÑdJedÆed1efdÈ„ZÒdÉZÓ eDdÊeÑeÒe#jy        eÓ¬¨¦  «        ZÔdJe'd1e'fdË„ZÕdJed1efdÌ„ZÖdÍZ× eDdÎeÕeÖe#jy        e×¬¨¦  «        ZØdJe'dej=        d1e'fdÏ„ZÙdJedej=        d1efdÐ„ZÚdÑZÛ eDdÒeÙeÚe#jy        eÛ¬¨¦  «        ZÜdNe'dÓe'd¡e$d¢e%d£e¶d1e'fdÔ„ZÝdÕZÞ eDdÖeÝejß        e#jg        eÞ¬¨¦  «        ZßdJed®e¶d¯e¶d1efd×„ZàdJed®e¶d¯e¶d1efdØ„ZádÙZâ eDdÚeàeáe#jg        eâ¬¨¦  «        ZãdÛee'         d½e¶d1e'fdÜ„ZädÛeAed$f         eåe         z  d½e¶d1efdÝ„ZædÞZç eDdßeäeæe#jg        eç¬¨¦  «        ZèdJe'de$fdà„ZédJede$d1efdá„ZêdâZë eDdãeéeêe#jg        eë¬¨¦  «        ZìdJe'däed1e'fdå„ZídæZî eDdçeíejï        e#jg        eî¬¨¦  «        Zðdèe'dJe'd“e'd1e'fdé„ZñdêZò eDdëeñejó        e#jg        eò¬¨¦  «        ZódJe'dej=        d1e'fdì„ZôdJedej=        d1efdí„ZõdîZö eDdïeôeõe#jg        eöejB        j÷        f¬ð¦  «        Zø	 �dsdJe'de?ej>        z  d1e'fdñ„Zù	 �dsdJede?ej>        z  d1efdò„ZúdóZû eDdôeùeúe#jg        eû¬¨¦  «        ZüdJe'd1e,fdõ„ZýdöZþd÷„ Zÿ eDdøeýeÿe#jg        eþ¬¨¦  «        �Z dej=        d1e,fdù„�Zdej=        fdú„�Zdû�Z eDdü�e�ee#jg        �e¬¨¦  «        �Zdej=        d1e,fdý„�Zdej=        fdþ„�Zdÿ�Z eD�d �e�ee#jg        �e¬¨¦  «        �ZdJe'd“e'f�d„�Z	dJed“ed1ef�d„�Z
�d�Z eD�d�e	�e
e#�j        �edX�¬¦  «        �ZdJe'd¢e$f�d„�ZdJed¢e$d1ef�d„�Z�d�Z eD�d	�e�ee#jg        �e¬¨¦  «        �ZdJe'de$f�d
„�ZdJede$d1ef�d„�Z�d�Z eD�d�e�ee#�j        �e¬¨¦  «        �Zd�dœ�d„�Z�d„ �Z�d�Z�d�Z�d�Z�d�Z�d�Z�d�Zd4e?f�d„�Zd4e?f�d„�Z �e�de�j         �e�¬¦  «        �Z d�dœ�de'däedz  dej=        dz  d1ef�d„�Z! �e�d�e!�e�¬¦  «        �Z"d�dœ�de'däedz  dej=        dz  d1ef�d„�Z# �e�d �e#�e�¬¦  «        �Z$�dt�d"„�Z% �e�d#�e%�e�¬¦  «        �Z& �e�d$e�j'        �e�¬¦  «        �Z' �e�d%e�j(        �e�¬¦  «        �Z(�d&�Z)�d'e¶d®e¶�d(e¶dej=        dej>        �d)eCd1e'f�d*„�Z*�d'e¶d®e¶�d(e¶dej=        dej>        �d)eCd1e'f�d+„�Z+ eD�d,e#jg        �e*�e+�e)¬e¦  «        �Z,de$dej=        dej>        �d)eCd1e'f
�d-„�Z-de$dej=        dej>        �d)eCd1ef
�d.„�Z.�d/�Z/ eD�d0�e-�e.e#jg        �e/¬¨¦  «        �Z0de$de%dej=        dej>        �d)eCd1e'f�d1„�Z1�d2�Z2 eD�d3e#jg        �e1e�j3        �e2¬e¦  «        �Z3de$�d4edej=        dej>        �d)eCd1e'f�d5„�Z4�d6�Z5 eD�d7e#jg        �e4e�j6        �e5¬e¦  «        �Z6de$�d8e"dej=        dej>        �d)eCd1e'f�d9„�Z7de$�d8e"dej=        dej>        �d)eCd1ef�d:„�Z8�d;�Z9 eD�d<�e7�e8e#jg        �e9¬¨¦  «        �Z:dJe'�d8e"dej=        dej>        �d)eCd1e'f�d=„�Z;dJe�d8e"dej=        dej>        �d)eCd1ef�d>„�Z<�d?�Z= eD�d@�e;�e<e#jg        �e=¬¨¦  «        �Z>�dAe"dej=        dej>        d1e'f�dB„�Z?�dAe"dej=        dej>        d1ef�dC„�Z@�dD�ZA eD�dE�e?�e@e#jg        �eA¬¨¦  «        �ZB�dFe'�dGeCd1eAe'e'e'f         f�dH„�ZC�dFe'�dGeCd1eAeeef         f�dI„�ZD�dJ�ZE eD�dK�eC�eDe#jg        e#jg        e#jg        f�eE¬¨¦  «        �ZFd�dLœde$�dM�eG�eHz  �dN�eGdej=        dej>        �d)eC�dOe�jI        dz  d1e'f�dP„�ZJd�dLœde$�dM�eG�eHz  �dN�eGdej=        dej>        �d)eC�dOe�jI        dz  d1ef�dQ„�ZK�dR�ZL eD�dSe#jg        �eJ�eK�eL¬e¦  «        �ZMd�dLœde$�dT�eG�dU�eGdej=        dej>        d¢e$�dOe�jI        dz  d1e'f�dV„�ZNd�dLœde$�dT�eG�dU�eGdej=        dej>        d¢e$�dOe�jI        dz  d1ef�dW„�ZO�dX�ZP eD�dYe#jg        �eN�eO�eP¬e¦  «        �ZQdNe&d½e�dZeCd1e'f�d[„�ZRdNe&d½e�dZeCd1e'f�d\„�ZS�d]�ZT eD�d^�eR�eSe#jg        �eT¬¨¦  «        �ZUdNe&d½e�d_eCd1e'f�d`„�ZVdNe&d½e�d_eCd1e'f�da„�ZW�db�ZX eD�dc�eV�eWe#jg        �eX¬¨¦  «        �ZYdNe&d½e�dde¶d1e'f�de„�ZZdNe&d½e�dde¶d1e'f�df„�Z[�dg�Z\ eD�dh�eZ�e[e#jg        �e\¬¨¦  «        �Z]�die'd1eAe'e'f         f�dj„�Z^ eD�dk�e^e#jg        e#jg        fe�j_        d9¬i¦  «        �Z_d1e'f�dl„�Z` eD�dm�e`e#jg        �e`�dn¬i¦  «        �Za�du�do„�Zb eD�dp�ebe#�jc        �eb�dq¬i¦  «        �Zde�je        �jf        � g                    �ed¦  «          e¦   «           e¦   «          dS (v  é    N)ÚCallableÚSequence)ÚEnum)ÚpartialÚreduce)ÚOptionalÚUnion)Ú	sym_floatÚTensor)Ú_get_default_device©Únew_token_tensor)Úis_functional_schema)Úregister_debug_prims)Úregister_rng_prims)ÚDimÚDimsSequenceTypeÚDimsTypeÚIntLikeÚNumberÚ
NumberTypeÚRETURN_TYPEÚ	ShapeTypeÚ
StrideTypeÚ
TensorLikeÚTensorLikeTypeÚtype_to_dtype©Úbackwards_not_supported)Ú
FakeTensorÚFakeTensorMode)Úhandle_torch_functionÚhas_torch_function)Útree_flattenÚtree_mapÚtree_unflattenÚprimsÚDEFÚIMPLÚCompositeExplicitAutogradÚBackendSelectÚAutogradÚMeta)r   ÚabsÚacosÚacoshÚasinÚasinhÚatanÚatanhÚcosÚcoshÚ	bessel_i0Ú
bessel_i0eÚ	bessel_i1Ú
bessel_i1eÚ	bessel_j0Ú	bessel_j1Úbitwise_notÚcbrtÚceilÚconj_physicalÚdigammaÚerfÚerf_invÚerfcÚerfcxÚexpÚexpm1Úexp2ÚfillÚfloorÚimagÚisfiniteÚlgammaÚlogÚlog1pÚlog2Úlog10ÚndtriÚnegÚrealÚ
reciprocalÚroundÚsignÚsignbitÚsinÚsinhÚspherical_bessel_j0ÚsqrtÚtanÚtanhÚtruncÚaddÚatan2Úbitwise_andÚ
bitwise_orÚbitwise_xorÚdivÚeqÚfmaxÚfminÚfmodÚfrexpÚgcdÚgeÚgtÚhypotÚigammaÚigammacÚleÚltÚmaximumÚminimumÚmulÚneÚ	nextafterÚpowÚ	remainderÚrsqrtÚ
shift_leftÚshift_right_arithmeticÚshift_right_logicalÚsubÚzetaÚ
as_stridedÚbroadcast_in_dimÚcollapse_viewÚconjÚexpand_dimsÚsliceÚ	split_dimÚsqueezeÚ	transposeÚview_ofÚview_element_typeÚas_strided_scatterÚcollapseÚcatÚreshapeÚrevÚwhereÚcloneÚconvert_element_typeÚ
device_putÚitemÚmaximum_valueÚminimum_valueÚcopy_stridedÚcopy_toÚresizeÚamaxÚaminÚprodÚsumÚxor_sumÚvarÚempty_stridedÚempty_permutedÚscalar_tensorÚiotaÚsvdÚnormalÚ_uniform_helperÚfft_r2cÚfft_c2cÚfft_c2rÚ_make_tokenÚ_sink_tokens©ÚshapeÚstridesÚdtypeÚdeviceÚ
tensorliker­   r®   r¯   r°   c                óÚ  — t          | t          ¦  «        r¡|r4t          |t          ¦  «        st          dt	          |¦  «        › �¦  «        ‚|r4t          |t          ¦  «        st          dt	          |¦  «        › �¦  «        ‚d}d}t          t	          | ¦  «        ¦  «        }t          j        d¦  «        }nÃ| �}t          | t          j        ¦  «        st          dt	          | ¦  «        › �¦  «        ‚t          | j
        ¦  «        }t          |                      ¦   «         ¦  «        }| j        }| j        }nD|€t          d¦  «        ‚|€t          d¦  «        ‚|€t          d¦  «        ‚|€t          d	¦  «        ‚|€|nt          |¦  «        }|€|nt          |¦  «        }|€|n|}|€|n|}t          |t          ¦  «        rt          j        |¦  «        }t          j        ||||¬
¦  «        S )Nz7shape must be None or a Sequence for Number input, got z9strides must be None or a Sequence for Number input, got © Úcpuz%tensorlike must be torch.Tensor, got z.shape must be provided when tensorlike is Nonez0strides must be provided when tensorlike is Nonez.dtype must be provided when tensorlike is Nonez/device must be provided when tensorlike is None©r¯   r°   )Ú
isinstancer   r   ÚAssertionErrorÚtyper   Útorchr°   r   Útupler­   Ústrider¯   Ústrr    )	r±   r­   r®   r¯   r°   Úinferred_shapeÚinferred_stridesÚinferred_dtypeÚinferred_devices	            úCC:\Projects\DSCons\.venv\Lib\site-packages\torch\_prims\__init__.pyÚ
TensorMetarÂ   à   s  € õ �*�fÑ%Ô%ð #TØð 	� E­8Ñ4Ô4ð 	Ý ØWÍ$ÈuÉ+Ì+ÐWÐWñô ð ð ð 	�: g­xÑ8Ô8ð 	Ý Ø[ÍDÐQXÉMÌMÐ[Ð[ñô ð ð +-ˆØ,.ÐÝ&¥t¨JÑ'7Ô'7Ñ8Ô8ˆÝœ, uÑ-Ô-ˆˆð 
Ð	Ý˜*¥e¤lÑ3Ô3ð 	Ý ØJ½¸ZÑ8HÔ8HÐJÐJñô ð õ ˜zÔ/Ñ0Ô0ˆÝ  ×!2Ò!2Ñ!4Ô!4Ñ5Ô5ÐØ#Ô)ˆØ$Ô+ˆˆð ˆ=Ý Ð!QÑRÔRÐRØˆ?Ý Ð!SÑTÔTÐTØˆ=Ý Ð!QÑRÔRÐRØˆ>Ý Ð!RÑSÔSÐSà#˜mˆNˆNµ°u±´€EØ") /ÐÐµu¸W±~´~€GØ#˜mˆNˆN°€EØ & ˆ_ˆ_°F€Få�&�#ÑÔð &Ý”˜fÑ%Ô%ˆåÔ˜u g°UÀ6ÐJÑJÔJÐJó    F)ÚtagsÚuse_old_custom_ops_apiÚregister_conj_neg_fallthroughÚschemaÚreturn_type.ÚmetaÚ	impl_atenÚdocrÄ   rÅ   rÆ   c                 ó¬  ‡‡‡‡‡‡— ˆˆfd„Šˆfd„}ˆˆfd„}	|                       dd¬¦  «        d         }
| t          |
¦  «        d…         } t          j                             |
| z   ¦  «        }|st          |¦  «        s€t                               |
| z   t          j        j	        ¬	¦  «         t                               |
‰¦  «         t                               |
|¦  «         t                               |
‰¦  «         nÁd
„ |j        D ¦   «         }t          j                             d|
z   ‰t#          |¦  «        | ¬¦  «        }|                     ‰¦  «         |t&          j        k    s|rV|j                             |
t          j        j        d¦  «         |j                             |
t          j        j        d¦  «         t/          t          j        j        j        |
¦  «        }|j        Š|r|‰_        nÕt/          t          j        j        |
d¦  «        x}r³d„ |                     ¦   «         D ¦   «         }t?          |d         ¦  «        Š ‰j         |dd…         Ž  ‰ !                    t          j        j"        ¦  «         ‰ !                    t          j        j#        ¦  «         t#          ˆfd„|d         D ¦   «         ¦  «        ‰_        ddl$m%Š tM          ˆfd„‰j'        j        D ¦   «         ¦  «        rtQ          ‰¦  «        dk    rtR                               |
|	¦  «         |‰fD ],}||_*        ||_+        | |_,        ‰|_
        ‰|_        ‰|_-        Œ-‰S )z)
    Creates a primitive operation.

    c                  ó$   •—  ‰| i |¤Ž  ‰| i |¤ŽS ©Nr³   )ÚargsÚkwargsrÊ   rÉ   s     €€rÁ   Ú
_prim_implz_make_prim.<locals>._prim_impl(  s/   ø€ ð 	ˆˆdÐ�fÐÐÐØˆy˜$Ð) &Ð)Ð)Ð)rÃ   c                  ó.   •—  t          ‰¦  «        | i |¤ŽS rÎ   r   )rÏ   rÐ   Ú_prims     €rÁ   Ú_autograd_implz"_make_prim.<locals>._autograd_impl3  s!   ø€ Ø-Õ& uÑ-Ô-¨tÐ>°vÐ>Ð>Ð>rÃ   c                  ó²   •— |                      d¦  «        r|d         j        dk    r ‰| i |¤ŽS t          d„ | D ¦   «         ¦  «        r ‰| i |¤ŽS  ‰| i |¤ŽS )Nr°   rÉ   c              3   ó`   K  — | ])}t          |t          j        ¦  «        o
|j        d k    V — Œ*dS )rÉ   N)r¶   r¹   r°   r¸   )Ú.0Úxs     rÁ   ú	<genexpr>z;_make_prim.<locals>._backend_select_impl.<locals>.<genexpr>9  s:   è è € ÐNÐNÀA�z˜!�Uœ\Ñ*Ô*Ð?¨q¬v¸Ò/?ÐNÐNÐNÐNÐNÐNrÃ   )Úgetr¸   Úany)rÏ   rÐ   rÑ   rÉ   s     €€rÁ   Ú_backend_select_implz(_make_prim.<locals>._backend_select_impl6  s‡   ø€ Ø�:Š:�hÑÔð 	) F¨8Ô$4Ô$9¸VÒ$CÐ$CØ�4˜Ð( Ð(Ð(Ð(ÝÐNÐNÈÐNÑNÔNÑNÔNð 	/Ø�4˜Ð( Ð(Ð(Ð(à�:˜tÐ. vÐ.Ð.Ð.rÃ   ú(é   )Úmaxsplitr   N©rÄ   c                 óB   — g | ]}|j         ®	|j         j        ¯|j        ‘ŒS rÎ   )Ú
alias_infoÚis_writeÚname)r×   Úargs     rÁ   ú
<listcomp>z_make_prim.<locals>.<listcomp>I  s6   € ð 
ð 
ð 
àØŒ~Ð)¨c¬nÔ.EÐ)ð ŒHà)Ð)Ð)rÃ   zprims::)Úmutates_argsrÇ   Ú	ConjugateÚNegativec                 ó   — g | ]	}|j         ‘Œ
S r³   rà   )r×   Úoverloads     rÁ   ræ   z_make_prim.<locals>.<listcomp>`  s   € ÐRÐRÐR¨8˜œÐRÐRÐRrÃ   c              3   ó$   •K  — | ]
}|‰v ¯|V — Œd S rÎ   r³   )r×   ÚtÚtags_intersections     €rÁ   rÙ   z_make_prim.<locals>.<genexpr>k  s.   øè è € ÐRÐR !¸1Ð@QÐ;QÐ;Q˜AÐ;QÐ;QÐ;QÐ;QÐRÐRrÃ   )Úcontains_tensor_typesc              3   ó8   •K  — | ]} ‰|j         ¦  «        V — Œd S rÎ   )r¸   )r×   Úarï   s     €rÁ   rÙ   z_make_prim.<locals>.<genexpr>p  s1   øè è € ÐOÐO°!Ð%Ð% a¤fÑ-Ô-ÐOÐOÐOÐOÐOÐOrÃ   zprims.device_put.default).ÚsplitÚlenr¹   Ú_CÚparse_schemar   ÚprimÚdefineÚTagÚpt2_compliant_tagÚ	prim_implÚimplÚprim_autograd_implÚprim_meta_implÚ	argumentsÚlibraryÚ	custom_oprº   Úregister_faker   ÚVIEWÚ_libÚfallthrough_kernelÚgetattrÚ_opsÚopsr'   ÚdefaultÚ_tagsÚatenÚop_overloadsÚsetÚintersection_updateÚdiscardÚcoreÚdata_dependent_outputÚtorch._subclasses.fake_tensorrï   rÛ   Ú_schemar¼   Úprim_backend_select_implÚ__doc__rÈ   rÇ   rÊ   )rÇ   rÈ   rÉ   rÊ   rË   rÄ   rÅ   rÆ   rÔ   rÜ   rä   Ú
cpp_schemarç   Úprim_defÚ_prim_packetÚaten_packetÚoverload_tagsÚprÓ   rÑ   rï   rî   s     ``              @@@@rÁ   Ú
_make_primr    s�  øøøøøø€ ð *ð *ð *ð *ð *ð *ð?ð ?ð ?ð ?ð ?ð/ð /ð /ð /ð /ð /ð �<Š<˜ aˆ<Ñ(Ô(¨Ô+€DØ•C˜‘I”I�K�KÔ €Fõ ”×&Ò& t¨f¡}Ñ5Ô5€JØð SÕ%9¸*Ñ%EÔ%Eð SÝ�Š�D˜6‘M­¬	Ô(CˆÑDÔDÐDÝ�Š�t˜ZÑ(Ô(Ð(Ý×Ò  nÑ5Ô5Ð5Ý×Ò˜D $Ñ'Ô'Ð'Ð'ð
ð 
à!Ô+ð
ñ 
ô 
ˆõ
 ”=×*Ò*Ø˜ÑØÝ˜|Ñ,Ô,Øð	 +ñ 
ô 
ˆð 	×Ò˜tÑ$Ô$Ð$ð �+Ô*Ò*Ð*Ð.KÐ*ØŒM×Ò˜t¥U¤]Ô%EÀ{ÑSÔSÐSØŒM×Ò˜t¥U¤]Ô%EÀzÑRÔRÐRå�5œ:œ>Ô/°Ñ6Ô6€LØÔ €EØð SØˆŒˆÝ¥¤	¤°°dÑ;Ô;Ð	;ˆð SØRÐR°{×7OÒ7OÑ7QÔ7QÐRÑRÔRˆÝ ¨aÔ 0Ñ1Ô1ÐØ-ÐÔ-¨}¸Q¸R¸RÔ/@ÐAÐAð 	×!Ò!¥%¤)¤.Ñ1Ô1Ð1ð 	×!Ò!¥%¤)Ô"AÑBÔBÐBõ ÐRÐRÐRÐR }°QÔ'7ÐRÑRÔRÑRÔRˆŒàCÐCÐCÐCÐCÐCõ ÐOÐOÐOÐO°u´}Ô7NÐOÑOÔOÑOÔOðBåØñ
ô 
ð &ò	&ð &õ 	!×%Ò% dÐ,@ÑAÔAÐAà˜EÐ"ð  ð  ˆØˆŒ	Ø#ˆŒàˆŒØ ˆŒØˆÔØˆŒˆà€LrÃ   c                   ó   — e Zd ZdZdZdZdZdS )Ú$ELEMENTWISE_PRIM_TYPE_PROMOTION_KIND)r   )é   )é   )é   N)Ú__name__Ú
__module__Ú__qualname__ÚDEFAULTÚINT_TO_FLOATÚALWAYS_BOOLÚCOMPLEX_TO_FLOATr³   rÃ   rÁ   r  r  …  s%   € € € € € Ø€GØ€LØ€KØÐÐÐrÃ   r  )Úargs_with_fixed_dtypesÚtype_promotionr(  Úreturnc                 ó&  — t          |¦  «        dk    rt          d¦  «        ‚t          j        |Ž  t	          |¦  «        }|�t	          |¦  «        |z   }t          j        |ddiŽ t          j        |ddiŽ t          j        |Ž \  }}t          j        |ddiŽ}d}d}|D ]`}	t          |	t          ¦  «        r%t          j        |	¦  «        s	|	j        } n-|	j        }Œ<t          |	t          ¦  «        rt          |	¦  «        }Œa|€|�t          j        |¦  «        }d}
d}|D ]W}	t          |	t          ¦  «        r't          j        |	¦  «        r
|
€|	j        }
Œ5|	j        }
 nt          |	t          ¦  «        r|€|	}ŒX|
�Û|€t          d¦  «        ‚| t"          j        k    rt&          j        }n„| t"          j        k    r<t          j        |¦  «        st          j        |¦  «        rt'          j        ¦   «         }n8| t"          j        k    r(t          j        |¦  «        rt          j        |¦  «        }|€t          d¦  «        ‚t'          j        |||
|¬¦  «        S d	}t          |t&          j        t&          j        f¦  «        rŠ|D ]v}t          |t>          t@          t&          j        t&          j        f¦  «        st          d
t          |¦  «        › �¦  «        ‚|p t          |t@          t&          j        f¦  «        }Œw|rtC          |¦  «        }tE          |¦  «        S )z˜
    Meta function for elementwise operations that produce outputs in the same dtype
    as their inputs.

    Stride logic is currently incorrect.
    r   z4elementwise operation requires at least one argumentNÚallow_cpu_scalar_tensorsTz.dtype must not be None when device is not Nonez.shape must not be None when device is not None)r°   r¯   Fz.Expected int, float, SymInt, or SymFloat, got )#ró   r·   ÚutilsÚcheck_same_dtypeÚlistÚcheck_same_deviceÚcheck_same_shapeÚ3compute_elementwise_output_logical_to_physical_permÚextract_shaper¶   r   Úis_cpu_scalar_tensorr¯   r   r¸   r   r°   r  r&  r¹   Úboolr%  Úis_integer_dtypeÚis_boolean_dtypeÚget_default_dtyper'  Úis_complex_dtypeÚcorresponding_real_dtyper¡   ÚSymIntÚSymFloatÚintÚfloatr
   rÂ   )r)  r(  rÏ   Úargs_Úl2p_permÚ_r­   r¯   Úscalar_typerå   r°   ÚnumberÚ
seen_floatrñ   s                 rÁ   Ú_prim_elementwise_metarE  �  s9  € õ ˆ4�y„y�A‚~€~ÝÐSÑTÔTÐTå	Ô˜DÐ!Ð!å�‰JŒJ€EØÐ)ÝÐ+Ñ,Ô,¨uÑ4ˆå	Ô˜UÐB¸TÐBÐBÐBÝ	Ô˜EÐA¸DÐAÐAÐAåÔKÈUÐS�K€HˆaÝÔ ÐFÀÐFÐF€Eð €EØ€KØð $ð $ˆÝ�c�:Ñ&Ô&ð 	$ÝÔ-¨cÑ2Ô2ð "Øœ	�Ø�àœ	��Ý˜�VÑ$Ô$ð 	$Ý˜s™)œ)ˆKøà€}˜Ð0ÝÔ# KÑ0Ô0ˆð €FØ€Fàð ð ˆÝ�c�:Ñ&Ô&ð 	ÝÔ)¨#Ñ.Ô.ð Ø�>Ø œZ�Føð œ�Ø�å˜�VÑ$Ô$ð 	Øˆ~Ø�øð
 ÐØˆ=Ý Ð!QÑRÔRÐRØÕAÔMÒMÐMÝ”JˆEˆEØÕCÔPÒPÐPÝÔ% eÑ,Ô,ð 2µÔ0FÀuÑ0MÔ0Mð 2ÝÔ/Ñ1Ô1�øØÕCÔTÒTÐTÝÔ% eÑ,Ô,ð >ÝÔ6°uÑ=Ô=�àˆ=Ý Ð!QÑRÔRÐRÝÔ# E¨8¸FÈ%ÐPÑPÔPÐPð €JÝ�&�5œ<­¬Ð8Ñ9Ô9ð 'Øð 	Nð 	NˆAÝ˜a¥#¥u­e¬l½E¼NÐ!KÑLÔLð Ý$ØNÅTÈ!ÁWÄWÐNÐNñô ð ð $ÐM¥z°!µe½U¼^Ð5LÑ'MÔ'MˆJˆJØð 	'Ý˜vÑ&Ô&ˆFå�fÑÔÐrÃ   c                  ó€   — t          j        t          j        | d         j        ¦  «        d„ ¦  «         t          | i |¤ŽS )Nr   c                  ó   — dS )NzOnly complex dtype is supportedr³   r³   rÃ   rÁ   ú<lambda>z0_complex_only_elementwise_meta.<locals>.<lambda>ñ  s   € Ð7X€ rÃ   )r¹   Ú_checkr-  r9  r¯   rE  ©rÏ   rÐ   s     rÁ   Ú_complex_only_elementwise_metarK  ï  sE   € Ý	„LÝÔ˜t Aœwœ}Ñ-Ô-Ð/XÐ/Xñô ð õ " 4Ð2¨6Ð2Ð2Ð2rÃ   rä   c                ód   — t          d| › d�t          t          |¬¦  «        t          j        dœ|¤ŽS )z,
    Creates an elementwise unary prim.
    z(Tensor self) -> Tensor©r)  ©rÇ   rÉ   rÈ   r³   ©r  r   rE  r   ÚNEW©rä   r)  rÐ   s      rÁ   Ú_make_elementwise_unary_primrR  ö  sL   € õ ð ØÐ/Ð/Ð/ÝÕ+¸NÐKÑKÔKÝ”Oðð ð ð	ð ð rÃ   c                ód   — t          d| › d�t          t          |¬¦  «        t          j        dœ|¤ŽS )z-
    Creates an elementwise binary prim.
    z%(Tensor self, Tensor other) -> TensorrM  rN  r³   rO  rQ  s      rÁ   Ú_make_elementwise_binary_primrT    sL   € õ ð ØÐ=Ð=Ð=ÝÕ+¸NÐKÑKÔKÝ”Oðð ð ð	ð ð rÃ   c                  ó   — t           ‚rÎ   ©ÚNotImplementedErrorrJ  s     rÁ   Ú	_not_implrX    s   € Ý
ÐrÃ   r.   Ú )rÊ   rË   r)  r/   r0   r1   r2   r3   r4   r5   r6   r;   r<   r7   r8   r9   r:   r=   rñ   c                 óÈ   — t          j        |                      ¦   «          d„ ¦  «         t          j        t          j        |                      ¦   «         d¦  «        | ¦  «        S )Nc                  ó   — dS )NzJcbrt: Complex inputs not supported. Consider calling torch.pow(a, 1.0/3.0)r³   r³   rÃ   rÁ   rH  z_cbrt_aten.<locals>.<lambda>‘  s   € Ð\€ rÃ   gUUUUUUÕ?)r¹   rI  Ú
is_complexÚcopysignrx   r.   ©rñ   s    rÁ   Ú
_cbrt_atenr_  Ž  sR   € Ý	„LØ�LŠL‰NŒNÐØ\Ð\ñô ð õ Œ>�%œ) A§E¢E¡G¤G¨UÑ3Ô3°QÑ7Ô7Ð7rÃ   r>   r?   Úinputc                 ó‚   — | j         j        st          d¦  «        ‚t          j        | ¦  «        }t          | |¬¦  «        S )Nz6prims.conj_physical is only defined for complex dtypes)r®   )r¯   r\  ÚRuntimeErrorr-  Ú"compute_elementwise_output_stridesrÂ   )r`  r®   s     rÁ   Ú_conj_physical_metard  «  sB   € ØŒ;Ô!ð UÝÐSÑTÔTÐTåÔ6°uÑ=Ô=€GÝ�e WÐ-Ñ-Ô-Ð-rÃ   z$conj_physical(Tensor self) -> Tensorz4Returns the physical conjugation of a complex tensor)rÇ   rÉ   rÊ   rË   rÈ   ©Úmemory_formatrf  c                óþ   — |t           j        k    r-t          j        | j        | j        | j        | j        |¬¦  «        S t          j        | ¦  «        }t          j	        | j        || j        | j        | j        ¬¦  «        S )N)r¯   Úlayoutr°   rf  )r¯   rh  r°   )
r¹   Úpreserve_formatÚemptyr­   r¯   rh  r°   r-  rc  r    )r`  rf  Úcomputed_strides      rÁ   Ú_clone_metarl  ¼  s…   € ð �Ô-Ò-Ð-ÝŒ{ØŒKØ”+Ø”<Ø”<Ø'ð
ñ 
ô 
ð 	
õ  ÔBÀ5ÑIÔIˆÝÔ"ØŒKØØ”+Ø”<Ø”<ð
ñ 
ô 
ð 	
rÃ   zAclone(Tensor self, *, MemoryFormat? memory_format=None) -> TensorzReturns the copy of a tensorT)rÇ   rÉ   rÊ   rË   rÈ   rÆ   rA   rB   rC   rD   rE   rF   rG   rH   Úvaluec                 ó8   — t          | t          j        ¬¦  «        S )NrM  ©rE  r  r$  )rñ   rm  s     rÁ   Ú
_fill_metarp    s"   € Ý!Ø	Õ>ÔFðñ ô ð rÃ   z)fill(Tensor self, Scalar value) -> Tensor)rÇ   rÈ   rÉ   rÊ   rË   rJ   z!imag(Tensor(a) self) -> Tensor(a)rM  )rÇ   rÉ   rÈ   rÊ   rË   rL   rM   rN   rO   rP   rQ   z!real(Tensor(a) self) -> Tensor(a)rU   rR   rS   rV   rz   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   )rä   rÊ   rË   r)  ra   rb   rc   rd   c                 ó  — t          | t          t          t          j        f¦  «        p2t          | t          j        ¦  «        ot          j        | j        ¦  «        }|rt          j	        | |d¬¦  «        S t          j
        | |¦  «        S )Nr_   )Úrounding_mode)r¶   r5  r=  r¹   r;  r   r-  r6  r¯   re   Útrue_divide)rñ   ÚbÚis_integrals      rÁ   Ú	_div_atenrv  þ  sw   € Ý˜Q¥¥s­E¬LÐ 9Ñ:Ô:ð Ý�1•e”lÑ#Ô#ÐG­Ô(>¸q¼wÑ(GÔ(Gð ð ð 'ÝŒy˜˜A¨WÐ5Ñ5Ô5Ð5åÔ   AÑ&Ô&Ð&rÃ   re   rf   rg   rh   ri   rk   rl   rm   rn   ro   rp   rq   rr   rt  c                 óF  — t          | t          ¦  «        r2t          |t          ¦  «        rt          || j        | j        ¬¦  «        }nFt          |t          ¦  «        r1t          | t          ¦  «        rt          | |j        |j        ¬¦  «        } t          j        | |¦  «        S ©Nrµ   )r¶   r   r   r¢   r¯   r°   r¹   rs   ©rñ   rt  s     rÁ   Ú_maximum_atenrz  h  óŽ   € õ �!•ZÑ Ô ð =¥Z°µ6Ñ%:Ô%:ð =Ý˜! 1¤7°1´8Ð<Ñ<Ô<ˆˆÝ	�A•zÑ	"Ô	"ð =¥z°!µVÑ'<Ô'<ð =Ý˜! 1¤7°1´8Ð<Ñ<Ô<ˆåŒ=˜˜AÑÔÐrÃ   rs   c                 óF  — t          | t          ¦  «        r2t          |t          ¦  «        rt          || j        | j        ¬¦  «        }nFt          |t          ¦  «        r1t          | t          ¦  «        rt          | |j        |j        ¬¦  «        } t          j        | |¦  «        S rx  )r¶   r   r   r¢   r¯   r°   r¹   rt   ry  s     rÁ   Ú_minimum_atenr}  {  r{  rÃ   rt   ru   rv   rw   rx   ry   r{   r|   r~   r   Úsizer»   Ústorage_offsetc                 ó  — t          |¦  «        t          |¦  «        k    r/t          dt          |¦  «        › dt          |¦  «        › �¦  «        ‚|dk     rt          d|› �¦  «        ‚t          j        |¦  «         t          j        |¦  «         t          t          j        |¦  «        dk    rnCt          | t          j
        ¦  «        r)t          j        |                      ¦   «         |||¦  «         t          j        | |||¦  «        S )Nz
len(size)=z != len(stride)=r   z!storage_offset must be >= 0, got )ró   r·   r-  Úvalidate_stridesÚvalidate_shaper   Úoperatorru   r¶   r¹   r   Úcheck_in_bounds_for_storageÚ_typed_storager€   ©rñ   r~  r»   r  s       rÁ   Ú_as_strided_metar‡  Ò  sý   € õ ˆ4�y„y•C˜‘K”KÒÐÝÐR­#¨d©)¬)ÐRÐRÅSÈÁ[Ä[ÐRÐRÑSÔSÐSØ˜ÒÐÝÐQÀÐQÐQÑRÔRÐRÝ	Ô˜6Ñ"Ô"Ð"Ý	Ô˜ÑÔÐå�hŒl˜DÑ!Ô! QÒ&Ð&ð 	Ý	�A•u”|Ñ	$Ô	$ð 
ÝÔ)Ø×ÒÑÔ  f¨nñ	
ô 	
ð 	
õ Ô˜A˜t V¨^Ñ<Ô<Ð<rÃ   c                 ó0   — t          j        | |||¦  «        S rÎ   )r¹   r€   r†  s       rÁ   Ú_as_strided_atenr‰  è  s   € õ Ô˜A˜t V¨^Ñ<Ô<Ð<rÃ   zy
    Creates a view of the tensor with the given shape (size), strides (stride) and
    storage offset (storage_offset).
z]as_strided(Tensor(a!) a, SymInt[] size, SymInt[] stride, SymInt storage_offset) -> Tensor(a!)©rÇ   rÉ   rÊ   rÈ   rË   Úbroadcast_dimensionsc           	      óÒ  ‡ ‡‡‡	‡
— ddl m}m}m} t	          ‰ t
          ¦  «        st          dt          ‰ ¦  «        › �¦  «        ‚t	          ‰t          ¦  «        st          dt          ‰¦  «        › �¦  «        ‚t	          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚‰ j	        t          |¦  «        k    r(t          d‰ j	        › dt          |¦  «        › d�¦  «        ‚t          ‰¦  «        ‰ j	        k     r(t          d	t          ‰¦  «        › d
‰ j	        › d�¦  «        ‚ˆfd„}t          ||d¦  «         t          |¦  «        D ]N\  ŠŠ	t          j         |‰ j        ‰         dk    ‰‰	         ‰ j        ‰         k    ¦  «        ˆ ˆˆ	ˆfd„¦  «         ŒOg }dŠ
t!          t          ‰¦  «        ¦  «        D �]~Š‰|v rá |‰ j        ‰
         dk    ¦  «        rd |‰ j        ‰
         ‰‰         k    ¦  «        r.|                     ‰                      ¦   «         ‰
         ¦  «         ns|                     d¦  «         n]t          j        ‰ j        ‰
         ‰‰         k    ˆ ˆˆ
ˆfd„¦  «         |                     ‰                      ¦   «         ‰
         ¦  «         ‰
dz   Š
Œè |‰‰         dk    ¦  «        r|                     d¦  «         �Œ‰
‰ j	        k    r|                     d¦  «         �Œ6|                     ‰                      ¦   «         ‰
         ‰                      ¦   «         ‰
         z  ¦  «         �Œ€‰                      ‰|‰                      ¦   «         ¦  «        S )Nr   )Úguard_or_falseÚguard_or_trueÚsym_orúa must be TensorLike, got zshape must be a Sequence, got z-broadcast_dimensions must be a Sequence, got za.ndim (z ) != len(broadcast_dimensions) (ú)zlen(shape) (z) must be >= a.ndim (c                 ó  •— t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|| k    rt          d|› d| › �¦  «        ‚|t	          ‰¦  «        k    r"t          d|› dt	          ‰¦  «        › �¦  «        ‚|S )Nz.broadcast_dimensions element must be Dim, got z1broadcast_dimensions must be strictly ascending: z <= zbroadcast_dimension z# out of bounds for shape of length )r¶   r   r·   r¸   ró   )ÚaccrØ   r­   s     €rÁ   Ú_greater_than_reducez4_broadcast_in_dim_meta.<locals>._greater_than_reduce  s¬   ø€ Ý˜!�SÑ!Ô!ð 	Ý ØJÅÀaÁÄÐJÐJñô ð ð �Š8ˆ8Ý ØPÀAÐPÐPÈ3ÐPÐPñô ð ð •�E‘
”
Š?ˆ?Ý ØY qÐYÐYÍSÐQVÉZÌZÐYÐYñô ð ð ˆrÃ   éÿÿÿÿrÞ   c                  ó4   •— ‰ j         ‰         › d‰‰         › �S )Nz must be broadcastable to ©r­   )rñ   ÚidxÚnew_idxr­   s   €€€€rÁ   rH  z(_broadcast_in_dim_meta.<locals>.<lambda>2  s   ø€ �q”w˜s”|ÐOÐO¸uÀW¼~ÐOÐO€ rÃ   c                  ó6   •— d‰ j         ‰         › d‰‰         › �S )Nz#non-broadcasting semantics require z == r—  )rñ   r˜  Úoriginal_idxr­   s   €€€€rÁ   rH  z(_broadcast_in_dim_meta.<locals>.<lambda>C  s&   ø€ ÐiÀ!Ä'È,ÔBWÐiÐiÐ]bÐcfÔ]gÐiÐi€ rÃ   )Ú%torch.fx.experimental.symbolic_shapesr�  rŽ  r�  r¶   r   r·   r¸   r   Úndimró   r   Ú	enumerater¹   rI  r­   ÚrangeÚappendr»   r~  r€   r  )rñ   r­   r‹  r�  rŽ  r�  r”  Únew_stridesr˜  r™  r›  s   ``      @@@rÁ   Ú_broadcast_in_dim_metar¢  ü  sÏ  øøøøø€ ðð ð ð ð ð ð ð ð ð õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�e�XÑ&Ô&ð MÝÐK½dÀ5¹k¼kÐKÐKÑLÔLÐLÝÐ*­HÑ5Ô5ð 
ÝØX½DÐAUÑ<VÔ<VÐXÐXñ
ô 
ð 	
ð
 	„v•Ð)Ñ*Ô*Ò*Ð*ÝØ[�q”vÐ[Ð[½sÐCWÑ?XÔ?XÐ[Ð[Ð[ñ
ô 
ð 	
õ
 ˆ5�z„z�A”FÒÐÝÐV­C°©J¬JÐVÐVÈQÌVÐVÐVÐVÑWÔWÐWð
ð ð ð ð õ  ÐÐ!5°rÑ:Ô:Ð:õ "Ð"6Ñ7Ô7ð 
ð 
‰ˆˆWÝŒØˆF�1”7˜3”< 1Ò$ e¨G¤n¸¼À¼Ò&DÑEÔEØOÐOÐOÐOÐOÐOÐOñ	
ô 	
ð 	
ð 	
ð
 €KØ€LÝ•S˜‘Z”ZÑ Ô ð Vñ VˆØÐ&Ð&Ð&ð ˆ~˜aœg lÔ3°qÒ8Ñ9Ô9ð 
=Ø!�> !¤'¨,Ô"7¸5À¼:Ò"EÑFÔFð *Ø×&Ò& q§x¢x¡z¤z°,Ô'?Ñ@Ô@Ð@Ð@à×&Ò& qÑ)Ô)Ð)Ð)å”Ø”G˜LÔ)¨U°3¬ZÒ7ØiÐiÐiÐiÐiÐiÐiñô ð ð ×"Ò" 1§8¢8¡:¤:¨lÔ#;Ñ<Ô<Ð<Ø'¨!Ñ+ˆLˆLàˆ}˜U 3œZ¨1š_Ñ-Ô-ð Và×"Ò" 1Ñ%Ô%Ð%Ñ%Ø ¤Ò'Ð'Ø×"Ò" 1Ñ%Ô%Ð%Ñ%à×"Ò" 1§8¢8¡:¤:¨lÔ#;¸a¿fºf¹h¼hÀ|Ô>TÑ#TÑUÔUÐUÑUà�<Š<˜˜{¨A×,<Ò,<Ñ,>Ô,>Ñ?Ô?Ð?rÃ   c                 óÂ   — t          |¦  «        }|D ]}d||<   Œ| }t          |¦  «        D ] \  }}|dk    r|                     |¦  «        }Œ!|                     |¦  «        S ©Nr•  )r/  rž  Ú	unsqueezeÚexpand)rñ   r­   r‹  ÚsÚbroadcast_dimensionÚvr˜  rØ   s           rÁ   Ú_broadcast_in_dim_atenrª  S  st   € ÝˆU‰Œ€AØ3ð $ð $ÐØ!#ˆÐ
ÑÐà	€AÝ˜A‘,”,ð !ð !‰ˆˆQØ�Š7ˆ7Ø—’˜CÑ Ô ˆAøà�8Š8�E‰?Œ?ÐrÃ   aD  
  Creates a view of a with the specified shape.

  Allows adding dimensions of any length and broadcasting
  dimensions of length one in a to any length.

  The location of the broadcast dimensions must be specified
  using the broadcast_dimensions argument. Changing the
  relative order of dimensions is not supported.
  zVbroadcast_in_dim(Tensor(a) a, SymInt[] shape, int[] broadcast_dimensions) -> Tensor(a)ÚstartÚendc                 óÜ   ‡‡— t          d|                      ¦   «         ¦  «        }t          j        |‰¦  «         t          j        |‰¦  «         t	          j        ‰‰k    ˆˆfd„¦  «         d S )NrÞ   c                  ó   •— d‰ › d‰› d�S )Nz Attempting to collapse but end, z, is less than start, ú!r³   )r¬  r«  s   €€rÁ   rH  z)_validate_collapse_args.<locals>.<lambda>~  s   ø€ ÐV°3ÐVÐVÈeÐVÐVÐV€ rÃ   )ÚmaxÚdimr-  Úvalidate_idxr¹   Ú_check_value)rñ   r«  r¬  r�  s    `` rÁ   Ú_validate_collapse_argsr´  t  sv   øø€ åˆq�!—%’%‘'”'‰?Œ?€DÝ	Ô�t˜UÑ#Ô#Ð#Ý	Ô�t˜SÑ!Ô!Ð!õ 
ÔØˆuŠØVÐVÐVÐVÐVñô ð ð ð rÃ   c                 ó°   — t          | ¦  «        dk    rdnt          | ¦  «        } d}| ||dz   …         D ]}||z  }Œ| d|…         |fz   | |dz   d…         z   S )zZ
    Returns the shape of a with dims in [start, end) merged into a single dimension.
    r   ©rÞ   rÞ   N)ró   rº   )r­   r«  r¬  Ú
dim_lengthr§  s        rÁ   Ú_collapsed_shaper¸  ‚  st   € õ
 ˜‘J”J !’O�OˆDˆD­¨u©¬€Eà€JØ�5˜3 ™7�?Ô#ð $ð $ˆØ !‘^ˆ
ˆ
à��5�Œ>˜Z˜MÑ)¨E°#¸±'°)°)Ô,<Ñ<Ð<rÃ   Úmust_be_validc                 ó
  ‡— t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚ddlm}m}m}m} t          | ||¦  «         | j
        dk    rd}d}	n| j        }|                      ¦   «         }	| j
        dk    s||k    r||	fS d}
 ||                      ¦   «         dk    ¦  «        rvt          |dz
  |dz
  d¦  «        D ]^} ||
 |||         dk    ||dz            dk    |	|         |	|dz            ||dz            z  k    ¦  «        ¦  «        }
 ||
du ¦  «        r nŒ_ ||
|                      ¦   «         dk    ¦  «        }
‰rt          j        |
ˆfd	„¦  «         n ||
¦  «        sd
S |	|         }t          |dz
  |dz
  d¦  «        D ]$}||         dk    rt#          ||	|         ¦  «        }Œ%||         } ||dk    ¦  «        rAt          |dz
  |dz
  d¦  «        D ](} |||         dk    ¦  «        rd}d} n|||         z  }Œ)nd}|d |…         |fz   ||dz   d …         z   }|	d |…         |fz   |	|dz   d …         z   } ||                      ¦   «         dk    ¦  «        rt%          j        |¦  «        }||fS )Nr�  r   )r�  rŽ  Úsym_andr�  r¶  TrÞ   r•  Fc                  ó   •— ‰ S rÎ   r³   )r¹  s   €rÁ   rH  z'_collapse_view_helper.<locals>.<lambda>Ã  s   ø€  }€ rÃ   )NN)r¶   r   r·   r¸   rœ  r�  rŽ  r»  r�  r´  r�  r­   r»   ÚnumelrŸ  r¹   rI  Úminr-  Úmake_contiguous_strides_for)rñ   r«  r¬  r¹  r�  rŽ  r»  r�  r­   r®   Úvalid_opr˜  r»   ÚlengthÚ	new_shaper¡  s      `            rÁ   Ú_collapse_view_helperrÃ  •  sQ  ø€ õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDðð ð ð ð ð ð ð ð ð ð ð õ ˜A˜u cÑ*Ô*Ð*ð 	„v�‚{€{ØˆØˆˆà”ˆØ—(’(‘*”*ˆà„v�‚{€{�s˜e’|�|Ø�gˆ~Ðà€HØ€~�a—g’g‘i”i 1’nÑ%Ô%ð Ý˜˜q™ %¨!¡)¨RÑ0Ô0ð 	ð 	ˆCØ�wØØ�Ø˜#”J !’OØ˜# ™'”N aÒ'Ø˜C”L G¨C°!©GÔ$4°u¸SÀ1¹W´~Ñ$EÒEñô ñô ˆHð ˆ~˜h¨%Ð/Ñ0Ô0ð Ø�ðð ˆv�h §¢¡	¤	¨Q¢Ñ/Ô/€Hàð ÝŒ�XÐ4Ð4Ð4Ð4Ñ5Ô5Ð5Ð5àˆ~˜hÑ'Ô'ð 	Ø�:ð �SŒ\€FÝ�S˜1‘W˜e a™i¨Ñ,Ô,ð /ð /ˆØ�Œ:˜Š?ˆ?õ ˜ ¨¤Ñ.Ô.ˆFøð �3ŒZ€FØ€}�V˜q’[Ñ!Ô!ð Ý˜˜q™ %¨!¡)¨RÑ0Ô0ð 	)ð 	)ˆCØˆ~˜e Cœj¨AšoÑ.Ô.ð Ø�Ø�Ø�Ø˜e CœjÑ(ˆFˆFøàˆà�f�u�f”  	Ñ)¨E°#¸±'°)°)Ô,<Ñ<€IØ˜&˜5˜&”/ V IÑ-°¸¸a¹¸	¸	Ô0BÑB€Kð €~�a—g’g‘i”i 1’nÑ%Ô%ð CÝÔ7¸	ÑBÔBˆà�kÐ!Ð!rÃ   c                 óÂ   — t          | ||d¦  «        \  }}|€t          d¦  «        ‚|€t          d¦  «        ‚|                      |||                      ¦   «         ¦  «        S )Nz?Attempting to view a collapsed tensor, but no such view exists!z:new_strides should not be None after _collapse_view_helperz8new_shape should not be None after _collapse_view_helper)rÃ  r·   r€   r  )rñ   r«  r¬  rÂ  r¡  s        rÁ   Ú_collapse_view_metarÅ  è  sv   € Ý2Ø	ˆ5�#ÐXñô Ñ€Iˆ{ð ÐÝØHñ
ô 
ð 	
ð ÐÝÐWÑXÔXÐXØ�<Š<˜	 ;°×0@Ò0@Ñ0BÔ0BÑCÔCÐCrÃ   c                 óX   — t          | j        ||¦  «        }|                      |¦  «        S rÎ   )r¸  r­   Úview©rñ   r«  r¬  rÂ  s       rÁ   Ú_collapse_view_atenrÉ  õ  s'   € Ý  ¤¨%°Ñ5Ô5€IØ�6Š6�)ÑÔÐrÃ   a©  
  Creates a view of a with the dimensions between
  start (inclusive) and end (exclusive) merged into a
  single dimension.

  If it's not possible to take such a view then an error
  is thrown. See collapse instead.

  The dimensions can be merged if and only if
  they are all "nested" with each other. That is, they all
  have the property that

  stride[i] = stride[i+1] * shape[i+1]

  for all i in [start, end - 1).
  z;collapse_view(Tensor(a) a, int start, int end) -> Tensor(a)c                 ó"  — | j         j        st          d¦  «        ‚|                      | j        |                      ¦   «         |                      ¦   «         ¦  «        }t          j         	                    ||  
                    ¦   «          ¦  «         |S )Nz$Expected complex dtype in prims.conj)r¯   r\  rb  r€   r­   r»   r  r¹   rô   Ú	_set_conjÚis_conj)rñ   Úouts     rÁ   Ú
_conj_metarÎ    sq   € ØŒ7Ôð CÝÐAÑBÔBÐBØ
�,Š,�q”w §¢¡
¤
¨A×,<Ò,<Ñ,>Ô,>Ñ
?Ô
?€CÝ	„H×Ò�s §	¢	¡¤˜OÑ,Ô,Ð,Ø€JrÃ   z2
Returns a conjugated view of the original tensor
zconj(Tensor(a) a) -> Tensor(a)Ú
dimensionsc                 ó  ‡— |�#t          t          j        |‰¦  «        ¦  «        }n't          t          j        | j        ‰¦  «        ¦  «        }t	          t          |¦  «        ¦  «        t	          |¦  «        k    r!dt          ‰¦  «        › �}t          |¦  «        ‚t          | j	        ¦  «        }|D ]}| 
                    |d¦  «         Œˆfd„t          t	          |¦  «        ¦  «        D ¦   «         }t          | ||¦  «        S )z˜
    Creates a view of a with a.ndim + len(dimensions) dimensions, with new
    dimensions of length one at the dimensions specified by dimensions.
    Nz+Received duplicate dimensions to expand in rÞ   c                 ó   •— g | ]}|‰v¯|‘Œ	S r³   r³   )r×   r˜  rÏ  s     €rÁ   ræ   zexpand_dims.<locals>.<listcomp>=  s*   ø€ ð ð ð Ø°¸:Ð0EÐ0EˆÐ0EÐ0EÐ0ErÃ   )Úsortedr-  Úcanonicalize_dimsr�  ró   r  r¼   Ú
ValueErrorr/  r­   ÚinsertrŸ  r�   )rñ   rÏ  r�  ÚdimsÚmsgrÂ  r˜  r‹  s    `      rÁ   r„   r„   )  s   ø€ ð Ðå•eÔ-¨d°JÑ?Ô?Ñ@Ô@ˆˆå•eÔ-¨a¬f°jÑAÔAÑBÔBˆÝ
�3ˆt‰9Œ9�~„~�˜T™œÒ"Ð"ØM½CÀ
¹O¼OÐMÐMˆÝ˜‰oŒoÐå�Q”W‘”€IØð !ð !ˆØ×Ò˜˜aÑ Ô Ð Ð ðð ð ð Ý�S ™^œ^Ñ,Ô,ðñ ô Ðõ ˜A˜yÐ*>Ñ?Ô?Ð?rÃ   r±  Úouter_lengthc                 óF  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        | j        |¦  «         t	          j        |¦  «         | j        |         |z  }| j        |         |z  dk    r#d| j        |         › d|› d�}t          |¦  «        ‚g }g }t          | j        ¦  «        D ]·}||k    rb|                     ||f¦  «         |                     |                      ¦   «         |         |z  |                      ¦   «         |         f¦  «         Œj|                     | j        |         ¦  «         |                     |                      ¦   «         |         ¦  «         Œ¸|                      |||                      ¦   «         ¦  «        S )Nr�  r   z(Attempting to split dimension of length z, but outer length of z divides it with a remainder!)r¶   r   r·   r¸   r-  r²  r�  Úvalidate_dim_lengthr­   rÔ  rŸ  Úextendr»   r   r€   r  )rñ   r±  rØ  Úinner_lengthr×  rÂ  r¡  r˜  s           rÁ   Ú_split_dim_metarÝ  C  s�  € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ	Ô�q”v˜sÑ#Ô#Ð#Ý	Ô˜lÑ+Ô+Ð+ð ”7˜3”< <Ñ/€Là	Œ�Œ�|Ñ#¨Ò)Ð)ðO°q´w¸s´|ð Oð OØ#/ðOð Oð Oð 	õ ˜‰oŒoÐà€IØ€KÝ�Q”V‰}Œ}ð 0ð 0ˆØ�#Š:ˆ:Ø×Ò˜l¨LÐ9Ñ:Ô:Ð:Ø×Ò §¢¡
¤
¨3¤°,Ñ >ÀÇÂÁ
Ä
È3ÄÐPÑQÔQÐQÐQà×Ò˜QœW Sœ\Ñ*Ô*Ð*Ø×Ò˜qŸxšx™zœz¨#œÑ/Ô/Ð/Ð/à�<Š<˜	 ;°×0@Ò0@Ñ0BÔ0BÑCÔCÐCrÃ   c                 óš   — | j         |         |z  }| j         d|…         ||fz   | j         |dz   d …         z   }|                      |¦  «        S )Nr   rÞ   )r­   rÇ  )rñ   r±  rØ  rÜ  rÂ  s        rÁ   Ú_split_dim_atenrß  `  sQ   € Ø”7˜3”< <Ñ/€LØ”˜˜#˜” ,°Ð!=Ñ=ÀÄÈÈaÉÈ	È	Ô@RÑR€Ià�6Š6�)ÑÔÐrÃ   zù
  Creates a view of a with the given dimension (of length l) split
  into two dimensions, with the outer of the two having
  length outer_length and the inner of the two having computed
  length inner_length such outer_length * inner_length = l.
  zAsplit_dim(Tensor(a) a, int dim, SymInt outer_length) -> Tensor(a)c                 óR  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚|D ]N}t	          j        | j        |¦  «         | j        |         dk    r!t          d|› d| j        |         › d�¦  «        ‚ŒOg }g }t          t          | j        ¦  «        ¦  «        D ]T}||v rŒ| 
                    | j        |         ¦  «         | 
                    |                      ¦   «         |         ¦  «         ŒU|                      |||                      ¦   «         ¦  «        S )Nr�  rÞ   zCannot squeeze dimension z with size z (must be 1))r¶   r   r·   r¸   r-  r²  r�  r­   rŸ  ró   r   r»   r€   r  )rñ   rÏ  r˜  rÂ  r¡  s        rÁ   Ú_squeeze_metará  y  s2  € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDàð ð ˆÝÔ˜1œ6 3Ñ'Ô'Ð'ØŒ7�3Œ<˜1ÒÐÝ ØV¨CÐVÐV¸A¼GÀC¼LÐVÐVÐVñô ð ð ð
 €IØ€KÝ•S˜œ‘\”\Ñ"Ô"ð ,ð ,ˆØ�*ÐÐØà×Ò˜œ œÑ&Ô&Ð&Ø×Ò˜1Ÿ8š8™:œ: cœ?Ñ+Ô+Ð+Ð+à�<Š<˜	 ;°×0@Ò0@Ñ0BÔ0BÑCÔCÐCrÃ   z~
  Creates a view of the tensor with the specified dimensions removed.

  The removed dimensions must each have length one.
  z3squeeze(Tensor(a) a, int[] dimensions) -> Tensor(a)Úpermutationc                 ó  — | j         t          |¦  «        k    r*d| j         › dt          |¦  «        › d�}t          |¦  «        ‚t          j        | j         |¦  «        sd|› d�}t          |¦  «        ‚dg| j         z  }dg| j         z  }t          |¦  «        D ]2\  }}| j        |         ||<   |                      ¦   «         |         ||<   Œ3|                      t          |¦  «        t          |¦  «        |  
                    ¦   «         ¦  «        S )Nz'Attempting to permute a tensor of rank z', but received a permutation of length r¯  z!Received an invalid permutation, r   )r�  ró   rÔ  r-  Úis_valid_permutationrž  r­   r»   r€   rº   r  )rñ   râ  r×  rÂ  r¡  r˜  r±  s          rÁ   Ú_transpose_metarå  Ÿ  s	  € Ø„v•�[Ñ!Ô!Ò!Ð!Øz¸¼ÐzÐzÕgjÐkvÑgwÔgwÐzÐzÐzˆÝ˜‰oŒoÐåÔ% a¤f¨kÑ:Ô:ð Ø@°+Ð@Ð@Ð@ˆÝ˜‰oŒoÐà��a”f‘€IØ�#˜œ‘,€KÝ˜kÑ*Ô*ð +ð +‰ˆˆSØœ œˆ	�#‰ØŸ8š8™:œ: cœ?ˆ�CÑÐà�<Š<�˜iÑ(Ô(­%°Ñ*<Ô*<¸a×>NÒ>NÑ>PÔ>PÑQÔQÐQrÃ   c                 ó,   — t          j        | |¦  «        S rÎ   )r¹   Úpermute)rñ   râ  s     rÁ   Ú_transpose_atenrè  ±  s   € ÝŒ=˜˜KÑ(Ô(Ð(rÃ   zì
    Creates a view of the tensor with its dimensions permuted.

    The length of the permutation must be the rank of the tensor,
    and each element of the permutation specifies the new order
    for the corresponding dimension.
    z6transpose(Tensor(a) a, int[] permutation) -> Tensor(a)c                 ó‚   — |                       | j        |                      ¦   «         |                      ¦   «         ¦  «        S rÎ   )r€   r­   r»   r  r^  s    rÁ   Ú_view_of_metarê  Æ  s.   € Ø�<Š<˜œ §¢¡¤¨Q×-=Ò-=Ñ-?Ô-?Ñ@Ô@Ð@rÃ   c                 ó6   — |                       | j        ¦  «        S rÎ   )rÇ  r­   r^  s    rÁ   Ú_view_of_atenrì  Ê  s   € Ø�6Š6�!”'‰?Œ?ÐrÃ   z'
    Creates a view of the tensor.
    z!view_of(Tensor(a) a) -> Tensor(a)c                 ó,   — |                       |¦  «        S rÎ   ©rÇ  ©rñ   r¯   s     rÁ   Ú_view_element_type_metarð  Û  ó   € Ø�6Š6�%‰=Œ=ÐrÃ   c                 ó,   — |                       |¦  «        S rÎ   rî  rï  s     rÁ   Ú_view_element_type_atenró  ß  rñ  rÃ   z>
    Creates a view of the tensor with a different dtype.
    z9view_of_dtype(Tensor(a) a, ScalarType dtype) -> Tensor(a)Úsrcc                 óx  ‡ ‡‡‡‡‡— t          j        ‰¦  «         t          j        ‰¦  «         t          j        ‰‰‰¦  «        Št	          j        ‰                      ¦   «         ‰k    ˆ ˆˆˆˆfd„¦  «         t	          j        t          j        ‰j        ‰¦  «        ˆˆfd„¦  «         t          j	        ‰ ¦  «        S )Nc                  óÈ   •— d‰› d‰› d‰› d‰                       ¦   «         › d‰‰                       ¦   «         z  › d‰                      ¦   «         ‰                       ¦   «         z  › �S )Nzas_strided_scatter: sizes z
, strides z, storage offset z  and itemsize z requiring a storage size of z' are out of bounds for storage of size )Úelement_sizer½  )r`  Úrequired_sizer~  r  r»   s   €€€€€rÁ   rH  z*_as_strided_scatter_meta.<locals>.<lambda>  sž   ø€ ðJ¨ð Jð J¸ð Jð JÐR`ð Jð JØ"×/Ò/Ñ1Ô1ðJð Jà˜u×1Ò1Ñ3Ô3Ñ3ðJð Jð $)§;¢;¡=¤=°5×3EÒ3EÑ3GÔ3GÑ#GðJð Jð rÃ   c                  ó   •— d‰j         › d‰ › �S )NzCexpected src to have a size equal to the slice of self. src size = z, slice size = r—  )r~  rô  s   €€rÁ   rH  z*_as_strided_scatter_meta.<locals>.<lambda>
  s   ø€ ÐvÐVYÔV_ÐvÐvÐptÐvÐv€ rÃ   )
r-  r‚  r�  Úcompute_required_storage_lengthr¹   rI  r½  Úis_same_shaper­   Úclone_preserve_strides)r`  rô  r~  r»   r  rø  s   `````@rÁ   Ú_as_strided_scatter_metarý  ô  sÖ   øøøøøø€ õ 
Ô˜ÑÔÐÝ	Ô˜6Ñ"Ô"Ð"åÔ9¸$ÀÈÑWÔW€MÝ	„LØ�Š‰Œ˜Ò&ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ñô ð õ 
„LÝÔ˜CœI tÑ,Ô,ØvÐvÐvÐvÐvñô ð õ
 Ô'¨Ñ.Ô.Ð.rÃ   z“
    Creates a new tensor equivalent to ``out = input.clone()`` after mutation by
    ``out.as_strided(size, stride, storage_offset).copy_(src)``.
zlas_strided_scatter(Tensor self, Tensor src, SymInt[] size, SymInt[] stride, SymInt storage_offset) -> Tensorc                 óz   — t          | ||¦  «         t          | j        ||¦  «        }|                      |¦  «        S rÎ   )r´  r¸  r­   Ú	new_emptyrÈ  s       rÁ   Ú_collapse_metar   #  s9   € å˜A˜u cÑ*Ô*Ð*Ý  ¤¨%°Ñ5Ô5€IØ�;Š;�yÑ!Ô!Ð!rÃ   c                 ó  — t          | j        ||¦  «        }|                      |¦  «        }t          j        ¦   «         5  |                     | ¦  «                             | ¦  «         d d d ¦  «         n# 1 swxY w Y   |S rÎ   )r¸  r­   rÿ  r¹   Úno_gradÚview_asÚcopy_)rñ   r«  r¬  rÂ  rÍ  s        rÁ   Ú_collapse_atenr  *  sª   € Ý  ¤¨%°Ñ5Ô5€IØ
�+Š+�iÑ
 Ô
 €CÝ	Œ‰Œð  ð  Ø�Š�A‰Œ×Ò˜QÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  à€Js   ¿)A4Á4A8Á;A8zn
Collapse a span of neighboring dimensions into one.

See collapse_view for the corresponding view operation.
z0collapse(Tensor a, int start, int end) -> TensorÚtensorsc                 óä  ‡‡‡‡‡	— ‰dk     rt          d‰› �¦  «        ‚| d         j        }g }t          | ¦  «        D ]È\  Š	}t          |¦  «        t          |j        ¦  «        k    r7t          dt          |¦  «        › d‰	› dt          |j        ¦  «        › �¦  «        ‚t          t	          ||j        ¦  «        ¦  «        D ]D\  Š\  ŠŠ‰‰k    r|                     ‰¦  «         Œ$t          j        ‰‰k    ˆˆˆˆˆ	fd„¦  «         ŒEŒÉt          | d         j        ¦  «         	                    ¦   «         }t          j
        |¦  «        |‰<   t          | d         |t          j        |¦  «        ¬¦  «        S )Nr   zdim must be non-negative, got z>All tensors must have the same number of dimensions. Expected z but tensor z has c                  ó(   •— d‰› d‰ › d‰› d‰› d‰› d�S )Nz0Sizes of tensors must match except in dimension z. Expected z in dimension z	 but got z for tensor number z in the listr³   )Úcommon_lengthr±  r˜  rÁ  Ú
tensor_idxs   €€€€€rÁ   rH  z_cat_meta.<locals>.<lambda>U  sO   ø€ ð 0Èsð 0ð 0Ø -ð0ð 0Ø=@ð0ð 0ØKQð0ð 0à!ð0ð 0ð 0€ rÃ   ©r­   r®   )r·   r­   rž  ró   Úzipr   r¹   rI  r/  ÚcopyÚsym_sumrÂ   r-  r¿  )
r  r±  r­   Úsym_sum_argsÚtensorrÂ  r	  r˜  rÁ  r
  s
    `    @@@@rÁ   Ú	_cat_metar  C  sÅ  øøøøø€ à
ˆQ‚w€wÝÐC¸cÐCÐCÑDÔDÐDØ�AŒJÔ€EØ€LÝ'¨Ñ0Ô0ð ð Ñˆ
�FÝˆu‰:Œ:�˜Vœ\Ñ*Ô*Ò*Ð*Ý ðYÝ ™JœJðYð YØ4>ðYð YÝEHÈÌÑEVÔEVðYð Yñô ð õ -6µc¸%ÀÄÑ6NÔ6NÑ,OÔ,Oð 		ð 		Ñ(ˆCÑ(�- Ø�cŠzˆzØ×#Ò# FÑ+Ô+Ð+Ð+å”Ø˜mÒ+ð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ñô ð ð ð			õ �W˜Q”ZÔ%Ñ&Ô&×+Ò+Ñ-Ô-€IÝ”] <Ñ0Ô0€Iˆc�NÝØ�Œ
ØÝÔ1°)Ñ<Ô<ðñ ô ð rÃ   c                 ó,   — t          j        | |¦  «        S rÎ   )r¹   r�   )r  r±  s     rÁ   Ú	_cat_atenr  c  s   € ÝŒ9�W˜cÑ"Ô"Ð"rÃ   zŽ
  Concatenates tensors along the specified dimension.

  The tensors' shapes must have the same rank and same length for other dimensions.
  z(cat(Tensor[] tensors, int dim) -> Tensorc                 ó’  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        |¦  «         t          t          j        |¦  «        }||  	                    ¦   «         k    r*d|  	                    ¦   «         › d|› d�}t          |¦  «        ‚t          | |t	          j        |¦  «        ¬¦  «        S )Nr�  z$Attempting to reshape a tensor with z elements to a shape with ú
 elements!r  )r¶   r   r·   r¸   r-  r‚  r   rƒ  ru   r½  rÔ  rÂ   r¿  )rñ   r­   r½  r×  s       rÁ   Ú_reshape_metar  v  s·   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ	Ô˜ÑÔÐõ •8”< Ñ'Ô'€EØ�—’‘	”	ÒÐØk°Q·W²W±Y´YÐkÐkÐZ_ÐkÐkÐkˆÝ˜‰oŒoÐå�a˜u­eÔ.OÐPUÑ.VÔ.VÐWÑWÔWÐWrÃ   c                 óh   — |                       |¦  «                             t          j        ¬¦  «        S ©Nre  )rŽ   r‘   r¹   Úcontiguous_format©rñ   r­   s     rÁ   Ú_reshape_atenr  …  s(   € Ø�9Š9�UÑÔ×!Ò!µÔ0GÐ!ÑHÔHÐHrÃ   z`
  Creates a contiguous tensor with the specified shape
  containing a copy of the data in a.
  z+reshape(Tensor a, SymInt[] shape) -> TensorrÖ  c                 óv   — t          j        | j        |¦  «         t          j        | t          j        ¬¦  «        S r  )r-  Úvalidate_dimension_indicesr�  r¹   Ú
empty_likeri  )rñ   rÖ  s     rÁ   Ú	_rev_metar  –  s0   € Ý	Ô$ Q¤V¨TÑ2Ô2Ð2ÝÔ˜A­UÔ-BÐCÑCÔCÐCrÃ   zD
    Reverses the order of elements along the given dimensions.
    z#rev(Tensor a, int[] dims) -> TensorÚpredc                 ó>   — t          ||t          j        | f¬¦  «        S )N)r)  r(  ro  )r   rñ   rt  s      rÁ   Ú_where_metar"  ¬  s,   € õ "Ø	Ø	Ý;ÔCØ $˜wð	ñ ô ð rÃ   z¶
  Selects elements from a and b according to pred.

  Where pred is true the result contains the element from a, and
  where pred is false the result contains the element from b.
  z0where(Tensor pred, Tensor a, Tensor b) -> Tensorc                 ó�  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          |t          j        ¦  «        st          dt          |¦  «        › �¦  «        ‚t          j                             | ¦  «        r|                      ¦   «         }nt          j
        | ¦  «        }t          | ||¬¦  «        S )Nr�  zdtype must be torch.dtype, got )r®   r¯   )r¶   r   r·   r¸   r¹   r¯   Ú_prims_commonÚ%is_non_overlapping_and_dense_or_falser»   r-  rc  rÂ   )rñ   r¯   r®   s      rÁ   Ú_convert_element_type_metar&  Ê  s³   € å�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�e�Uœ[Ñ)Ô)ð NÝÐL½tÀE¹{¼{ÐLÐLÑMÔMÐMõ Ô×@Ò@ÀÑCÔCð >Ø—(’(‘*”*ˆˆåÔ:¸1Ñ=Ô=ˆå�a °Ð6Ñ6Ô6Ð6rÃ   c                 ó  — t          j        |¦  «        sd}n	 | j        }n# t          $ r d}Y nw xY wt	          j        | | j        ||¬¦  «        }t	          j        ¦   «         5  t          || ¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )NF)r°   r¯   Úrequires_grad)	r-  Úis_grad_dtyper(  Ú	Exceptionr¹   r  r°   r  r˜   )rñ   r¯   r(  Úresults       rÁ   Ú_convert_element_type_atenr,  Ú  sñ   € åÔ˜uÑ%Ô%ð "Øˆˆð	"ØœOˆMˆMøÝð 	"ð 	"ð 	"Ø!ˆMˆMˆMð	"øøøõ ÔØ	�!”( %°}ðñ ô €Fõ 
Œ‰Œð "ð "Ý�v˜qÑ!Ô!ð"ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ™! ¡0¯0Á#B Â BÂBz6
  Creates a copy of a tensor with the given dtype.
  z:convert_element_type(Tensor a, ScalarType dtype) -> Tensor)rÇ   rÉ   rÊ   rÈ   rË   rÄ   c                 ó˜  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          |t          t
          j        f¦  «        st          dt          |¦  «        › �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t          | t          j
        |¦  «        ¬¦  «        S )Nr�  z(device must be str or torch.device, got znon_blocking must be bool, got )r°   )r¶   r   r·   r¸   r¼   r¹   r°   r5  rÂ   r-  Úcanonicalize_device©rñ   r°   Únon_blockings      rÁ   Ú_device_put_metar1  ú  s»   € õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�f�s¥E¤LÐ1Ñ2Ô2ð XÝÐVÍÈVÉÌÐVÐVÑWÔWÐWÝ�l¥DÑ)Ô)ð UÝÐS½tÀLÑ?QÔ?QÐSÐSÑTÔTÐTå�a¥Ô 9¸&Ñ AÔ AÐBÑBÔBÐBrÃ   c                 ó0   — |                       ||¬¦  «        S )N)r0  )Útor/  s      rÁ   Ú_device_put_atenr4    s   € ð �4Š4� \ˆ4Ñ2Ô2Ð2rÃ   z5
  Creates a copy of a tensor on the given device.
  zFdevice_put(Tensor a, Device device, bool non_blocking=False) -> Tensorc                 ód   — t          j        | j        ¦  «        }t           |d¦  «        ¦  «        S r¤  )r-  Údtype_to_typer¯   rÂ   )rñ   Únumber_types     rÁ   Ú
_item_metar8    s*   € ÝÔ% a¤gÑ.Ô.€KÝ�k�k "‘o”oÑ&Ô&Ð&rÃ   z<
    Converts a tensor with one element to a Python number.
c                  ó¨   — t           j        j                             ¦   «         5  t          j        j        | i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S rÎ   )r¹   Ú	_dispatchÚpythonÚno_python_dispatcherr   r”   rJ  s     rÁ   Ú_item_aten_no_python_dispatcherr=  )  s’   € Ý	ŒÔ	×	4Ò	4Ñ	6Ô	6ð 2ð 2ÝŒ|Ô  $Ð1¨&Ð1Ð1ð2ð 2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s   ¤AÁAÁAzitem(Tensor a) -> Scalarc                 óZ   — t          j        | ¦  «        }t           |d¦  «        ¦  «        S r¤  ©r-  r6  rÂ   ©r¯   r7  s     rÁ   Ú_maximum_value_metarA  <  ó(   € ÝÔ% eÑ,Ô,€KÝ�k�k "‘o”oÑ&Ô&Ð&rÃ   c                 ó¦   — | t           j        k    rdS | j        s| j        rt          j        | ¦  «        j        S t          j        | ¦  «        j        S )NT)r¹   r5  r\  Úis_floating_pointÚfinfor°  Úiinfo©r¯   s    rÁ   Ú_maximum_value_atenrH  A  sO   € Ø•”
ÒÐØˆtØ	Ô	ð &˜UÔ4ð &ÝŒ{˜5Ñ!Ô!Ô%Ð%åŒ{˜5Ñ!Ô!Ô%Ð%rÃ   z2
    Return the maximum finite value for a dtype.
z)maximum_value(ScalarType dtype) -> Scalarc                 óZ   — t          j        | ¦  «        }t           |d¦  «        ¦  «        S r¤  r?  r@  s     rÁ   Ú_minimum_value_metarJ  \  rB  rÃ   c                 ó¦   — | t           j        k    rdS | j        s| j        rt          j        | ¦  «        j        S t          j        | ¦  «        j        S )NF)r¹   r5  r\  rD  rE  r¾  rF  rG  s    rÁ   Ú_minimum_value_atenrL  a  sO   € Ø•”
ÒÐØˆuØ	Ô	ð &˜UÔ4ð &ÝŒ{˜5Ñ!Ô!Ô%Ð%åŒ{˜5Ñ!Ô!Ô%Ð%rÃ   z2
    Return the minimum finite value for a dtype.
z)minimum_value(ScalarType dtype) -> Scalarc                 ó¢  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                      ¦   «         |                     ¦   «         k    r<d|                     ¦   «         › d|                      ¦   «         › d�}t          |¦  «        ‚| S )Nr�  zb must be TensorLike, got zAttempting to copy z elements to a tensor with r  )r¶   r   r·   r¸   r½  rb  )rñ   rt  r×  s      rÁ   Ú_copy_to_metarN  ~  sº   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDð 	‡w‚w�y„y�A—G’G‘I”IÒÐØ_ A§G¢G¡I¤IÐ_Ð_È!Ï'Ê'É)Ì)Ð_Ð_Ð_ˆÝ˜3ÑÔÐà€HrÃ   c                 ó,   — |                       |¦  «        S rÎ   )r  ry  s     rÁ   Ú_copy_to_atenrP  “  s   € Ø�7Š7�1‰:Œ:ÐrÃ   z;
  Copies the data in b to a and returns the modified a.
  z-copy_to(Tensor(a!) a, Tensor b) -> Tensor(a!))rÇ   rÉ   rÊ   rÈ   rË   rÆ   c                 óÐ   — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        | j        || j        | j        | j	        | j
        ¬¦  «        S )Nr�  )r¯   rh  r°   r(  )r¶   r   r·   r¸   r¹   r    r­   r¯   rh  r°   r(  )rñ   r»   s     rÁ   Ú_copy_strided_metarR  ¦  sh   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝÔØ	ŒØØŒgØŒxØŒxØ”oðñ ô ð rÃ   c                 ó°   — t          j        |                      ¦   «         || j        | j        | j        | j        ¬¦  «        }|                     | ¦  «         |S )N)r»   r¯   rh  r°   r(  )r¹   r    r~  r¯   rh  r°   r(  r  )rñ   r»   rÍ  s      rÁ   Ú_copy_strided_atenrT  ³  sQ   € Ý
Ô
Ø	�Š‰ŒØØŒgØŒxØŒxØ”oðñ ô €Cð ‡I‚Iˆa�L„L€LØ€JrÃ   zp
  Copies the data in a to a new tensor, the new tensor has same shape with a size, but has different stride.
  z1copy_strided(Tensor a, SymInt[] stride) -> Tensorc                 ó,   — |                       |¦  «        S rÎ   ©Úresize_r  s     rÁ   Ú_resize_metarX  Î  ó   € Ø�9Š9�UÑÔÐrÃ   c                 ó,   — |                       |¦  «        S rÎ   rV  r  s     rÁ   Ú_resize_atenr[  Ò  rY  rÃ   zš
  Gives a tensor with no elements a new shape, returning the modified tensor.

  The tensor's strides are contiguous and its values are uninitialized.
  z2resize(Tensor(a!) a, SymInt[] shape) -> Tensor(a!)©Úoutput_dtypec                ó  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚|€| j        }t          j        | j        |¦  «        }t          |t          j	        |¦  «        || j
        ¬¦  «        S )z\
    Meta function for single output reduction operations
    Stride logic is incorrect
    zinp must be TensorLike, got Nr¬   )r¶   r   r·   r¸   r¯   r-  Úcompute_reduction_output_shaper­   rÂ   r¿  r°   )ÚinprÖ  r]  Úoutput_shapes       rÁ   Ú_reduction_metarb  æ  s…   € õ
 �c�:Ñ&Ô&ð IÝÐG½DÀ¹I¼IÐGÐGÑHÔHÐHØÐØ”yˆÝÔ7¸¼	À4ÑHÔH€LÝØÝÔ1°,Ñ?Ô?ØØŒzð	ñ ô ð rÃ   c                 óš   — t          j        | j        ¦  «        rt          j        | j        ¦  «        }n| j        }t	          | ||¬¦  «        S )Nr\  )r-  r9  r¯   r:  rb  )r`  rÖ  Ú
correctionr]  s       rÁ   Ú_var_reduction_metare  ø  sG   € ÝÔ˜cœiÑ(Ô(ð !ÝÔ5°c´iÑ@Ô@ˆˆà”yˆÝ˜3 °<Ð@Ñ@Ô@Ð@rÃ   zx
    Computes the sum of elements in the input tensor over the list of dimensions
    specified in the dim argument
    z|
    Computes the xor sum of elements in the input tensor over the list of dimensions
    specified in the dim argument
    z|
    Computes the product of elements in the input tensor over the list of dimensions
    specified in the dim argument
    z‚
    Computes the maximum value of elements in the input tensor over the list of dimensions
    specified in the dim argument
    z‚
    Computes the minimum value of elements in the input tensor over the list of dimensions
    specified in the dim argument
    ze
    Computes the biased variance of x over the list of dimensions specified in the dim argument
    c                 óN   — t          | › d�t          |t          j        |¬¦  «        S )úCreates a reduction prim.zE(Tensor inp, int[]? dims, *, ScalarType? output_dtype=None) -> TensorrŠ  )r  rb  r   rP  ©rä   rÊ   rË   s      rÁ   Ú_make_reduction_primri  	  s3   € åØÐ]Ð]Ð]ÝØÝ”OØðñ ô ð rÃ   c                 óN   — t          | › d�t          |t          j        |¬¦  «        S )rg  zZ(Tensor inp, int[]? dims, float? correction=1, *, ScalarType? output_dtype=None) -> TensorrŠ  )r  re  r   rP  rh  s      rÁ   Ú_make_var_reduction_primrk  $	  s3   € åØÐrÐrÐrÝ ØÝ”OØðñ ô ð rÃ   r�   rh  rG  r`  c                ó    — t          d¦  «        ‚)Nz&xor_sum only implemented with inductorrV  )r`  rÖ  r¯   s      rÁ   Ú_xor_sum_atenrm  6	  s   € õ ÐFÑ
GÔ
GÐGrÃ   rž   c                ó
  — |�lt          |¦  «        dk    r|                      ¦   «         S t          |d¬¦  «        D ]1}|dk     rt          d|› �¦  «        ‚t	          j        | ||¬¦  «        } Œ2| S t	          j        | |¬¦  «        S )Nr   T)Úreversez$dimension must be non-negative, got rG  )ró   r‘   rÒ  r·   r¹   rœ   )r`  rÖ  r¯   Úds       rÁ   Ú
_prod_atenrq  F	  s•   € ð ÐÝˆt‰9Œ9˜Š>ˆ>Ø—9’9‘;”;ÐÝ˜ dÐ+Ñ+Ô+ð 	2ð 	2ˆAØ�1ŠuˆuÝ$Ð%OÈAÐ%OÐ%OÑPÔPÐPÝ”*˜S !¨5Ð1Ñ1Ô1ˆCˆCØˆ
åŒz˜# UÐ+Ñ+Ô+Ð+rÃ   rœ   rÞ   c                 ó,   — t          j        | f||dœ|¤ŽS )N)r±  rd  )r¹   rŸ   )r`  r±  rd  rÐ   s       rÁ   Ú	torch_varrs  `	  s!   € ÝŒ9�UÐE °
ÐEÐE¸fÐEÐEÐErÃ   rŸ   rš   r›   zC
    Constructs a 1-D tensor t where ``t[i] == start + i * step``.
rÁ  Ústepr(  c                ó¶   — t          j        t          j        |¦  «        d„ ¦  «         t          j        |dk    d„ ¦  «         t          j        | |||¬¦  «        S )Nc                  ó   — dS )Nz'prims.iota only supports integer dtypesr³   r³   rÃ   rÁ   rH  z_iota_meta.<locals>.<lambda>‰	  s   € Ð9€ rÃ   r   c                  ó   — dS )Nzstep must be nonzeror³   r³   rÃ   rÁ   rH  z_iota_meta.<locals>.<lambda>‹	  s   € Ð$:€ rÃ   ©r¯   r°   r(  )r¹   rI  r-  r6  rj  )rÁ  r«  rt  r¯   r°   r(  s         rÁ   Ú
_iota_metary  ~	  sm   € õ 
„LÝÔ˜uÑ%Ô%Ø9Ð9ñô ð õ 
„L�˜’Ð:Ð:Ñ;Ô;Ð;ÝŒ;ØØØØ#ð	ñ ô ð rÃ   c                óF   — || |z  z   }t          j        ||||||¬¦  «        S ©Nrx  )r¹   Úarange)rÁ  r«  rt  r¯   r°   r(  r¬  s          rÁ   Ú
_iota_atenr}  ”	  s8   € ð �&˜4‘-Ñ
€CÝŒ<Øˆs�D ¨fÀMðñ ô ð rÃ   zpiota(SymInt length, *, SymInt start, SymInt step, ScalarType dtype, Device device, bool requires_grad) -> Tensorc                óP   — t          j        | ¦  «        }t          | |||¬¦  «        S ©Nr¬   ©r-  r¿  rÂ   )r­   r¯   r°   r(  r®   s        rÁ   Ú_empty_metar�  ®	  s+   € õ Ô/°Ñ6Ô6€GÝ˜E¨7¸%ÈÐOÑOÔOÐOrÃ   c                ó2   — t          j        | |||¬¦  «        S r{  )r¹   rj  )r­   r¯   r°   r(  s       rÁ   Ú_empty_atenrƒ  µ	  s   € õ Œ;�u E°&ÈÐVÑVÔVÐVrÃ   z\
    Creates a tensor with uninitialized values and the specified shape, dtype, and device.
zWempty(SymInt[] shape, *, ScalarType dtype, Device device, bool requires_grad) -> Tensorc                ó(   — t          | |||¬¦  «        S r  ©rÂ   )r­   r®   r¯   r°   r(  s        rÁ   Ú_empty_strided_metar†  È	  s   € õ ˜E¨7¸%ÈÐOÑOÔOÐOrÃ   z1
    Creates a tensor with uninitialized values.
zqempty_strided(SymInt[] shape, SymInt[] strides, *, ScalarType dtype, Device device, bool requires_grad) -> TensorÚphysical_layoutc                ó  ‡ ‡‡‡	‡
— t          j        ˆ fd„‰D ¦   «         ¦  «        }t          ‰ ¦  «        Št          j        t          ‰¦  «        ‰k    ˆˆfd„¦  «         dgt          ‰ ¦  «        z  }t          ¦   «         }t          ‰¦  «        D ]e\  Š
Š	t          j        d‰	cxk    o‰k     nc ˆˆ	ˆ
fd„¦  «         t          j        ‰	|vd„ ¦  «         |‰
         |‰	<   |                     ‰	¦  «         Œft          ‰ |||¬¦  «        S )Nc                 ó    •— g | ]
}‰|         ‘ŒS r³   r³   )r×   Úlr­   s     €rÁ   ræ   z(_empty_permuted_meta.<locals>.<listcomp>é	  s   ø€ Ð2UÐ2UÐ2UÀ°5¸´8Ð2UÐ2UÐ2UrÃ   c                  ó.   •— d‰ › dt          ‰¦  «        › �S )NzlNumber of dimensions in the tensor input does not match the length of the physical layout; i.e. len(size) = z( is not equal to len(physical_layout) = )ró   )r±  r‡  s   €€rÁ   rH  z&_empty_permuted_meta.<locals>.<lambda>í	  s4   ø€ ðMØ?BðMð Må69¸/Ñ6JÔ6JðMð Mð rÃ   r   c                  ó"   •— d‰ dz
  › d‰› d‰› d�S )Nz5Dimension out of range (expected to be between 0 and rÞ   z
, but got z
 at index zL).  NB: negative dims not currently supported; file an issue if you want it.r³   )r±  rŠ  r  s   €€€rÁ   rH  z&_empty_permuted_meta.<locals>.<lambda>ø	  sD   ø€ ðIÈÈaÉð Ið IØðIð IØ !ðIð Ið Ið rÃ   c                  ó   — dS )NzDuplicate dim not allowedr³   r³   rÃ   rÁ   rH  z&_empty_permuted_meta.<locals>.<lambda>þ	  s   € Ð1L€ rÃ   r¬   )	r-  r¿  ró   r¹   rI  r  rž  r`   rÂ   )r­   r‡  r¯   r°   r(  Ú	p_stridesr®   Ú	seen_dimsr±  rŠ  r  s   ``      @@@rÁ   Ú_empty_permuted_metar�  á	  sY  øøøøø€ õ Ô1Ð2UÐ2UÐ2UÐ2UÀ_Ð2UÑ2UÔ2UÑVÔV€IÝ
ˆe‰*Œ*€CÝ	„LÝˆOÑÔ Ò#ð	
ð 	
ð 	
ð 	
ð 	
ñô ð ð ˆc•C˜‘J”JÑ€GÝ‘”€IÝ˜/Ñ*Ô*ð ð ‰ˆˆ1ÝŒØ�ˆLˆLŠLˆL�SŠLˆLˆLˆLðð ð ð ð ð ñ	
ô 	
ð 	
õ 	Œ�Q˜iÐ'Ð)LÐ)LÑMÔMÐMØ˜q”\ˆ�‰
Ø�Š�aÑÔÐÐÝØØØØð	ñ ô ð rÃ   z‹
    Creates a tensor with uninitialized values according to some physical layout,
    that is guaranteed to be non-overlapping and dense.
zwempty_permuted(SymInt[] shape, int[] physical_layout, *, ScalarType dtype, Device device, bool requires_grad) -> TensorÚ
fill_valuec                óP   — t          j        | ¦  «        }t          | |||¬¦  «        S r  r€  )r­   r‘  r¯   r°   r(  r®   s         rÁ   Ú
_full_metar“  
  s+   € õ Ô/°Ñ6Ô6€GÝ˜E¨7¸%ÈÐOÑOÔOÐOrÃ   c                ó4   — t          j        | ||||¬¦  «        S r{  )r¹   Úfull)r­   r‘  r¯   r°   r(  s        rÁ   Ú
_full_atenr–  $
  s,   € õ Œ:ØØØØØ#ðñ ô ð rÃ   zi
    Creates a tensor filled with the given fill value, and with the specified shape, dtype, and device.
zifull(SymInt[] shape, Scalar fill_value, *, ScalarType dtype, Device device, bool requires_grad) -> Tensorc                ó¨   — t          j        | ¦  «        }|                      ¦   «         dk    r|                      ¦   «         }t	          | |||¬¦  «        S )Nr   )r®   r¯   r°   )r-  rc  r½  r»   rÂ   )rñ   r‘  r¯   r°   r(  r®   s         rÁ   Ú_full_like_metar˜  D
  sI   € õ Ô6°qÑ9Ô9€GØ‡w‚w�y„y�A‚~€~Ø—(’(‘*”*ˆå�a °¸fÐEÑEÔEÐErÃ   c                ó4   — t          j        | ||||¬¦  «        S r{  )r¹   Ú	full_like)rñ   r‘  r¯   r°   r(  s        rÁ   Ú_full_like_atenr›  S
  s,   € õ Œ?Ø	ØØØØ#ðñ ô ð rÃ   zÕ
    Creates a tensor filled with the given fill value, and the same shape, dtype, and device as the
    given tensor by default. The dtype and device settings can be overridden
    by specifying them explicitly.
zhfull_like(Tensor a, Scalar fill_value, *, ScalarType dtype, Device device, bool requires_grad) -> TensorÚscalarc                óV   — g }t          j        |¦  «        }t          | ||||¬¦  «        S r  r€  )rœ  r¯   r°   r­   r®   s        rÁ   Ú_scalar_tensor_metarž  t
  s3   € ð €EÝÔ/°Ñ6Ô6€GÝ�f E°7À%ÐPVÐWÑWÔWÐWrÃ   c                ó¤   — t          | t          ¦  «        r%|�t          j        |¦  «        st	          d¦  «        ‚t          j        | ||¬¦  «        S )Nz-Complex scalar requires complex tensor dtype.rµ   )r¶   Úcomplexr-  r9  Ú	TypeErrorr¹   r¢   )rœ  r¯   r°   s      rÁ   Ú_scalar_tensor_atenr¢  
  sR   € õ �&�'Ñ"Ô"ð IØˆ�UÔ3°EÑ:Ô:ˆåÐGÑHÔHÐHåÔ˜v¨U¸6ÐBÑBÔBÐBrÃ   zG
    Wraps a Number into a Tensor with the specified dtype and device.
zQscalar_tensor(Scalar s, *, ScalarType? dtype=None, Device? device=None) -> TensorÚAÚfull_matricesc                óf  — t          j        | d¦  «         t          j        | j        dd¬¦  «         | j        }|d d…         }|dd …         \  }}t          ||¦  «        }|||r|n|fz   }t          j        |d¬¦  «        }t          ||| j        | j        ¬¦  «        }	||fz   }
t          j        |
¦  «        }t          |
||  	                    ¦   «         rt          j
        | j        ¦  «        n| j        | j        ¬¦  «        }||r|n||fz   }| j        j        dk    }t          j        ||¬¦  «        }t          ||| j        | j        ¬¦  «        }|                      ¦   «         dk    rF| 	                    ¦   «         r2t          j                             ¦   «         r|                     ¦   «         }|	||fS )	Nz
linalg.svdF)Úallow_low_precision_dtypeséþÿÿÿ)Ú	row_majorr¬   Úcudar   )r-  Úcheck_is_matrixÚcheck_fp_or_complexr¯   r­   r¾  r¿  rÂ   r°   r\  r:  r¸   r½  r¹   r©  Úis_availablerƒ   )r£  r¤  ÚA_shapeÚbatchÚmÚnÚkÚshape_UÚ	strides_UÚUÚshape_SÚ	strides_SÚSÚshape_VhÚis_cudaÚ
strides_VhÚVhs                    rÁ   Ú	_svd_metar¼   
  s«  € õ 
Ô˜!˜\Ñ*Ô*Ð*Ý	Ô˜aœg |ÐPUÐVÑVÔVÐVàŒg€GØ�C�R�CŒL€EØ�2�3�3Œ<�D€A€qÝˆAˆq‰	Œ	€Aà�q˜}Ð3˜!˜!°!Ð4Ñ4€GÝÔ1°'ÀUÐKÑKÔK€IÝ˜¨)¸1¼7È1Ì8ÐTÑTÔT€Aà�q�d‰l€GÝÔ1°'Ñ:Ô:€IÝØØØ9:¿º¹¼ÐT�eÔ,¨Q¬WÑ5Ô5Ð5ÈQÌWØŒxð		ñ 	ô 	€Að ˜]Ð1˜˜°°1Ð5Ñ5€Hð ŒhŒm˜vÒ%€GÝÔ2°8ÀwÐOÑOÔO€JÝ	˜(¨J¸a¼gÈaÌhÐ	WÑ	WÔ	W€Bð 	‡w‚w�y„y�A‚~€~˜"Ÿ-š-™/œ/€~­e¬j×.EÒ.EÑ.GÔ.G€~Ø�WŠW‰YŒYˆØˆa�ˆ8€OrÃ   c                óD   — t           j                             | |¬¦  «        S )N)r¤  )r¹   Úlinalgr¤   )r£  r¤  s     rÁ   Ú	_svd_atenr¿  Å
  s   € õ Œ<×Ò˜A¨]ÐÑ;Ô;Ð;rÃ   z™
    Returns the SVD of a matrix or batch of matrices.

    The `full_matrices` flag controls whether the full or reduced SVD decomposition is returned.
zGsvd(Tensor A, *, bool full_matrices) -> (Tensor U, Tensor S, Tensor Vh)©Ú	generatorÚmeanÚstdrÁ  c                ó  ‡‡— t          j        ‰dk    ˆfd„¦  «         t          j        t          j        ‰¦  «        pt          j        ‰¦  «        ˆfd„¦  «         t          j        | ¦  «        }t          | |‰|¬¦  «        S )Ng        c                  ó   •— d‰ › �S )Nz6expected non-negative standard deviation, but got std=r³   )rÃ  s   €rÁ   rH  z_normal_meta.<locals>.<lambda>ë
  s   ø€ ÐNÈÐNÐN€ rÃ   c                  ó   •— d‰ › �S )Nz:expected a floating-point or complex dtype, but got dtype=r³   rG  s   €rÁ   rH  z_normal_meta.<locals>.<lambda>ð
  s   ø€ ÐTÈUÐTÐT€ rÃ   r¬   )r¹   rI  r-  Úis_float_dtyper9  r¿  rÂ   )r­   rÂ  rÃ  r¯   r°   r(  rÁ  r®   s     ``    rÁ   Ú_normal_metarÈ  ß
  s–   øø€ õ 
„LØˆsŠ
ØNÐNÐNÐNñô ð õ
 
„LÝÔ˜UÑ#Ô#ÐD¥uÔ'=¸eÑ'DÔ'DØTÐTÐTÐTñô ð õ
 Ô/°Ñ6Ô6€GÝ˜E¨7¸%ÈÐOÑOÔOÐOrÃ   c                ó¼   — t          j        | |||¬¦  «        }t          j        ¦   «         5  |                     |||¬¦  «         d d d ¦  «         n# 1 swxY w Y   |S )Nrx  rÀ  )r¹   rj  r  Únormal_)r­   rÂ  rÃ  r¯   r°   r(  rÁ  rñ   s           rÁ   Ú_normal_atenrË  ÷
  sœ   € õ 	Œ�E ¨vÀ]ÐSÑSÔS€AÝ	Œ‰Œð 2ð 2à	�	Š	�$˜ yˆ	Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð €Hs   ¬AÁAÁAzª
    Constructs a tensor filled with values drawn from a normal distribution with the specified mean
    and standard deviation.

    Only supports floating-point types.
zŒnormal(SymInt[] shape, *, Scalar mean, Scalar std, ScalarType dtype, Device device, bool requires_grad, Generator? generator=None) -> TensorÚlowÚhighc                ó(   — t          | |||¬¦  «        S r  r…  )r­   rÌ  rÍ  r¯   r°   r»   rÁ  s          rÁ   Ú_uniform_metarÏ    s   € õ ˜E¨6¸ÀvÐNÑNÔNÐNrÃ   c                óf   — t          j        | |||¬¦  «        }|                     |||¬¦  «         |S )N)r»   r¯   r°   rÀ  )r¹   r    Úuniform_)r­   rÌ  rÍ  r¯   r°   r»   rÁ  rñ   s           rÁ   Ú_uniform_atenrÒ  '  s:   € õ 	Ô˜E¨&¸ÀfÐMÑMÔM€AØ‡J‚Jˆs�D I€JÑ.Ô.Ð.Ø€HrÃ   zN
    Constructs a tensor filled with values drawn uniformly from low to high.
zŠuniform(SymInt[] shape, *, Scalar low, Scalar high, ScalarType dtype, Device device, SymInt[] stride, Generator? generator=None) -> TensorÚonesidedc                óF  — t          j        | j        |¦  «        }t          j        |¦  «         t	          | j        ¦  «        }|r|d         }||         dz  dz   ||<   t          j        | j        ¦  «        }t          j        |¦  «        }t          |||| j
        ¬¦  «        S )Nr•  r  rÞ   r¬   )r-  rÓ  r�  Úvalidate_no_repeating_dimsr/  r­   Úcorresponding_complex_dtyper¯   r¿  rÂ   r°   )r`  r±  rÓ  r­   Úlast_dimr¯   r®   s          rÁ   Ú_fft_r2c_metarØ  K  s›   € õ Ô
! %¤*¨cÑ
2Ô
2€CÝ	Ô$ SÑ)Ô)Ð)å�”ÑÔ€EØð 3Ø�r”7ˆØ œ/¨QÑ.°Ñ2ˆˆh‰åÔ-¨e¬kÑ:Ô:€EÝÔ/°Ñ6Ô6€GÝ˜E¨7¸%ÈÌÐUÑUÔUÐUrÃ   c                ó4   — d}t          j        | |||¦  «        S ©Nr   )r¹   Ú_fft_r2c)r`  r±  rÓ  Únormalizations       rÁ   Ú_fft_r2c_atenrÝ  ^  s   € ð €MÝŒ>˜%  m°XÑ>Ô>Ð>rÃ   z7
    Performs a real to complex Fast Fourier Transform
z;fft_r2c(Tensor self, *, int[] dim, bool onesided) -> TensorÚforwardc                óÎ   — t          j        | j        |¦  «        }t          j        |¦  «         | j        }t          j        |¦  «        }t          ||| j        | j        ¬¦  «        S r  )	r-  rÓ  r�  rÕ  r­   r¿  rÂ   r¯   r°   )r`  r±  rÞ  r­   r®   s        rÁ   Ú_fft_c2c_metarà  v  sd   € õ Ô
! %¤*¨cÑ
2Ô
2€CÝ	Ô$ SÑ)Ô)Ð)àŒK€EÝÔ/°Ñ6Ô6€GÝØ˜W¨E¬KÀÄðñ ô ð rÃ   c                ó4   — d}t          j        | |||¦  «        S rÚ  )r¹   Ú_fft_c2c)r`  r±  rÞ  rÜ  s       rÁ   Ú_fft_c2c_atenrã  †  s   € ð €MÝŒ>˜%  m°WÑ=Ô=Ð=rÃ   z>
    Performs either a Fast Fourier Transform, or its inverse
z:fft_c2c(Tensor self, *, int[] dim, bool forward) -> TensorÚlast_dim_sizec                ó&  — t          j        | j        |¦  «        }t          j        |¦  «         t	          | j        ¦  «        }|||d         <   t          j        | j        ¦  «        }t          j        |¦  «        }t          |||| j
        ¬¦  «        S )Nr•  r¬   )r-  rÓ  r�  rÕ  r/  r­   r:  r¯   r¿  rÂ   r°   )r`  r±  rä  r­   r¯   r®   s         rÁ   Ú_fft_c2r_metaræ  ž  s€   € õ Ô
! %¤*¨cÑ
2Ô
2€CÝ	Ô$ SÑ)Ô)Ð)å�”ÑÔ€EØ"€Eˆ#ˆbŒ'�NÝÔ*¨5¬;Ñ7Ô7€EÝÔ/°Ñ6Ô6€GÝ˜E¨7¸%ÈÌÐUÑUÔUÐUrÃ   c                ó4   — d}t          j        | |||¦  «        S rÚ  )r¹   Ú_fft_c2r)r`  r±  rä  rÜ  s       rÁ   Ú_fft_c2r_atenré  ®  s   € ð €MÝŒ>˜%  m°]ÑCÔCÐCrÃ   z?
    Performs a complex to real Inverse Fast Fourier Transform
zBfft_c2r(Tensor self, *, int[] dim, SymInt last_dim_size) -> TensorÚselfc                 óª   — t          j        | j        j        d„ ¦  «         t          j        | ¦  «        t          j        | t           j        ¬¦  «        fS )Nc                  ó   — dS )Nz1torch.frexp() only supports floating-point dtypesr³   r³   rÃ   rÁ   rH  z_frexp_meta.<locals>.<lambda>É  s   € ÐC€ rÃ   rG  )r¹   rI  r¯   rD  r  Úint32)rê  s    rÁ   Ú_frexp_metarî  Æ  sN   € Ý	„LØŒ
Ô$ØCÐCñô ð õ Ô˜DÑ!Ô!¥5Ô#3°DÅÄÐ#LÑ#LÔ#LÐLÐLrÃ   z8frexp(Tensor self) -> (Tensor mantissa, Tensor exponent)c                  ó   — t          ¦   «         S rÎ   r   r³   rÃ   rÁ   Ú_make_token_atenrð  ×  s   € ÝÑÔÐrÃ   z_make_token() -> Tensorz7Creates a token used for keeping track of side effects.c                 ó   — d S rÎ   r³   )Útokenss    rÁ   Ú_sink_tokens_atenró  ä  s   € Ø€DrÃ   z#_sink_tokens(Tensor[] tokens) -> ()zTSink all of the tokens which were previously used for keeping track of side effects.rÎ   )F)NrÞ   )r*  N(h  rƒ  Úcollections.abcr   r   Úenumr   Ú	functoolsr   r   Útypingr   r	   r¹   Útorch._prims_commonr$  r-  Útorch.libraryr
   r   Útorch._Cr   Útorch._higher_order_ops.effectsr   Útorch._library.utilsr   Útorch._prims.debug_primsr   Útorch._prims.rng_primsr   r   r   r   r   r   r   r   r   r   r   r   r   Útorch._prims_common.wrappersr   r  r    r!   Útorch.overridesr"   r#   Útorch.utils._pytreer$   r%   r&   rÿ   ÚLibraryrö   rú   r  rü   rý   Ú__all__r¯   r°   r¼   rÂ   rº   rø   r5  r  r  rE  rK  rR  rT  rX  r.   r'  r/   r$  r0   r1   r2   r3   r4   r5   r6   Úspecialr;   r<   Úi0r7   Úi0er8   Úi1r9   Úi1er:   r=   r_  r>   r?   rd  Ú_conj_physicalrP  r@   ri  rf  rl  r‘   rA   rB   ÚerfinvrC   rD   rE   rF   rG   rH   rp  rI   rJ   r  rK   rL   r&  rM   rN   rO   rP   rQ   rT   rU   rR   rS   rV   rz   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   rv  re   rf   rg   rh   ri   rk   rl   rm   rn   Úgammaincro   Ú	gammainccrp   rq   rr   rz  rs   r}  rt   ru   rv   rw   rx   ry   Úbitwise_left_shiftr{   Úbitwise_right_shiftr|   r}   r~   r   r=  r‡  r‰  Ú_as_strided_docr€   r¢  rª  Ú_broadcast_in_dim_docr�   r´  r¸  rÃ  rÅ  rÉ  Ú_collapse_view_docr‚   rÎ  Ú	_conj_docrƒ   r„   rÝ  rß  Ú_split_dim_docr†   rá  Ú_squeeze_docr‡   rå  rè  Ú_transpose_docrˆ   rê  rì  Ú_view_of_docr‰   rð  ró  Ú_view_element_type_docrŠ   rý  Ú_as_strided_scatter_docr‹   r   r  Ú_collapse_docrŒ   r  r/  r  Ú_cat_docr�   r  r  Ú_reshape_docrŽ   r  Ú_rev_docÚflipr�   r"  Ú
_where_docr�   r&  r,  Ú_convert_element_type_docÚ	pointwiser’   r1  r4  Ú_device_put_docr“   r8  Ú	_item_docr=  r”   rA  rH  Ú_maximum_value_docr•   rJ  rL  Ú_minimum_value_docr–   rN  rP  Ú_copy_to_docÚINPLACEr˜   rR  rT  Ú_copy_strided_docr—   rX  r[  Ú_resize_docr™   rb  re  Ú_sum_docÚ_xor_sum_docÚ	_prod_docÚ	_amax_docÚ	_amin_docÚ_var_docri  rk  r�   rm  rž   rq  rœ   rs  rŸ   rš   r›   Ú	_iota_docry  r}  r£   r�  rƒ  Ú
_empty_docrj  r†  Ú_empty_strided_docr    r�  Ú_empty_permuted_docr¡   r“  r–  Ú	_full_docr•  r˜  r›  Ú_full_like_docrš  rž  r¢  Ú_scalar_tensor_docr¢   r¼  r¿  Ú_svd_docr¤   r>  r   Ú	GeneratorrÈ  rË  Ú_normal_docr¥   rÏ  rÒ  Ú_uniform_docr¦   rØ  rÝ  Ú_fft_r2c_docr§   rà  rã  Ú_fft_c2c_docr¨   ræ  ré  Ú_fft_c2r_docr©   rî  rj   rð  rª   ró  ÚNONEr«   ÚfxÚnodeÚhas_side_effectr³   rÃ   rÁ   ú<module>rA     sð-  ðà €€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø (Ð (Ð (Ð (Ð (Ð (Ø <Ð <Ð <Ð <Ð <Ð <Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð AÐ @Ð @Ð @Ð @Ð @Ø DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fð „}×Ò˜W eÑ,Ô,€ØŒM×!Ò! '¨6Ð3NÑOÔO€	Ø œ=×0Ò0°¸&À/ÑRÔRÐ Ø”]×*Ò*¨7°F¸JÑGÔGÐ Ø”×&Ò& w°¸Ñ?Ô?€ðpð pð p€ðh 48ñ5Kð #Ø!%Ø $Ø(,ð5Kð 5Kð 5KØ˜Uœ\Ñ)¨DÑ0ð5Kð �tÑð5Kð ˜$Ñð	5Kð
 Œ;˜Ñð5Kð ŒL˜3Ñ Ñ%ð5Kð 5Kð 5Kð 5Kð~ (,Ø#(Ø*/ðjð jð jàðjð ˜u [°#Ð%5Ô6Ñ6ðjð ð	jð
 ðjð 
ðjð �5”9Ô
 Ñ
$ðjð !ðjð $(ðjð jð jð jðZð ð ð ð ¨4ñ ô ð ð AEð_ð _ð _à8ð_ð " .°#Ð"5Ô6¸Ñ=ð_ð ð	_ð _ð _ð _ðD3ð 3ð 3ðØ
ðØ"Fðð ð ð ðØ
ðØ"Fðð ð ð ðð ð ð #Ð"Ø	ØŒiØ
Ø7ÔHð	ñ ô €ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð )Ð(ØØŒmÔ%Ø
Ø7Ô?ð	ñ ô €	ð )Ð(ØØŒmÔ%Ø
Ø7Ô?ð	ñ ô €	ð )Ð(ØØŒhØ
Ø7Ô?ð	ñ ô €	ð *Ð)ØØŒmÔØ
Ø7Ô?ð	ñ ô €
ð )Ð(ØØŒmÔØ
Ø7Ô?ð	ñ ô €	ð *Ð)ØØŒmÔØ
Ø7Ô?ð	ñ ô €
ð +Ð*ØØÔØ
Ø7Ô?ð	ñ ô €ð8�%”,ð 8 6ð 8ð 8ð 8ð 8ð $Ð#Ø
ØØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð.˜~ð .°.ð .ð .ð .ð .ð �
Ø1Ø	ØÔ"Ø>Ø”ðñ ô €ð DIÔCXð
ð 
ð 
Øð
Ø-2Ô-@ð
àð
ð 
ð 
ð 
ð0 	ˆ
ØNØ	ØŒkØ&Ø”Ø"&ð	ñ 	ô 	€ð 'Ð
&ØØŒmØ
Ø7Ô?ð	ñ ô €ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð 'Ð
&ØØŒmÔ"Ø
Ø7Ô?ð	ñ ô €ð $Ð#Ø
ØŒmÔ Ø
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒmÔ!Ø
Ø7Ô?ð		ñ 	ô 	€ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒmÔ!Ø
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø
ØŒmÔ Ø
Ø7Ô?ð	ñ ô €ð�.ð ¨ð ¸ð ð ð ð ð €zØ6Ø”Ø	ØŒjØ
ðñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð €zØ.Ø	ˆØ&Ø;ÔLð
ñ 
ô 
ð Ô ØŒjØ
ð	ñ 	ô 	€ð (Ð'ØØŒnØ
Ø7ÔCð	ñ ô €ð 
&Ð	%ØØŒlØ
Ø7Ô?ð	
ñ 
ô 
€ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð €zØ.Ø	ˆØ&Ø;ÔLð
ñ 
ô 
ð Ô ØŒjØ
ð	ñ 	ô 	€ð *Ð)ØØÔØ
Ø7Ô?ð	ñ ô €
ð 	%Ð$ØØŒmÔ!Ø
Ø7Ô?ð		ñ 	ô 	€ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 'Ð
&ØØŒmØ
Ø7Ô?ð	ñ ô €ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 3Ð2ØØŒmÔ/Ø
Ø7Ô?ð	ñ ô Ð ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð #Ð"Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð 	%Ð$ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð $Ð#Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð 	&Ð%Ø	ØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð ,Ð+ØØÔØ
Ø7Ô?ð	ñ ô €ð +Ð*ØØÔØ
Ø7Ô?ð	ñ ô €
ð ,Ð+ØØÔØ
Ø7Ô?ð	ñ ô €ð 'ð 'ð 'ð $Ð#Ø	ØØ
Ø7Ô?ð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ð %Ð$Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð %Ð$Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð %Ð$Ø
ØŒjØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ð 	&Ð%ØØŒkØ
Ø7Ô?ð		ñ 	ô 	€ð 
'Ð	&ØØŒmÔ$Ø
Ø7Ô?ð	
ñ 
ô 
€ð (Ð
'ØØŒmÔ%Ø
Ø7Ô?ð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ðØ˜
Ñ"ðØ'5¸
Ñ'Bðàðð ð ð ð (Ð
'ØØØ
Ø7Ô?ð	ñ ô €ðØ˜
Ñ"ðØ'5¸
Ñ'Bðàðð ð ð ð (Ð
'ØØØ
Ø7Ô?ð	ñ ô €ð $Ð#Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð #Ð"ØØŒhØ
Ø7ÔCð	ñ ô €ð *Ð)ØØŒoØ
Ø7Ô?ð	ñ ô €	ð $Ð#Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð *Ð)ØØŒoØ
Ø7Ô?ð	ñ ô €	ð +Ð*ØØÔ&Ø
Ø7Ô?ð	ñ ô €
ð 7Ð6ØØÔ'Ø
Ø7Ô?ð	ñ ô Ð ð  Ð à#Ð#Ø	ØŒiØ
Ø7Ô?ð	ñ ô €ð %Ð$Ø
ØŒmÔ Ø
Ø7Ô?ð	ñ ô €ð=Øð=Ø&ð=Ø0:ð=ØLOð=àð=ð =ð =ð =ð,=Øð=Øð=Ø(2ð=ØDGð=àð=ð =ð =ð =ð€ð
 ˆZØjØ	ØØÔ Øðñ ô €
ðT@ØðT@Ø'ðT@Ø?GÈ¼}ðT@ð T@ð T@ð T@ðn
ð 
ð 
ð	Ð ð �:ØcØ	Ø$ØÔ Øðñ ô Ð ð˜vð ¨cð ¸ð Àð ð ð ð ð=˜Ið =¨cð =¸ð =ÀÀcÈ3ÀhÄð =ð =ð =ð =ð&P"ØðP"Ø!ðP"Ø(+ðP"Ø<?À$¹JðP"à
ˆ9�tÑ˜Z¨$Ñ.Ð.Ô/ðP"ð P"ð P"ð P"ðf
D˜>ð 
D°#ð 
D¸Cð 
DÀNð 
Dð 
Dð 
Dð 
Dð˜6ð ¨#ð °Cð ¸Fð ð ð ð ð
Ð ð" �
ØHØ	Ø!ØÔ Øðñ ô €ð�.ð  ^ð ð ð ð ð€	ð €zØ+Ø	ØŒjØÔ Øðñ ô €ð ;?ñ@ð @Øð@Ø#3ð@àð@ð @ð @ð @ð4D�~ð D¨Cð D¸sð DÀ~ð Dð Dð Dð Dð:�vð  Cð °sð ¸vð ð ð ð ð€ð ˆJØNØ	ØØÔ Øðñ ô €	ðD�^ð D°ð D¸nð Dð Dð Dð Dð.€ð ˆ*Ø@Ø	ØŒmØÔ Øðñ ô €ðR�~ð RÐ4Dð RÈð Rð Rð Rð Rð$)�vð )Ð,<ð )Àð )ð )ð )ð )ð€ð ˆJØCØ	ØØÔ Øðñ ô €	ðA�^ð A¨ð Að Að Að Að�Vð  ð ð ð ð ð€ð ˆ*Ø.Ø	ØØÔ Øðñ ô €ð˜~ð °e´kð Ànð ð ð ð ð˜vð ¨e¬kð ¸fð ð ð ð ðÐ ð �JØFØ	 Ø%ØÔ Øðñ ô Ð ð/Øð/à	ð/ð ð/ð ð	/ð
 ð/ð ð/ð /ð /ð /ð8Ð ð
  �ZØyØ	!ØÔ&Ø”Øðñ ô Ð ð"�fð " Sð "¨sð "°vð "ð "ð "ð "ð�fð  Sð ¨sð °vð ð ð ð ð€ð
 ˆ:Ø=Ø	ØØ”Øðñ ô €ð�x Ô/ð °cð ¸nð ð ð ð ð@#�u˜V S˜[Ô)¨D°¬LÑ8ð #¸sð #Àvð #ð #ð #ð #ð€ð €jØ5Ø	ØØ”Øðñ ô €ðX�^ð X¨Ið Xð Xð Xð XðI�Vð I Ið I°&ð Ið Ið Ið Ið€ð ˆ*Ø8Ø	ØØ”Øðñ ô €ðD�ð DÐ'7ð D¸Nð Dð Dð Dð Dð
€ð €jØ0Ø	ØŒjØ”Øðñ ô €ðØ
ðØ+ðØ0>ðàðð ð ð ð€
ð 	ˆ
Ø=Ø	ØŒkØ”Øð	ñ 	ô 	€ð7 .ð 7¸¼ð 7Èð 7ð 7ð 7ð 7ð " &ð "°´ð "Àð "ð "ð "ð "ð$Ð ð "�zØGØ	#Ø(Ø”Ø!Ø
Œ)Ô
Ð	ðñ ô Ð ð AFñ
Cð 
CØð
CØ" U¤\Ñ1ð
Càð
Cð 
Cð 
Cð 
Cð 9>ñ3ð 3Øð3Ø˜Uœ\Ñ)ð3àð3ð 3ð 3ð 3ð€ð ˆZØSØ	ØØ”Øðñ ô €
ð'�.ð ' Zð 'ð 'ð 'ð 'ð
€	ð2ð 2ð 2ð €zØ%Ø	Ø-Ø”Øðñ ô �ð'˜uœ{ð '¨zð 'ð 'ð 'ñ 'ð
&˜uœ{ð &ð &ð &ñ &ðÑ ð �
Ø6Ù	Ù!Ø”Ùðñ ô �ð'˜uœ{ð '¨zð 'ð 'ð 'ñ 'ð
&˜uœ{ð &ð &ð &ñ &ðÑ ð �
Ù6Ù	Ù!Ø”Ùðñ ô �ð�^ð ¨ð ñ ð ñ ð*�Vð  ð ¨6ð ñ ð ñ ñ�ð
 ˆ*Ù:Ù	ÙØÕ#ÙØ"&ññ ô �ð
˜.ð 
°)ð 
ñ 
ð 
ñ 
ð
˜&ð 
¨)ð 
¸ð 
ñ 
ð 
ñ 
ñÑ ð
 ˆzÙ>Ù	Ù Ø”Ùðñ ô �ð�Nð ¨9ð ñ ð ñ ð�Fð  9ð °ð ñ ð ñ ñ�ð 
ˆÙ?Ù	ÙØÕ#Ùð
ñ 
ô 
�ð 04ñ ð ñ ð ñ ñ$Að Añ Añ�ñ�ñ�	ñ�	ñ�	ñ�ð
˜sð ñ ð ñ ð 3ð ñ ð ñ ð ÑÙ	Ø�iÙññ ô �ð !%ñ	Hð Hñ HØ	ðHà
˜TÑ
!ðHð Œ;˜Ñð	Hð
 ðHñ Hð Hñ Hð Ñ
Ù	ÙÙññ ô �ð !%ñ	,ð ,ñ ,Ø	ð,à
˜TÑ
!ð,ð Œ;˜Ñð	,ð
 ð,ñ ,ð ,ñ ,ð$ ÑÙ	ÙÙññ ô �ñFñ Fð Fñ Fð ÑÙ	ÙÙññ ô �ð ÑÙ	Ø�jÙññ ô �ð ÑÙ	Ø�jÙññ ô �ñ�	ñØðð ñð ð	ð
 Œ;ðð ŒLñð ðð ðñ ð ñ ñ,Øðð ñð ð	ð
 Œ;ðð ŒLñð ðð ðñ ð ñ ð €zÙ}Ø”Ù	ÙÙðñ ô �ðPØðPØ %¤ðPØ5:´\ñPØRVðPàðPñ Pð Pñ PðWØðWØ %¤ðWØ5:´\ñWØRVðWàðWñ Wð Wñ Wñ�
ð 	ˆ
ÙdÙ	ÙØ”Ùð	ñ 	ô 	�ðPØðPàðPð Œ;ð	Pð
 ŒLñPð ðPð ðPñ Pð Pñ PñÑ ð
 �
Ù~Ø”Ù	ØÕ!Ùðñ ô �ð%Øñ%à%ð%ð Œ;ð	%ð
 ŒLñ%ð ð%ð ð%ñ %ð %ñ %ñPÑ ð �ñ EØ”Ù	ØÕ"Ùðñ ô �ð	PØñ	Pàð	Pð Œ;ð		Pð
 ŒLñ	Pð ð	Pð ð	Pñ 	Pð 	Pñ 	PðØñàðð Œ;ð	ð
 ŒLñð ðð ðñ ð ñ ñ$�	ð
 €zÙvÙ	ÙØ”Ùðñ ô �ðFØñFàðFð Œ;ð	Fð
 ŒLñFð ðFð ðFñ Fð Fñ FðØñàðð Œ;ð	ð
 ŒLñð ðð ðñ ð ñ ñ$�ð ˆJÙuÙ	ÙØ”Ùðñ ô �	ñXØðXð Œ;ðXð ŒLð	Xð
 ðXñ Xð Xñ XñCØðCð Œ;ðCð ŒLð	Cð
 ðCñ Cð Cñ CñÑ ð
 �
Ù^Ù	Ù!Ø”Ùðñ ô �ñ"Øñ"Ø)-ð"à
ˆ>˜>¨>Ð9Ô:ð"ñ "ð "ñ "ñJ<Øñ<Ø)-ð<à
ˆ6�6˜6Ð!Ô"ð<ñ <ð <ñ <ñ�ð €jÙTÙ	ÙØ” +¤/°;´?ÐCÙðñ ô �ð, )-ñPð Pð PØñPñ ‘'‰/ñPñ 
ð	Pð
 Œ;ðPð ŒLñPð ñPð � Ñ%ðPð ðPñ Pð Pñ Pð@ )-ñð ð Øññ ‘'‰/ññ 
ð	ð
 Œ;ðð ŒLñð ñð � Ñ%ðð ðñ ð ñ ñ"�ð 
ˆñ 	Wà”Ù	ÙÙð
ñ 
ô 
�ð& )-ñ
Oð 
Oð 
OØñ
Oñ 
ñ
Oñ ð	
Oð
 Œ;ð
Oð ŒLð
Oð ñ
Oð � Ñ%ð
Oð ð
Oñ 
Oð 
Oñ 
Oð* )-ñð ð Øññ 
ññ ð	ð
 Œ;ðð ŒLðð ñð � Ñ%ðð ðñ ð ñ ñ�ð
 �*ñ	Oð ”Ù	ÙÙð	ñ 	ô 	�ð VØðVð 
ñVð ð	Vð
 ðVñ Vð Vñ Vð&?Øð?ð 
ñ?ð ð	?ð
 ð?ñ ?ð ?ñ ?ñ�ð
 ˆ*ÙHÙ	ÙØ”Ùðñ ô �ðØðð 
ñð ð	ð
 ðñ ð ñ ð >Øð>ð 
ñ>ð ð	>ð
 ð>ñ >ð >ñ >ñ�ð
 ˆ*ÙGÙ	ÙØ”Ùðñ ô �ðVØðVð 
ñVð ð	Vð
 ðVñ Vð Vñ Vð DØðDð 
ñDð ð	Dð
 ðDñ Dð Dñ Dñ�ð
 ˆ*ÙOÙ	ÙØ”Ùðñ ô �ñM�nð M¨¨~¸~Ð/MÔ)Nð Mñ Mð Mñ Mð 	ˆ
ÙEÙ	Ø” +¤/Ð2Ø�kØ
ð	ñ 	ô 	�ð˜.ð ñ ð ñ ð ˆjÙ$Ù	Ø”ÙÙAðñ ô �ñ	ñ 	ð 	ñ 	ð ˆzÙ0Ù	ØÕ ÙÙ^ðñ ô �ð ……× Ó ™lÑ +Ô +Ð +ð Ð Ñ Ô Ð Ø Ð Ñ Ô Ð Ð Ð rÃ   