§
    J�’j�› ã                   ó¬l  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 d dlmZ d dlmZmZmZmZ d dlmZmZmZmZmZ d dlZd dlmZ d dlmZ d dlmc m Z! d dlm"Z"m#Z#m$Z$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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZBmCZC d d	lDmEZE g d
¢ZFejG        ZGejH        jI        ZIejJ        jK        jL        ZLd„ ZMd„ ZNd„ ZOddœd„ZPd dlQmRZR  eS¦   «         ZTeTdddœdefd„ZUd„ ZVd„ ZW eUe,jX        d¬¦  «        d„ ¦   «         ZY eUe,jZ        ¦  «        d„ ¦   «         Z[ eUe,jZ        ¦  «        d„ ¦   «         Z\ eUe,jZ        ¦  «        d„ ¦   «         Z] eUe,jZ        ¦  «        d„ ¦   «         Z^ eUe,jZ        ¦  «        d„ ¦   «         Z_ eUe,jZ        ¦  «        d„ ¦   «         Z` eUe,ja        ¦  «        d „ ¦   «         Zb eUe,ja        d¬¦  «        d!„ ¦   «         Zc eReLjd        ¦  «        d"e:fd#„¦   «         Zd eReLje        ¦  «         eC¦   «         d"e:fd$„¦   «         ¦   «         Ze eUe,jZ        ¦  «        d%„ ¦   «         Zf eUe,jZ        ¦  «        d&„ ¦   «         Zg eUe,jZ        ¦  «        d'„ ¦   «         Zh eUe,jZ        ¦  «        d(„ ¦   «         Zi eUe,jZ        ¦  «        d)„ ¦   «         Zj eUe,jZ        ¦  «        d*„ ¦   «         Zk eUe,jZ        ¦  «        d+„ ¦   «         Zl eUe,jZ        ¦  «        d,„ ¦   «         Zm eUe,jZ        ¦  «        d-„ ¦   «         Zn eC¦   «          eAd.e,jo        ¬/¦  «        d0e:d1e4de:fd2„¦   «         ¦   «         Zpd0e:d1e4de:fd3„Zq eReLjr        ¦  «         eC¦   «         d"e:de:fd4„¦   «         ¦   «         Zr eUe,ja        d¬¦  «        d5„ ¦   «         Zs eUe,ja        d¬¦  «        d6e:de:fd7„¦   «         Ztd0e:de:fd8„Zu eUe,jv        d¬9¦  «        d0e:de:fd:„¦   «         Zw eUe,jv        ¦  «        d0e:de:fd;„¦   «         Zx eUe,jv        d¬¦  «        d0e:de:fd<„¦   «         Zy eUe,jv        d¬¦  «        d0e:de:fd=„¦   «         Zz eUe,jv        ¦  «        d0e:de:fd>„¦   «         Z{ eVej|        j}        d?¦  «        Z~ eUe,jv        d¬9¦  «        d0e:de:fd@„¦   «         Z eUe,jZ        eLj€        ¬9¦  «        dA„ ¦   «         Z€ eUe,jZ        ¦  «        dB„ ¦   «         Z� eUe,jZ        ¦  «        dC„ ¦   «         Z‚ eUe,jZ        ¦  «        dD„ ¦   «         Zƒ eUe,jZ        ¦  «        dE„ ¦   «         Z„ eUe,jZ        ¦  «        dF„ ¦   «         Z… eC¦   «         	 �düd0e:dGe†dHej‡        dz  de:fdI„¦   «         Zˆ eReLj‰        ¦  «         eC¦   «          eAdJe,jZ        ¬/¦  «        	 �dýdKe:dGe*dLeŠde:fdM„¦   «         ¦   «         ¦   «         Z‰ eReLj‹        ¦  «         eC¦   «         	 	 	 �dþd0e:dOe4dz  dPe4dz  dQe4dz  de:f
dR„¦   «         ¦   «         Z‹d0e:fdS„ZŒ eUe,ja        eŒ¬T¦  «        dU„ ¦   «         Z�d0e:de:fdV„ZŽd0e:de:fdW„Z� eUe,jZ        ¦  «        dX„ ¦   «         Z� eReLj‘        ¦  «         eC¦   «          eAd.e,ja        ¬/¦  «        d dYœd0e:dZe†de:fd[„¦   «         ¦   «         ¦   «         Z‘ eUe,jZ        ¦  «        d\„ ¦   «         Z’ eUe,jZ        ¦  «        d0e:de:fd]„¦   «         Z“ eUe,ja        d¬¦  «        d^„ ¦   «         Z” eUe,ja        d¬¦  «        d_„ ¦   «         Z• eUe,jv        d¬¦  «        d`„ ¦   «         Z– eUe,jZ        ¦  «        da„ ¦   «         Z— eUe,jZ        ¦  «        db„ ¦   «         Z˜ eUe,jZ        ¦  «        dc„ ¦   «         Z™ eUe,jZ        ¦  «        dd„ ¦   «         Zš eUe,j›        d¬9¦  «        d0e:de:fde„¦   «         Zœ eUe,jZ        ¦  «        df„ ¦   «         Z� eUe,jZ        ¦  «        dg„ ¦   «         Zž eUe,ja        d¬¦  «        dh„ ¦   «         ZŸdKe:de:fdi„Z eTddddddfdefdj„Z¡d0e:e4z  dke:e4z  dej‡        fdl„Z¢ eReLj£        ¦  «         eC¦   «          eAdme,ja        ¬/¦  «        ddnœd0e:e4z  dke:e4z  doe4dz  fdp„¦   «         ¦   «         ¦   «         Z£ e¡e,jZ        dd¬q¦  «        dr„ ¦   «         Z¤ e¡e,ja        ¬s¦  «        d0e:dke:de:fdt„¦   «         Z¥ e¡e,ja        ¬s¦  «        d0e:dke:de:fdu„¦   «         Z¦ e¡e,ja        ¬s¦  «        d0e:dke:de:fdv„¦   «         Z§ e¡e,ja        ¬s¦  «        d0e:dke:de:fdw„¦   «         Z¨ e¡e,ja        ¬s¦  «        d0e:dke:de:fdx„¦   «         Z© e¡e,jZ        d¬y¦  «        d0e:e4z  dke:e4z  fdz„¦   «         Zª eReLj«        ¦  «         eC¦   «         dd{œd0e:e4z  dke:e4z  d|e¬dz  fd}„¦   «         ¦   «         Z« e¡e,jv        d¬y¦  «        d0e:dke:de:fd~„¦   «         Z­ e¡e,j›        ¬s¦  «        d0e:e4z  dke:e4z  de:fd„¦   «         Z® eC¦   «         d0e:e4z  dke:e4z  deGfd€„¦   «         Z¯ e¡ej,        ja        dd¬�¦  «        d0e:e4z  dke:e4z  fd‚„¦   «         Z°d0eGdkeGdeGfdƒ„Z±d0eGdkeGdeGfd„„Z² e¡e,ja        dd¬q¦  «        d0e:dke:de:fd…„¦   «         Z³ e¡e,ja        dd¬q¦  «        d0e:dke:de:fd†„¦   «         Z´ e¡e,ja        dd¬q¦  «        d0e:dke:de:fd‡„¦   «         Zµ eReLj¶        ¦  «         eCdˆd‰¦  «        dKe:de·e:e:f         fdŠ„¦   «         ¦   «         Z¶ e¡e,ja        dd¬q¦  «        d0e:dke:de:fd‹„¦   «         Z¸ e¡e,jv        d¬y¦  «        d0e:dke:de:fdŒ„¦   «         Z¹ e¡e,jv        d¬y¦  «        d0e:dke:de:fd�„¦   «         Zº e¡e,ja        dd¬q¦  «        d"e:dŽe:de:fd�„¦   «         Z» e¡e,ja        dd¬q¦  «        d0e:dke:de:fd�„¦   «         Z¼ e¡e,jZ        dd¬q¦  «        d0e:dke:de:fd‘„¦   «         Z½ e¡e,jZ        dd¬q¦  «        d0e:dke:de:fd’„¦   «         Z¾d“e¬d0e:dke:d”e¿d•e¿ddfd–„ZÀ	 	 	 �dÿd0e:dke:d”e¿d•e¿d™eŠde:fdš„ZÁ e¡e,ja        dd¬q¦  «        d0e:dke:fd›„¦   «         ZÂ e¡e,jv        d¬y¦  «        d0e:dke:de:fdœ„¦   «         ZÃ e¡e,ja        dd¬q¦  «        d0e:dke:de:fd�„¦   «         ZÄ e¡e,ja        dd¬q¦  «        d0e:dke:de:fdž„¦   «         ZÅ e¡e,jv        ¬s¦  «        d0e:dke:fdŸ„¦   «         ZÆ eUe,jv        ¦  «        d0e:fd „¦   «         ZÇ e¡e,jv        ¬s¦  «        d0e:dke:fd¡„¦   «         ZÈ e¡e,jv        ¬s¦  «        d0e:dke:fd¢„¦   «         ZÉ e¡e,jv        d¬y¦  «        d0e:dke:de:fd£„¦   «         ZÊ e¡e,ja        ¬s¦  «        d0e:dke:de:fd¤„¦   «         ZË e¡e,ja        ¬s¦  «        d0e:dke:de:fd¥„¦   «         ZÌ e¡e,ja        d¬¦¦  «        d0e:dke:de:fd§„¦   «         ZÍ e¡e,jv        d¬y¦  «        d0e:dke:de:fd¨„¦   «         ZÎ e¡e,jo        dd¬q¦  «        d0e:dke:de:fd©„¦   «         ZÏ e¡e,ja        ¬s¦  «        d0e:dke:de:fdª„¦   «         ZÐ eReLjÑ        ¦  «         eC¦   «         	 �d d0e:e4z  dke:e4z  doe4fd¬„¦   «         ¦   «         ZÑ eReLjÒ        ¦  «         eC¦   «          eAdme,ja        ¬/¦  «        d«dnœd0e:e4z  dke:e4z  doe4fd­„¦   «         ¦   «         ¦   «         ZÒ e¡e,jZ        d®dd¬¯¦  «        d0e:dke:de:fd°„¦   «         ZÓ eReLjÔ        ¦  «         eC¦   «          eAdme,jZ        ¬/¦  «        d0e:e4z  dke:e4z  fd±„¦   «         ¦   «         ¦   «         ZÔ e¡ej,        ja        dd¬²¦  «        d0e:e4z  dke:e4z  fd³„¦   «         ZÕ eReLjÖ        ¦  «         eC¦   «          eAd´e,jZ        ¬/¦  «        d«dµœdKe:d¶e:d·e:d1e4de:f
d¸„¦   «         ¦   «         ¦   «         ZÖ eReLj×        ¦  «         eC¦   «          eAd´e,ja        ¬/¦  «        d«dµœdKe:d¶e:d·e:d1e4de:f
d¹„¦   «         ¦   «         ¦   «         Z× eReLjØ        ¦  «         eC¦   «          eAdºe,ja        ¬/¦  «        	 	 �dd0e:d»e;dz  d¼e;dz  de:fd½„¦   «         ¦   «         ¦   «         ZØ eReLjÙ        ¦  «         eC¦   «         	 �düdKe:d»e;dz  de:fd¾„¦   «         ¦   «         ZÙ eReLjÚ        ¦  «         eC¦   «         	 �düdKe:d¼e;dz  de:fd¿„¦   «         ¦   «         ZÚ eReLjÛ        jÜ        ¦  «        dÀeGde·eGdÁf         fdÂ„¦   «         ZÝ eReLjÛ        jÞ        ¦  «         eReLjÛ        jß        ¦  «         eReLjÛ        jà        ¦  «         eReLjÛ        já        ¦  «         eReLjÛ        jâ        ¦  «         eCd¬¦  «         eAdme,jo        ¬/¦  «        	 	 �ddÀeGd0e;dz  dke;dz  fdÃ„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ZÛ eReLjã        ¦  «         eC¦   «         ejä        dÄœd0e:dÅejå        de:fdÆ„¦   «         ¦   «         ZãddÇœd0eGdkeGfdÈ„Zæ eReLjç        ¦  «        d0e:de4fdÉ„¦   «         Zç	 	 	 	 	 	 	 �dd0e:dÊe'dz  dHej‡        dz  dËeŠdz  dÌejè        dz  dÅejå        dz  dÍeŠdz  dÎeŠdeŠfdÏ„ZéedÐ„ ¦   «         Zêeêjë        	 	 	 �ddÊejì        dHej‡        dÎeŠdËeŠdÅejå        dz  deíe¬ef         fdÑ„¦   «         Zîeêjë        	 	 	 �ddÊe¬dHej‡        dÎeŠdËeŠdÅejå        dz  deíe¬ef         fdÒ„¦   «         Zïeêjë        	 	 	 �ddHej‡        dÎeŠdËeŠdÅejå        dz  deíe¬ef         f
dÓ„¦   «         Zðeêjë        	 	 	 �ddÔeGdÎeŠdËeŠdÅejå        dz  deíe¬ef         f
dÕ„¦   «         Zñd0eGdÖeífd×„Zòd0e:de:fdØ„ZódddddddÙœd0e:dÚedÛeŠdÜeŠdÝe*dz  dÞeŠdHej‡        dz  dßeGdz  dàe6de:fdá„Zô�dýdâ„Zõ eReLjö        ¦  «         eC¦   «         	 	 �dd0e:dGe*dz  dLeŠde:fdã„¦   «         ¦   «         Zö eReLj÷        ¦  «         eC¦   «         	 	 �dd0e:dGe*dz  dLeŠde:fdä„¦   «         ¦   «         Z÷ eReLjø        jù        eLjø        jú        g¦  «        	 	 �ddddåœd0e:dGe†dz  eûe†         z  dLeŠdHej‡        dz  dßeGdz  de:fdæ„¦   «         Zød0eGdeGfdç„Zü eReLjý        ¦  «        	 	 �ddddåœd0e:dGe†dz  eûe†         z  dLeŠdßeGdz  de:f
dè„¦   «         Zý eReLjþ        ¦  «        	 	 �dddéœd0e:dGe*dz  dLeŠdßeGdz  de:f
dê„¦   «         Zþ eReLjÿ        ¦  «        	 	 �dddéœd0e:dGe*dz  dLeŠdßeGdz  de:f
dë„¦   «         Zÿ�ddì„�Z  eReL�j        ¦  «         eC¦   «         	 	 	 �dddíœd0e:dGe*dz  dîeŠdz  dLeŠdïe4dz  de:fdð„¦   «         ¦   «         �Z eReL�j        ¦  «         eC¦   «         	 	 	 �dddíœd0e:dGe†dz  eûe†         z  dîeŠdz  dLeŠdïe4dz  de:fdñ„¦   «         ¦   «         �Z eReL�j        ¦  «        	 	 �ddddåœd0e:dGe*dz  dLeŠde:fdò„¦   «         �Z eReL�j        ¦  «         eCdódô¦  «        	 �düddddõœd0e:dGe*dz  dîeŠdz  dLeŠdïe4dz  f
dö„¦   «         ¦   «         �Z eReL�j        ¦  «         eCdódô¦  «        	 	 	 �dddíœd0e:dGe*dz  dîeŠdz  dLeŠdïe4dz  f
d÷„¦   «         ¦   «         �Z eReL�j        ¦  «         eC¦   «          eAdøe,ja        ¬/¦  «        d«d«dùœdKe:dúe:dûe:düe4doe4de:fdý„¦   «         ¦   «         ¦   «         �Zdþe:e
e:         z  dÿe:de:e·e:dÁf         z  f�d „�Z�dedGe†dþe:de:f�d„�Zdþe:e
e:         z  dÿe:de:e·e:dÁf         z  f�d„�Z	dþe:e
e:         z  dÿe:de:e·e:dÁf         z  f�d„�Z
	 �düd0e:�de7�de8�de†dz  de:f
�d„�Z eReL�j        ¦  «         eC¦   «         	 �düd"e:�d	e:�de7�de8�de†dz  de:f�d
„¦   «         ¦   «         �Zde7f�d„�ZeL�j        jÜ        �                     eI�j        ¦  «        eL�j        jÜ        �                     eI�j        ¦  «        deûe:         f�d„¦   «         ¦   «         �Zd0e:�de7de:f�d„�Z eReL�j        ¦  «         eC¦   «          eA�de,jo        ¬/¦  «        �d�de<dGe†de:f�d„¦   «         ¦   «         ¦   «         �Z eC¦   «         �de<de:f�d„¦   «         �Zd"e:de:f�d„�Z eReL�j        ¦  «         eC¦   «         	 �dd"e:�deûe†         d1e4de:f�d„¦   «         ¦   «         �Ze�j        dÄœd0eGdÅejå        deGf�d„�Z eC¦   «         �de<de:f�d„¦   «         �Z eReL�j        ¦  «        d�dœd0eG�deŠdeGf�d„¦   «         �Zd0eGdkeGdeGf�d„�Z�dd0e:�de†dGe†de·e:dÁf         f�d„�Z�dd0e:�de†�de†de:f�d „�Z eReL�j        ¦  «         eC¦   «         d0e:dÝe)de:f�d!„¦   «         ¦   «         �Zd0e:de:f�d"„�Zd0e:de:f�d#„�Z d0e:dGe†�d$e†e:z  �d%e†de:f
�d&„�Z!d0eG�d'e*�d(e¿de·eGeGeGf         f�d)„�Z"d6e:�d*eûe†         de:f�d+„�Z# eReL�j$        jÜ        ¦  «        d"eG�d,eGdz  �d-eGdz  �d.e†�d/e†�d0e†�d1e†�d(e¿de·eGeGeGf         f�d2„¦   «         �Z$ eReL�j%        ¦  «         eCdódô�d3¦  «        d"eG�d4e7�d,eGdz  �d-eGdz  �d(e¿de·eGeGeGf         f�d5„¦   «         ¦   «         �Z%e�j&        �j'        � (                    eL�j%        jÜ        ¦  «        �d6„ ¦   «         �Z) eReL�j*        ¦  «        d0e:de:f�d7„¦   «         �Z* eReL�j+        ¦  «         eC¦   «         d"e:�d8e5dGe†�d9e5de:f
�d:„¦   «         ¦   «         �Z+eL�j,        �j-        �                     eI�j        ¦  «        	 	 	 	 	 	 	 	 	 �dd"eG�d<e†�d=e†dz  �d>e†dz  �d?eGdz  �d@eŠ�dAe¬�dBeŠ�dCeŠdz  �dDeŠdz  �dEeŠdz  deGf�dF„¦   «         �Z,eL�j.        jÜ        �                     eI�j        ¦  «        	 	 	 	 	 	 	 	 �d	d"eG�d<e†�d=e†dz  �d>e†dz  �d?eGdz  �d@eŠ�dBeŠ�dCeŠdz  �d%e†dz  deGf�dG„¦   «         �Z.�dHe7�dIe8�dJe†�de†�dKe†f
�dL„�Z/ eReL�j0        ¦  «         eC¦   «         d0eGdeGf�dM„¦   «         ¦   «         �Z0d0e:�dNeŠde:f�dO„�Z1d0e:�dNeŠde:f�dP„�Z2d0e:�dQe7de:f�dR„�Z3dKe:dÔe:de:f�dS„�Z4 eReL�j5        ¦  «         eC¦   «         �d
d0e:�dUe*dÝe*de:f�dV„¦   «         ¦   «         �Z5 eReL�j6        ¦  «         eC¦   «         	 �dd0e:�dXe†dÝe)de:f�dY„¦   «         ¦   «         �Z6�de<ddf�dZ„�Z7 eReL�j8        ¦  «         eC¦   «         �d�de<dGe†de:f�d[„¦   «         ¦   «         �Z8 eC¦   «         	 �düd0e:dGe†dHej‡        dz  de:f�d\„¦   «         �Z9 eC¦   «         �de<de:f�d]„¦   «         �Z: eC¦   «         �de<de:f�d^„¦   «         �Z;d0e:dGe†�d_e7de:f�d`„�Z< eReL�j=        ¦  «        �d�dae:dGe†de<f�db„¦   «         �Z= eC¦   «         d6e9dGe†�dce9�dde9f�de„¦   «         �Z>d6e9dGe†�dce9�dde9f�df„�Z? eReL�j@        ¦  «         eC¦   «         d6e9dGe†�dce9d1e4e9z  f�dg„¦   «         ¦   «         �Z@ eReL�jA        ¦  «        d6e9dGe†�dce9d1e4e9z  f�dh„¦   «         �ZAd6e9dGe†�dce9d1e4e9z  �dieŠf
�dj„�ZB eC¦   «         d«dnœd6e9dGe†�dce9�dde9doe4f
�dk„¦   «         �ZC eReL�jD        ¦  «         eC¦   «         d6e9dGe†�dce9f�dl„¦   «         ¦   «         �ZD eReL�jE        �jF        ¦  «        �düd0e:dGe*dz  de:f�dm„¦   «         �ZE eReL�jG        ¦  «        	 �ddKeG�dneûe†         dGe†deûeG         f�do„¦   «         �ZG	 �dd0e:�dpeGe*z  dGe†de·e:dÁf         f�dq„�ZHd0e:�dpe*de·e:dÁf         f�dr„�ZId0e:�dpe*de·e:dÁf         f�ds„�ZJ eReL�jK        �jL        ¦  «         eC¦   «         	 �ddKe:�dte†de:f�du„¦   «         ¦   «         �ZK eReL�jM        ¦  «         eC¦   «         	 	 	 �dd"e:�d	e:�dte†�dve†�dwe†de:f�dx„¦   «         ¦   «         �ZM eReL�jN        ¦  «        	 	 	 �ddKe:�dte†�dve†�dwe†de:f
�dy„¦   «         �ZN eReL�jO        ¦  «         eC¦   «         	 	 	 �d�dae:�dte†�dve†�dwe†de:f
�d{„¦   «         ¦   «         �ZO eReL�jP        ¦  «         eC¦   «         �deûe:         de:f�d|„¦   «         ¦   «         �ZQ�deûe:         de:f�d}„�ZPd0e:�d~e*de<f�d„�ZR eReL�jS        jÜ        ¦  «        d0e:f�d€„¦   «         �ZSd0e:de:f�d�„�ZT eReL�jU        ¦  «        d0e:de:f�d‚„¦   «         �ZU eReL�jV        ¦  «        d0e:�dƒe†�dve†de:f�d„„¦   «         �ZV�eV�ZW eReL�jX        ¦  «        dKe:�dJe†�de†�dKe†de:f
�d…„¦   «         �ZX eReL�jY        ¦  «         eC¦   «         dKe:�dJe†�de†�dKe†f�d†„¦   «         ¦   «         �ZYdddåœd0e:dGe†dHej‡        dz  dßeGdz  de:f
�d‡„�ZZ eReL�j[        ¦  «        dddåœd0e:dGe†dHej‡        dz  dßeGdz  de:f
�dˆ„¦   «         �Z[ eReL�j\        ¦  «        dddåœd0e:dGe†dHej‡        dz  dßeGdz  de:f
�d‰„¦   «         �Z\ eReL�j]        ¦  «        d0e:dGe†de:f�dŠ„¦   «         �Z] eReL�j^        jÜ        ¦  «        d0e:�dQe7e·e7         z  de:f�d‹„¦   «         �Z^dKe:dÔe:de:f�dŒ„�Z_d0e:de:f�d�„�Z` eC¦   «         	 �düd0ejG        �dŽejG        dGe†dz  dejG        f�d�„¦   «         �Za eC¦   «         de�jb        ddde�j        �d�œdHej‡        dz  dÌejè        dÊe'dz  �d‘eŠdÍeŠdÅejå        de:f�d’„¦   «         �Zc eC¦   «         de�jb        dddfdHej‡        dz  dÌejè        dÊe'dz  �d‘eŠdÍeŠde:f�d“„¦   «         �Zd eReL�je        ¦  «         eC¦   «         dddd�d”œd0e:�de7dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠde:f�d•„¦   «         ¦   «         �Ze eReL�jf        ¦  «         eC¦   «         dddd�d”œd0e:�de7�de8dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠde:f�d–„¦   «         ¦   «         �Zf eReL�jg        jÜ        ¦  «         eC¦   «         de�jb        ddd�d—œdHej‡        dz  dÌejè        dÊe'dz  dÍeŠ�d‘eŠde:f�d˜„¦   «         ¦   «         �Zg eReL�jh        ¦  «         eC¦   «         ddddd�d—œd0e:�de7dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠ�d‘eŠde:f�d™„¦   «         ¦   «         �Zh eReL�ji        jÜ        ¦  «         eC¦   «         de�jb        ddd�d—œdHej‡        dz  dÌejè        dÊe'dz  dÍeŠ�d‘eŠde:f�dš„¦   «         ¦   «         �Zi eReL�jj        ¦  «         eC¦   «         ddddd�d—œd0e:�de7dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠ�d‘eŠde:f�d›„¦   «         ¦   «         �Zj eReL�jk        ¦  «         eC¦   «         dddd�d”œd0e:�de7�dœe4dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠde:f�d�„¦   «         ¦   «         �ZkeL�jc        �jL        �                     eI�j        ¦  «        	 �dü�de7dße:dÅejå        dz  de:f�dž„¦   «         �Zl eReL�jm        ¦  «         eC¦   «         dddddejä        �dŸœd0e:dHej‡        dz  dÊe'dz  dÌejè        dz  dÍeŠ�d‘eŠdÅejå        de:f�d „¦   «         ¦   «         �Zm eReL�jn        �jo        eL�jn        �jp        g¦  «         eC¦   «         	 	 	 �dde�jb        ddd�d—œ�d$e4�d¡e4dz  �dKe4dHej‡        dz  dÌejè        dÊe'dz  dÍeŠ�d‘eŠde:f�d¢„¦   «         ¦   «         �Zn eReL�jq        ¦  «         eC¦   «          eA�d£e,ja        ¬/¦  «        �d$eG�d¡eG�d,eGe4z  f�d¤„¦   «         ¦   «         ¦   «         �Zq eReL�jr        ¦  «         eC¦   «         dde�jb        dd�d¥œ�d$e4e:z  �d¡e4e:z  �d¦e4dHej‡        dz  dÊe'dz  dÌejè        dÍeŠ�d‘eŠde:f�d§„¦   «         ¦   «         �Zr eReL�js        ¦  «         eC¦   «         	 �ddde�jb        dd�d¥œ�d$e4e:z  �d¡e4e:z  �d¦e4�d©e4dHej‡        dz  dÊe'dz  dÌejè        dÍeŠ�d‘eŠde:f�dª„¦   «         ¦   «         �Zse�de
e:         �d«e¬f�d¬„¦   «         �Zte�de:�d«e¬f�d­„¦   «         �Zt eReL�jt        ¦  «        �de:eûe:         z  e·e:         z  �d«e¬deûe:         f�d®„¦   «         �Ztd"e:�d¯e†e)z  �d°e†e)z  de:f�d±„�Zu eReL�jv        ¦  «         eC¦   «         dde�jb        dd�d²œ�dQe7e·e7         z  �d³e8dHej‡        dz  dÊe'dz  dÌejè        �d‘eŠdÍeŠde:f�d´„¦   «         ¦   «         �Zv�dµe†dej‡        f�d¶„�Zw eReL�jx        ¦  «         eC¦   «         	 �düde�jb        ddd�d—œ�d·e†�d¸e†dz  dHej‡        dz  dÌejè        dÊe'dz  dÍeŠ�d‘eŠde:f�d¹„¦   «         ¦   «         �Zx eReL�jy        jÜ        eL�jy        �jL        g¦  «         eC¦   «         de�jb        ddd�d—œ�dQe7�dœe4dHej‡        dz  dÌejè        dÊe'dz  dÍeŠ�d‘eŠde:f�dº„¦   «         ¦   «         �Zydddddejä        �d»œd0e:�dœe4dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠ�d‘eŠdÅejå        de:f�d¼„�Zz eReL�j{        ¦  «         eC¦   «         dddddejä        �d»œd0e:dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠ�d‘eŠdÅejå        de:f�d½„¦   «         ¦   «         �Z{ eReL�j|        ¦  «         eC¦   «         dddddejä        �d»œd0e:dHej‡        dz  dÌejè        dz  dÊe'dz  dÍeŠ�d‘eŠdÅejå        de:f�d¾„¦   «         ¦   «         �Z| eReL�j}        jÜ        ¦  «         eC¦   «         ddddd�d²œdHej‡        dz  dÊe'dz  dÌejè        dz  �d‘eŠdÍeŠde:f�d¿„¦   «         ¦   «         �Z}de�jb        dd�d”œd0e4dHej‡        dz  dÌejè        dÊe'dz  dÍeŠde:f�dÀ„�Z~	 	 �d�dQe7�dÂeŠe†z  e¿z  �dÃeŠe†z  e¿z  �de7dHej‡        dÊe'de:f�dÄ„�Z eReL�j€        ¦  «         eC¦   «         d0e:�dÅe:d1e;f�dÆ„¦   «         ¦   «         �Z€ eReL�j�        ¦  «        d0e:�dÅe:d1e;de:f�dÇ„¦   «         �Z�	 	 	 �dÿd0e:dke:d”e¿d•e¿d™eŠdeŠf�dÈ„�Z‚d0e:dke:deŠf�dÉ„�Zƒ eReL�j„        ¦  «         eCd¬¦  «        	 	 	 �dd�dËœd"e:�d8e¿e¬z  dz  dGe*dz  dLeŠdHej‡        dz  de:f�dÌ„¦   «         ¦   «         �Z„ eReL�j…        ¦  «         eC¦   «         dKe:de:f�dÍ„¦   «         ¦   «         �Z…�dÎ„ �Z† �e†eÓ¦  «        �Z‡ �e†e°¦  «        �Zˆ �e†e®¦  «        �Z‰ eReL�jŠ        ¦  «         eC¦   «         �dd0e:�dÏe†de:f�dÐ„¦   «         ¦   «         �ZŠ eReL�j‹        ¦  «         eC¦   «         �dd0e:�dÏe†de:f�dÑ„¦   «         ¦   «         �Z‹�dÒe†�dÓe†�dte†de·e†e†e†f         f�dÔ„�ZŒd“e¬�dÒe†�dÓe†dHej‡        dÌejè        dÍeŠf�dÕ„�Z� eReL�jŽ        ¦  «         eC¦   «         	 �de�j�        e�jb        �dÖd�d”œ�dÒe†�dÓe†�dte†dHej‡        dÌejè        dÊe'dÍeŠde:f�d×„¦   «         ¦   «         �ZŽ�dÒe†�dÓe†�dte†de·e†e†e†f         f�dØ„�Z� eReL�j‘        ¦  «         eC¦   «         	 �de�j�        e�jb        �dÖd�d”œ�dÒe†�dÓe†�dte†dHej‡        dÌejè        dÊe'dÍeŠde:f�dÙ„¦   «         ¦   «         �Z‘ eReL�j’        ¦  «         eCd¬¦  «        dd�dÚœd0e;�dÛe:�dÜeŠ�dÝeŠf�dÞ„¦   «         ¦   «         �Z’ eReL�j“        ¦  «         eC¦   «          eAdJe,ja        ¬/¦  «        �d�dß„¦   «         ¦   «         ¦   «         �Z“ eReL�j”        ¦  «         eC¦   «          eAdJe,ja        ¬/¦  «        �d�dà„¦   «         ¦   «         ¦   «         �Z” eReL�j•        ¦  «         eC¦   «          eAdJe,ja        ¬/¦  «        �dü�dá„¦   «         ¦   «         ¦   «         �Z• eReL�j–        ¦  «         eC¦   «          eAdJe,ja        ¬/¦  «        �d�dã„¦   «         ¦   «         ¦   «         �Z– eReL�j—        ¦  «         eC¦   «          eA�däe,ja        ¬/¦  «        	 	 	 �dddddd�dåœ�dæ„¦   «         ¦   «         ¦   «         �Z— eReL�j˜        ¦  «        �dWd�dçœ�dè„¦   «         �Z˜ eUe,jZ        ¦  «        dKe:f�dé„¦   «         �Z™ eUe,jZ        ¦  «        dKe:f�dê„¦   «         �Zš eReL�j›        ¦  «         eC¦   «         �düdGe*dz  f�dë„¦   «         ¦   «         �Z›�dì„ �Zœ�dí„ �Z� eReL�jž        ¦  «         eCd¬¦  «        �e� eA�dîe,ja        ¬/¦  «        �dï„ ¦   «         ¦   «         ¦   «         ¦   «         �Zž eReL�jŸ        ¦  «         eCd¬¦  «        �e� eA�dîe,ja        ¬/¦  «        �dð„ ¦   «         ¦   «         ¦   «         ¦   «         �ZŸ eReL�j         ¦  «         eC¦   «         d6e:�d	e:dGe†�dce†f�dñ„¦   «         ¦   «         �Z  eWeY¦  «        �Z¡ eWe[¦  «        �Z¢ eWe\¦  «        �Z£ eWe£¦  «        �Z¤ eWe×¦  «        �Z¥ eWeÖ¦  «        �Z¦ eWe]¦  «        �Z§ eWe^¦  «        �Z¨ eWe_¦  «        �Z© eWe`¦  «        �Zª eWe¤¦  «        �Z« eWe¥¦  «        �Z¬ eWe¦¦  «        �Z­ eWeb¦  «        �Z® eWe§¦  «        �Z¯ eWe¨¦  «        �Z° eWe©¦  «        �Z± eWec¦  «        �Z² eWeØ¦  «        �Z³ eWeÙ¦  «        �Z´ eWeÚ¦  «        �Zµ eWee¦  «        �Z¶ eWeª¦  «        �Z· eWef¦  «        �Z¸ eWeg¦  «        �Z¹ eW�e[¦  «        �Zº eW�e\¦  «        �Z» eW�eš¦  «        �Z¼ eWeh¦  «        �Z½ eWe«¦  «        �Z¾ eWe­¦  «        �Z¿ eWei¦  «        �ZÀ eWek¦  «        �ZÁ eWej¦  «        �ZÂ eWel¦  «        �ZÃ eWen¦  «        �ZÄ eWem¦  «        �ZÅ eWe¯¦  «        �ZÆ eWes¦  «        �ZÇ eWe°¦  «        �ZÈ eWeµ¦  «        �ZÉ eWet¦  «        �ZÊ eWe¸¦  «        �ZË eWe¹¦  «        �ZÌ eWeº¦  «        �ZÍ eWe»¦  «        �ZÎ eWe¼¦  «        �ZÏ eWe½¦  «        �ZÐ eWe¾¦  «        �ZÑ eWe€¦  «        �ZÒ eWeÂ¦  «        �ZÓ eWeÃ¦  «        �ZÔ eW�eq¦  «        �ZÕ eWe�¦  «        �ZÖ eWe…¦  «        �Z× eWeƒ¦  «        �ZØ eWe„¦  «        �ZÙ eWe‚¦  «        �ZÚ eWeÆ¦  «        �ZÛ eWeÇ¦  «        �ZÜ eWeÈ¦  «        �ZÝ eWeÉ¦  «        �ZÞ eWeÊ¦  «        �Zß eWeÍ¦  «        �Zà eWe~¦  «        �Zá eWe‹¦  «        �Zâ eWeÎ¦  «        �Zã eWe�¦  «        �Zä eWeÏ¦  «        �Zå eWe®¦  «        �Zæ eW�e™¦  «        �Zç eWe�¦  «        �Zè eWeÐ¦  «        �Zé eWe’¦  «        �Zê eWe”¦  «        �Zë eWe“¦  «        �Zì eWe•¦  «        �Zí eWe—¦  «        �Zî eWe˜¦  «        �Zï eWe™¦  «        �Zð eWeš¦  «        �Zñ eWeœ¦  «        �Zò eWeÒ¦  «        �Zó eWe�¦  «        �Zô eWež¦  «        �Zõ eW�e‹¦  «        �Zö eW�eŠ¦  «        �Z÷ eWeÓ¦  «        �Zø eWeŸ¦  «        �Zù eWeÔ¦  «        �Zú eW�e“¦  «        �Zû eW�e”¦  «        �Zü eW�e•¦  «        �Zý eW�e–¦  «        �Zþ eWer¦  «        �Zÿ eõeL�jU        ¦  «        �Z  eõeL�j        ¦  «        �Z eõeL�jN        ¦  «        �Z eõeL�j        ¦  «        �Z eõeL�j!        ¦  «        �Z eõeL�jE        ¦  «        �Z eõeL�j*        ¦  «        �Z eõeL�jS        ¦  «        �Z eõeL�jV        ¦  «        �Z eõeL�j=        d�¬ò¦  «        �Z	 eõeL�j]        ¦  «        �Z
 eõeL�j^        ¦  «        �Z�dó„ �Z�dô„ �Z�dõ„ �Z�döej‡        �d÷e;e<z  f�dø„�Z	 �dý�dù„�Zdddd�dúœ�dû„�Zd d�lZd d�lZd d�lZd d�lZd d�lZdS (  é    N)ÚCallableÚIterableÚSequence)ÚEnum)ÚpartialÚreduceÚsingledispatchÚwraps)ÚAnyÚcastÚOptionalÚoverloadÚUnion)Ú	sym_floatÚsym_intÚsym_maxÚsym_min)ÚBoolLikeÚDeviceLikeTypeÚDimÚDimsSequenceTypeÚDimsTypeÚdtype_to_typeÚELEMENTWISE_TYPE_PROMOTION_KINDÚ	FloatLikeÚFloatWithoutSymFloatÚIntLikeÚ(is_contiguous_for_memory_format_or_falseÚis_contiguous_or_falseÚis_weakly_lesser_typeÚNumberÚ
NumberTypeÚRealNumberTypeÚREDUCTION_OUTPUT_TYPE_KINDÚ	ShapeTypeÚ
StrideTypeÚ
TensorLikeÚTensorLikeTypeÚTensorOrNumberLikeTypeÚTensorSequenceType)Ú_maybe_convert_to_dtypeÚ_maybe_resize_outÚ_safe_copy_outÚ"elementwise_type_promotion_wrapperÚ elementwise_unary_scalar_wrapperÚout_wrapper)Úhighest_precision_float(  ÚabsÚacosÚacoshÚasinhÚasinÚatanÚatanhÚbitwise_notÚceilÚconj_physicalÚcosÚcoshÚcount_nonzeroÚdeg2radÚdigammaÚerfÚerfinvÚerfcÚexpÚexpm1ÚexponentialÚexp2ÚfillÚfill_ÚfloorÚfracÚ	geometricÚ	index_addÚ
index_copyÚindex_copy_Úindex_selectÚ
index_fillÚindex_fill_ÚisfiniteÚisinfÚisposinfÚisneginfÚisnanÚisrealÚi0ÚlerpÚlgammaÚlogÚlog1pÚlog2Úlog10Ú
log_normalÚlog_softmaxÚmvlgammaÚnormÚnormalÚ
nan_to_numÚnegÚpositiveÚrad2degÚ
reciprocalÚroundÚsigmoidÚsgnÚsignÚsignbitÚsinÚsincÚsinhÚsoftmaxÚsqrtÚsquareÚtanÚtanhÚtraceÚtruncÚaddÚatan2Úbitwise_andÚbitwise_left_shiftÚ
bitwise_orÚbitwise_right_shiftÚbitwise_xorÚ	clamp_minÚ	clamp_maxÚcopysignÚdivÚeqÚfloat_powerÚfloor_divideÚfmaxÚfminÚfmodÚgcdÚgeÚgtÚ	heavisideÚhypotÚigammaÚigammacÚimagÚiscloseÚlcmÚleÚ	logaddexpÚ
logaddexp2Úlogical_andÚlogical_notÚ
logical_orÚlogical_xorÚ	logsumexpÚltÚmaximumÚminimumÚmulÚneÚ	nextafterÚpowÚrealÚrpowÚ	remainderÚrsubÚrtruedivÚ	rfloordivÚsubÚtrue_divideÚtrunc_divideÚxlogyÚaddcdivÚaddcmulÚclampÚmasked_fillÚmasked_fill_ÚwhereÚcloneÚcopy_toÚitemÚtoÚallÚamaxÚaminÚanyÚcumsumÚcumprodÚmeanÚdotÚvdotÚstdÚstd_meanÚsumÚsum_to_sizeÚprodÚvarÚvar_meanÚaddrÚaliasÚ
alias_copyÚ
atleast_1dÚ
atleast_2dÚ
atleast_3dÚ
as_stridedÚas_strided_copyÚas_strided_scatterÚ
block_diagÚbroadcast_shapesÚbroadcast_tensorsÚbroadcast_toÚcatÚchunkÚcolumn_stackÚconjÚconstant_pad_ndÚ
contiguousÚ
diag_embedÚdiagÚdiagonalÚdiagonal_copyÚdiagonal_scatterÚdsplitÚdstackÚexpandÚ	expand_asÚexpand_copyÚflattenÚflipÚfliplrÚflipudÚhsplitÚhstackÚmeshgridÚmovedimÚnarrowÚnarrow_copyÚnative_group_normÚnative_layer_normÚpermuteÚpermute_copyÚravelÚrepeatÚreshapeÚ
reshape_asÚrollÚrot90ÚrsqrtÚsplit_with_sizesÚstackÚ	swap_axesÚsqueezeÚsqueeze_copyÚtÚt_copyÚTÚtake_along_dimÚtensor_splitÚ	transposeÚtranspose_copyÚunbind_copyÚunfoldÚunfold_copyÚ	unsqueezeÚunsqueeze_copyÚviewÚview_asÚ	view_copyÚvsplitÚvstackÚview_as_complexÚ	unflattenÚunbindÚtriuÚtrilÚtriu_indicesÚtril_indicesÚarangeÚcauchyÚemptyÚ
empty_likeÚempty_permutedÚempty_stridedÚeyeÚfullÚ	full_likeÚlinspaceÚlogspaceÚ	new_emptyÚnew_empty_stridedÚnew_fullÚnew_onesÚ	new_zerosÚonesÚ	ones_likeÚrandnÚscalar_tensorÚzeroÚzerosÚ
zeros_likeÚallcloseÚequalÚ	bucketizeÚ
is_complexÚrenormÚstftÚistftc                 ó    — | d u p
| j         dk    S )NÚhpu©Útype©Údevices    úBC:\Projects\DSCons\.venv\Lib\site-packages\torch\_refs\__init__.pyÚis_noncontiguous_supportedr;  q  s   € Ø�Tˆ>Ð1˜Vœ[¨EÒ1Ð1ó    c                 ó˜   — d }ddl m} | D ]}t          ||¦  «        r	|j        } nŒt	          |¦  «        s|                     ¦   «         }|S )Nr   )Ú
FakeTensor)Útorch._subclasses.fake_tensorr>  Ú
isinstanceÚfake_devicer;  rÙ   )Úinput_tlistÚoutputr9  r>  rþ   s        r:  Úhandle_noncontiguous_outputsrD  u  ss   € Ø€FØ8Ð8Ð8Ð8Ð8Ð8àð ð ˆÝ�a˜Ñ$Ô$ð 	Ø”]ˆFØˆEð	õ & fÑ-Ô-ð %Ø×"Ò"Ñ$Ô$ˆà€Mr<  c            	      óô  ‡	‡
‡‡— ddl m}m}m}m} t
          j        j        j        j	        }t          d„ t          d„ | ¦  «        D ¦   «         ¦  «        }t          |¦  «        dk    rd S |D ])Št          ‰t          ¦  «        st          d‰› �¦  «        ‚Œ*dgt!          t"          d„ |D ¦   «         ¦  «        z  Š
t%          |¦  «        D �]¯\  Š	Št'          ddt          ‰¦  «        z
  d¦  «        D �]†Š |‰‰         ¦  «        r. |‰
‰         ¦  «        r |‰‰         ‰
‰         k    ¦  «        rŒAn¶|r˜ |‰‰         ¦  «        r‡ |‰
‰         ¦  «        rv |‰‰         ¦  «        } |‰
‰         ¦  «        }|dk    r$|dk    rt          j        ‰‰         dk    ¦  «         |dk    r$|dk    rt          j        ‰
‰         dk    ¦  «          |‰‰         ‰
‰         k    ¦  «        rŒø |‰
‰         dk    ¦  «        r&‰‰         dk     rt+          d	¦  «        ‚‰‰         ‰
‰<    |‰‰         ¦  «        s |‰‰         dk    ¦  «        r�Œ[t          j        ‰
‰         ‰‰         k    ˆ	ˆ
ˆˆfd
„¦  «         �Œˆ�Œ±‰
S )Nr   )Úguard_or_falseÚguarding_hint_or_throwÚhas_guarding_hintÚis_nested_intc              3   óJ   K  — | ]}t          |t          ¦  «        r|fn|V — Œd S ©N©r@  r   ©Ú.0Úxs     r:  ú	<genexpr>z$_broadcast_shapes.<locals>.<genexpr>Ž  sK   è è € ð ð àõ ˜1�gÑ&Ô&Ð-ˆˆˆ¨Aðð ð ð ð ð r<  c                 ó
   — | d uS rK  © ©rO  s    r:  ú<lambda>z#_broadcast_shapes.<locals>.<lambda>�  s
   €  !¨4 -€ r<  zMInput shapes should be of type ints, a tuple of ints, or a list of ints, got é   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S rK  ©Úlen)rN  Úshapes     r:  rP  z$_broadcast_shapes.<locals>.<genexpr>   s(   è è € Ð4Ð4 E•S˜‘Z”ZÐ4Ð4Ð4Ð4Ð4Ð4r<  éÿÿÿÿz9Attempting to broadcast a dimension with negative length!c            
      ó2   •— d‰‰         › d‰› d‰ › d‰› d‰› �
S )Nz.Attempting to broadcast a dimension of length z at z ! Mismatching argument at index z had z0; but expected shape should be broadcastable to rR  )Úarg_idxÚcommon_shapeÚidxrY  s   €€€€r:  rT  z#_broadcast_shapes.<locals>.<lambda>Ñ  sZ   ø€ ð AÈUÐSVÌZð Að AÐ]`ð Að AØ5<ðAð AØCHðAð Aà2>ðAð A€ r<  )Ú%torch.fx.experimental.symbolic_shapesrF  rG  rH  rI  ÚtorchÚfxÚexperimentalÚ_configÚbacked_size_obliviousÚtupleÚfilterrX  r@  r   ÚRuntimeErrorr   ÚmaxÚ	enumerateÚrangeÚ_checkÚ
ValueError)Ú_shapesrF  rG  rH  rI  Ú	backed_soÚshapesÚaÚbr\  r]  r^  rY  s            @@@@r:  Ú_broadcast_shapesrr  „  ss  øøøø€ ðð ð ð ð ð ð ð ð ð ð ð õ ”Ô%Ô-ÔC€Iåð ð åÐ/Ð/°Ñ9Ô9ðñ ô ñ ô €Fõ ˆ6�{„{�aÒÐØˆtàð ð ˆÝ˜%¥Ñ*Ô*ð 	ÝØgÐ`eÐgÐgñô ð ð	ð 	
ð.å�sÐ4Ð4¨VÐ4Ñ4Ô4Ñ5Ô5ñ.6€Lõ $ FÑ+Ô+ð 3ñ 3‰ˆ�Ý˜˜R¥# e¡*¤*™_¨bÑ1Ô1ð 2	ñ 2	ˆCàˆ}˜U 3œZÑ(Ô(ð ð !�= ¨cÔ!2Ñ3Ô3ð ¸¸Ø˜#”J ,¨sÔ"3Ò3ñ9ô 9ð ð øð ð
=à)Ð)¨%°¬*Ñ5Ô5ð
=ð *Ð)¨,°sÔ*;Ñ<Ô<ð
=ð
 /Ð.¨u°S¬zÑ:Ô:�AØ.Ð.¨|¸CÔ/@ÑAÔA�AØ˜A’v�v ! q¢& &Ýœ U¨3¤Z°1¢_Ñ5Ô5Ð5Ø˜A’v�v ! q¢& &Ýœ \°#Ô%6¸!Ò%;Ñ<Ô<Ð<Ø!�> %¨¤*°¸SÔ0AÒ"AÑBÔBð Øàˆ~˜l¨3Ô/°1Ò4Ñ5Ô5ð /Ø˜”: ’>�>Ý$ØSñô ð ð %*¨#¤J�˜SÑ!à �=  s¤Ñ,Ô,ð 
°°ÀÀcÄ
ÈaÂÑ1PÔ1Pð 
áõ ”Ø  Ô%¨¨s¬Ò3ðAð Að Að Að Að Að Añô ð ñ ñ[2	ðh Ðr<  T)Úpreserve_cpu_scalar_tensorsc                 ó¨   ‡ ‡‡‡— t          d„ |D ¦   «         Ž Šdt          dt          dt          fd„Šˆˆ ˆfd„Št          ˆˆfd„|D ¦   «         ¦  «        S )Nc              3   óR   K  — | ]"}t          |t          ¦  «        r|j        nd V — Œ#d S rK  )r@  r'   rY  ©rN  rþ   s     r:  rP  z#_maybe_broadcast.<locals>.<genexpr>Ü  s7   è è € Ð	GÐ	G¸Q•Z ¥:Ñ.Ô.Ð
8ˆ!Œ'ˆ'°DÐ	GÐ	GÐ	GÐ	GÐ	GÐ	Gr<  rp  rq  Úreturnc                 ó^  — ddl m}m}m} t	          | ¦  «        t	          |¦  «        k    rdS t          | |¦  «        D ]o\  }} |||k    ¦  «        r dS  | ||dk    |dk    ¦  «        ¦  «        rn  | ||dk    |dk    ¦  «        ¦  «        r dS t          j        ||k    d„ ¦  «         ŒpdS )Nr   )rF  Úsym_andÚsym_orTrU  c                  ó   — dS )NzCsizes assumed to be the same due to unbacked broadcasting semanticsrR  rR  r<  r:  rT  z9_maybe_broadcast.<locals>.should_expand.<locals>.<lambda>ú  s   € Ð]€ r<  F)r_  rF  ry  rz  rX  Úzipr`  rk  )rp  rq  rF  ry  rz  rO  Úys          r:  Úshould_expandz'_maybe_broadcast.<locals>.should_expandß  s  € ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
õ ˆq‰6Œ6•S˜‘V”VÒÐØ�4å˜˜1‘I”Ið 	ð 	‰DˆAˆqØˆ~˜a 1šfÑ%Ô%ð à�t�tð
 ˆ~˜g˜g a¨1¢f¨a°1ªfÑ5Ô5Ñ6Ô6ð ØØ�   q¨A¢v¨q°AªvÑ 6Ô 6Ñ7Ô7ð à�t�tõ ŒLØ�Q’Ø]Ð]ñô ð ð ð
 ˆur<  c                 óB  •— | €d S t          | t          ¦  «        r| S t          | t          ¦  «        r@‰rt          j        | ¦  «        r| S  ‰| j        ‰¦  «        r|                      ‰¦  «        S | S t          dt          t          | ¦  «        ¦  «        z   dz   ¦  «        ‚)Nz#Unexpected type when broadcasting: ú!)
r@  r!   r'   ÚutilsÚis_cpu_scalar_tensorrY  rá   rg  Ústrr7  )rO  rY  r]  rs  r~  s     €€€r:  Ú__maybe_broadcastz+_maybe_broadcast.<locals>.__maybe_broadcastÿ  s­   ø€ Øˆ9Ø�4Ý˜�6Ñ"Ô"ð 	ØˆHÝ˜�:Ñ&Ô&ð 	Ø*ð ­uÔ/IÈ!Ñ/LÔ/Lð Ø�àˆ}˜QœW lÑ3Ô3ð .Ø—x’x Ñ-Ô-Ð-àˆHåØ5½½DÀ¹G¼G¹¼ÑDÀsÑJñô ð r<  c              3   ó0   •K  — | ]} ‰|‰¦  «        V — Œd S rK  rR  )rN  rO  r„  r]  s     €€r:  rP  z#_maybe_broadcast.<locals>.<genexpr>  s1   øè è € ÐBÐB¸Ð"Ð" 1 lÑ3Ô3ÐBÐBÐBÐBÐBÐBr<  )rr  r%   Úboolre  )rs  Úargsr„  r]  r~  s   ` @@@r:  Ú_maybe_broadcastrˆ  Ù  s–   øøøø€ å$Ø	GÐ	GÀ$Ð	GÑ	GÔ	Gð€Lð�ð ¥yð µTð ð ð ð ð@ð ð ð ð ð ð õ$ ÐBÐBÐBÐBÐB¸TÐBÑBÔBÑBÔBÐBr<  )Úregister_decompositionF)Úaten_opÚ
extra_metaÚexact_dtyperw  c                ó.   ‡ ‡‡‡— dt           fˆˆˆˆ fd„}|S )NÚprimc                 óL  •‡ — t          ‰ ¦  «        t          ‰¬¦  «        t          t          d‰¬¦  «        dt          dt          fˆˆ fd„¦   «         ¦   «         ¦   «         ¦   «         }‰t
          u rt          j        ‰ ‰ j        ¦  «        Š‰� t          ‰¦  «        |¦  «         |S )N©rŒ  ©rp  ©Útype_promoting_argsÚtype_promotion_kindrp  rw  c                 óV   •— ‰� ‰| ¦  «          ‰| ¦  «        }t          | g|¦  «        S rK  )rD  )rp  rC  r‹  rŽ  s     €€r:  Ú_refz>_make_elementwise_unary_reference.<locals>.inner.<locals>._ref*  s7   ø€ ð Ð%Ø�
˜1‘”�à�T˜!‘W”WˆFÝ/°°°VÑ<Ô<Ð<r<  )
r
   r0   r/   r.   r(   Úinfer_aten_opr�  Úget_aten_opÚ__name__r‰  )rŽ  r–  rŠ  rŒ  r‹  r”  s   ` €€€€r:  Úinnerz0_make_elementwise_unary_reference.<locals>.inner'  sÏ   øø€ õ 
ˆt‰ŒÝ	 Ð	-Ñ	-Ô	-Ý	)Ý	+Ø &Ø 3ð

ñ 

ô 

ð	=•Nð 	=¥~ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ñ	

ô 

ñ 
*Ô	)ñ 
.Ô	-ñ 
Œð	=ð •mÐ#Ð#ÝÔ'¨¨d¬mÑ<Ô<ˆGØÐØ+Õ" 7Ñ+Ô+¨DÑ1Ô1Ð1àˆr<  ©r   )r”  rŠ  r‹  rŒ  rš  s   ```` r:  Ú!_make_elementwise_unary_referencerœ     sA   øøøø€ ð•Hð ð ð ð ð ð ð ð ð ð0 €Lr<  c                 óp   ‡ — ˆ fd„}||_         t          j        ¦   «         j        j        d         |_        |S )a%  
    This function defines an alias of another function and sets its __name__ argument.
    It also sets its __module__ argument to the module of the caller.
    Note that when naively doing `alias = fn`, we have that `alias.__name__ == "fn"`, and
    `alias.__module__ == fn.__module__`.
    c                  ó   •—  ‰| i |¤ŽS rK  rR  )r‡  ÚkwargsÚfns     €r:  Ú_fnz_make_alias.<locals>._fnJ  s   ø€ Øˆr�4Ð"˜6Ð"Ð"Ð"r<  r™  )r™  ÚinspectÚcurrentframeÚf_backÚ	f_globalsÚ
__module__)r   Únamer¡  s   `  r:  Ú_make_aliasr¨  B  sE   ø€ ð#ð #ð #ð #ð #ð €C„LÝÔ)Ñ+Ô+Ô2Ô<¸ZÔH€C„NØ€Jr<  c                 ó  ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }‰ j        › d�}||_         t          t          t          |¦  «        ¦  «        |¦  «        }ddlm}  |‰ ¦  «        j        }||vr|                     |¦  «         |S )zÑ
    Given a function with out variant (i.e. using `out_wrapper()), it returns its in-place variant
    See https://github.com/pytorch/pytorch/wiki/Developer-FAQ#how-do-in-place-operations-work-in-pytorch
    c                 ó    •—  ‰| g|¢R d| i|¤ŽS )NÚoutrR  )rp  r‡  rŸ  r   s      €r:  r¡  z_make_inplace.<locals>._fnY  s(   ø€ àˆr�!Ð,�dÐ,Ð,Ð, Ð, VÐ,Ð,Ð,r<  Ú_r   )Ú	getmodule)	r
   r™  r‰  ÚgetattrÚatenr¢  r­  Ú__all__Úappend)r   r¡  Úinplace_namer­  Ú_alls   `    r:  Ú_make_inplacer´  R  s¯   ø€ õ ˆ2�Y„Yð-ð -ð -ð -ñ „Yð-ð ”kÐ$Ð$Ð$€LØ€C„LØ
=Õ
 ¥­¨|Ñ!<Ô!<Ñ
=Ô
=¸cÑ
BÔ
B€Cð "Ð!Ð!Ð!Ð!Ð!àˆ9�R‰=Œ=Ô €DØ˜4ÐÐØ�Š�LÑ!Ô!Ð!Ø€Jr<  r�  c                 ó*   — t          j        | ¦  «        S rK  )Úprimsr2   r‘  s    r:  r2   r2   k  s   € õ
 Œ9�Q‰<Œ<Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r3   r‘  s    r:  r3   r3   s  ó   € åŒ:�a‰=Œ=Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r4   r‘  s    r:  r4   r4   x  ó   € åŒ;�q‰>Œ>Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r6   r‘  s    r:  r6   r6   }  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r5   r‘  s    r:  r5   r5   ‚  rº  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r7   r‘  s    r:  r7   r7   ‡  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r8   r‘  s    r:  r8   r8   Œ  rº  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r9   r‘  s    r:  r9   r9   ‘  s   € åÔ˜QÑÔÐr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r:   r‘  s    r:  r:   r:   –  ó   € õ
 Œ:�a‰=Œ=Ðr<  Úinputc                 ó4   — t          j        | j        ¦  «        S rK  )r�  Úis_complex_dtypeÚdtype©rÂ  s    r:  r0  r0  ž  s   € åÔ! %¤+Ñ.Ô.Ð.r<  c                 ó`   — t          j        | j        ¦  «        s| S t          j        | ¦  «        S rK  )r�  rÄ  rÅ  r¶  r;   rÆ  s    r:  r;   r;   £  s/   € õ Ô! %¤+Ñ.Ô.ð ØˆÝÔ˜uÑ%Ô%Ð%r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r<   r‘  s    r:  r<   r<   «  ó   € åŒ9�Q‰<Œ<Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r=   r‘  s    r:  r=   r=   °  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r@   r‘  s    r:  r@   r@   µ  ó   € åŒ=˜ÑÔÐr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rA   r‘  s    r:  rA   rA   º  rÉ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  Úerf_invr‘  s    r:  rB   rB   ¿  rÌ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rC   r‘  s    r:  rC   rC   Ä  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rD   r‘  s    r:  rD   rD   É  rÉ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rE   r‘  s    r:  rE   rE   Î  rº  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rG   r‘  s    r:  rG   rG   Ó  r¸  r<  r‘  r’  rp  Úvaluec                 ó¼  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t          j        | j        ¦  «        }t          j        t          |¦  «        |¦  «        s%dt          |¦  «        › d|› d�}t          |¦  «        ‚t          j        | |¦  «        S )Núa must be TensorLike, got zvalue must be Number, got úvalue argument of type ú cannot be safely cast to type r€  )r@  r'   ÚAssertionErrorr7  r!   r�  r   rÅ  r    rl  r¶  rH   )rp  rÔ  Úpython_typeÚmsgs       r:  rH   rH   Ú  sÎ   € õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�e�VÑ$Ô$ð IÝÐG½$¸u¹+¼+ÐGÐGÑHÔHÐHåÔ% a¤gÑ.Ô.€KÝÔ&¥t¨E¡{¤{°KÑ@Ô@ð Øb­¨U©¬ÐbÐbÐT_ÐbÐbÐbˆÝ˜‰oŒoÐåŒ:�a˜ÑÔÐr<  c                 óZ   — t          j        | |¦  «        }t          j        | |¦  «         | S rK  )r¶  rH   r´   )rp  rÔ  Úrs      r:  rI   rI   í  s*   € ÝŒ
�1�eÑÔ€AÝ	„M�!�QÑÔÐØ€Hr<  c                 ó*   — t          j        | ¦  «        S rK  )r`  r,  rÆ  s    r:  r*  r*  ó  s   € õ Ô˜EÑ"Ô"Ð"r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rJ   r‘  s    r:  rJ   rJ   ù  ó   € õ
 Œ;�q‰>Œ>Ðr<  rO  c                 óP   — t          j        | t          j        | ¦  «        ¦  «        S rK  )r`  r©   rx   rS  s    r:  rK   rK     s   € õ
 Œ9�Q�œ A™œÑ'Ô'Ð'r<  c                 óì   — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        t          j        | j        ¦  «        d„ ¦  «         t          j
        | ¦  «        S )NrÖ  c                  ó   — dS )Nz#imag only supports complex tensors.rR  rR  r<  r:  rT  zimag.<locals>.<lambda>  s   € Ð1V€ r<  )r@  r'   rÙ  r7  r`  rk  r�  rÄ  rÅ  r¶  r‘   r‘  s    r:  r‘   r‘   
  sl   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ	„LÝÔ˜qœwÑ'Ô'Ð)VÐ)Vñô ð õ Œ:�a‰=Œ=Ðr<  )rŠ  c                 óÄ   — t          j        | j        ¦  «        st          j        | j        ¦  «        rt	          j        | ¦  «        S t          | t          j        ¬¦  «        S )N©rÅ  )	r�  Úis_float_dtyperÅ  rÄ  r¶  rS   r'  r`  r†  r‘  s    r:  rS   rS     sR   € õ
 Ô˜AœGÑ$Ô$ð !­Ô(>¸q¼wÑ(GÔ(Gð !ÝŒ~˜aÑ Ô Ð å�Q�eœjÐ)Ñ)Ô)Ð)r<  c                 ó–  — t          j        | j        ¦  «        rSt          j        t          t          j        | ¦  «        ¦  «        t          t          j        | ¦  «        ¦  «        ¦  «        S t          j        | j        ¦  «        r%t          j	        | ¦  «        t          d¦  «        k    S t          j        | t          j        ¬¦  «        S )NÚinfrå  )r�  rÄ  rÅ  r`  r™   rT   r£   r‘   ræ  r2   Úfloatr,  r†  r‘  s    r:  rT   rT     s‘   € åÔ˜aœgÑ&Ô&ð LÝÔ¥¥e¤j°¡m¤mÑ 4Ô 4µe½E¼JÀq¹M¼MÑ6JÔ6JÑKÔKÐKÝÔ˜AœGÑ$Ô$ð ,ÝŒy˜‰|Œ|�u U™|œ|Ò+Ð+ÝÔ˜A¥U¤ZÐ0Ñ0Ô0Ð0r<  c                 óü   ‡ — t          j        t          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        ‰ j        ¦  «        r‰ t          d¦  «        k    S t          j        ‰ t           j        ¬¦  «        S )Nc                  ó   •— d‰ j         › �S )Nz7Complex dtype is not supported for isposinf, got dtype rå  r‘  s   €r:  rT  zisposinf.<locals>.<lambda>.  ó   ø€ ÐSÈ!Ì'ÐSÐS€ r<  rè  rå  ©	r`  rk  r�  rÄ  rÅ  ræ  ré  r,  r†  r‘  s   `r:  rU   rU   '  sx   ø€ õ
 
„LÝÔ" 1¤7Ñ+Ô+Ð+ØSÐSÐSÐSñô ð õ Ô˜AœGÑ$Ô$ð !Ø•E˜%‘L”LÒ Ð ÝÔ˜A¥U¤ZÐ0Ñ0Ô0Ð0r<  c                 óü   ‡ — t          j        t          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        ‰ j        ¦  «        r‰ t          d¦  «        k    S t          j        ‰ t           j        ¬¦  «        S )Nc                  ó   •— d‰ j         › �S )Nz7Complex dtype is not supported for isneginf, got dtype rå  r‘  s   €r:  rT  zisneginf.<locals>.<lambda><  rì  r<  z-infrå  rí  r‘  s   `r:  rV   rV   5  sx   ø€ õ
 
„LÝÔ" 1¤7Ñ+Ô+Ð+ØSÐSÐSÐSñô ð õ Ô˜AœGÑ$Ô$ð "Ø•E˜&‘M”MÒ!Ð!ÝÔ˜A¥U¤ZÐ0Ñ0Ô0Ð0r<  c                 ó,   — t          j        | | ¦  «        S rK  ©r¶  r    r‘  s    r:  rW   rW   C  s   € åŒ8�A�q‰>Œ>Ðr<  rb   c                 ó¤   — t          j        | j        ¦  «        rt          j        | ¦  «        dk    S t          j        | t          j        ¬¦  «        S )Nr   rå  )r�  rÄ  rÅ  r`  r‘   r'  r†  r‘  s    r:  rX   rX   L  sC   € õ
 Ô˜aœgÑ&Ô&ð "ÝŒz˜!‰}Œ} Ò!Ð!ÝŒ?˜1¥E¤JÐ/Ñ/Ô/Ð/r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  Ú	bessel_i0r‘  s    r:  rY   rY   W  s   € õ Œ?˜1ÑÔÐr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r[   r‘  s    r:  r[   r[   ^  s   € åŒ<˜‰?Œ?Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r\   r‘  s    r:  r\   r\   c  rÉ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r]   r‘  s    r:  r]   r]   h  rº  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r^   r‘  s    r:  r^   r^   m  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  r_   r‘  s    r:  r_   r_   r  rº  r<  ÚdimrÅ  c                 ó¢   — |p| j         }t          j        |¦  «        }t          | |¦  «        }t          |t	          ||d¬¦  «        z
  |¦  «        S )NT©Úkeepdim)rÅ  r�  Úget_computation_dtyper+   r›   )rp  rú  rÅ  Úresult_dtypeÚcomputation_dtypeÚa_s         r:  ra   ra   x  sU   € ð Ð#˜AœG€LÝÔ3°LÑAÔAÐÝ	  Ð$5Ñ	6Ô	6€BÝ" 2­	°"°cÀ4Ð(HÑ(HÔ(HÑ#HÈ,ÑWÔWÐWr<  ©Úselfr  rý  c                 óp  — t          |t          ¦  «        s|f}|                      ¦   «         dk    r:t          j        t          j        | ¦  «        ||¦  «                             ¦   «         S t          j        t          j        | ¦  «        |d¬¦  «        }t          j	        || 
                    ¦   «         t          d¦  «        k    d¦  «        }|r|nt          j        ||¦  «        }t          j        t          j        | |z
  ¦  «        ||¦  «        }|                     ¦   «                              |¦  «        S )Nr   Trü  rè  )r@  r   Únumelr`  rÂ   rD   r\   r¸   r£   r°   r2   ré  rü   ry   )r  rú  rý  ÚmaxesÚmaxes_squeezedÚresults         r:  r›   r›   „  sö   € õ �c�8Ñ$Ô$ð ØˆfˆØ‡z‚z�|„|�qÒÐÝŒy�œ 4™œ¨#¨wÑ7Ô7×;Ò;Ñ=Ô=Ð=åŒJ•u”z $Ñ'Ô'¨°dÐ;Ñ;Ô;€EÝÔ˜e U§Y¢Y¡[¤[µE¸%±L´LÒ%@À!ÑDÔD€Eà%ÐD�U�U­5¬=¸ÀÑ+DÔ+D€NåŒY•u”y ¨¡Ñ.Ô.°°WÑ=Ô=€FØ�:Š:‰<Œ<×Ò˜NÑ+Ô+Ð+r<  ç        ÚnanÚposinfÚneginfc                 ór  — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        | j        ¦  «        st	          j        | j        ¦  «        r|                      ¦   «         S |€d}|€t          j
        | j        ¦  «        j        }|€t          j
        | j        ¦  «        j        }t          j        t          j        | ¦  «        || ¦  «        }t          j        t          j        | ¦  «        ||¦  «        }t          j        t          j        | ¦  «        ||¦  «        }|S )NrÖ  r	  )r@  r'   rÙ  r7  r�  Úis_boolean_dtyperÅ  Úis_integer_dtyper³   r`  Úfinforh  Úminr²   rW   rV   rU   )rp  r
  r  r  r  s        r:  re   re   ›  s  € õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDåÔ˜aœgÑ&Ô&ð ­%Ô*@ÀÄÑ*IÔ*Ið Ø�wŠw‰yŒyÐà
€{Øˆà€~Ý”˜QœWÑ%Ô%Ô)ˆà€~Ý”˜QœWÑ%Ô%Ô)ˆåŒ[�œ Q™œ¨¨aÑ0Ô0€FÝŒ[�œ¨Ñ*Ô*¨F°FÑ;Ô;€FÝŒ[�œ¨Ñ*Ô*¨F°FÑ;Ô;€FØ€Mr<  c                 óT   — t          j        | j        t           j        ud„ ¦  «         d S )Nc                  ó   — dS )Nz“Negation, the `-` operator, on a bool tensor is not supported. If you are trying to invert a mask, use the `~` or `logical_not()` operator instead.rR  rR  r<  r:  rT  z_neg_meta.<locals>.<lambda>»  s   € ð ð r<  )r`  rk  rÅ  r†  r‘  s    r:  Ú	_neg_metar  ¸  s6   € Ý	„LØ	Œ•u”zÐ!ð	
ð 	
ñô ð ð ð r<  )r‹  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rf   r‘  s    r:  rf   rf   Ã  s   € õ Œ9�Q‰<Œ<Ðr<  c                 ó¶   — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚| j        t
          j        u rd}t          |¦  «        ‚| S )NrÖ  z'positive does not support bool tensors.)r@  r'   rÙ  r7  rÅ  r`  r†  rg  )rp  rÛ  s     r:  rg   rg   Ì  sY   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDØ„w•%”*ÐÐØ7ˆÝ˜3ÑÔÐØ€Hr<  c                 óÈ   — t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t	          j        | j        ¦  «        rt          j        | ¦  «        S | S )NrÖ  )	r@  r'   rÙ  r7  r�  rÄ  rÅ  r¶  r£   r‘  s    r:  r£   r£   Ö  sZ   € Ý�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝÔ˜aœgÑ&Ô&ð ÝŒz˜!‰}Œ}ÐØ€Hr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  ri   r‘  s    r:  ri   ri   Þ  s   € åÔ˜AÑÔÐr<  )Údecimalsr  c                óÀ   — |dk    rt          j        | ¦  «        S d|z  }d| z  }t          j        t          j        t          j        | |¦  «        ¦  «        |¦  «        S )Nr   é
   )r¶  rj   rŸ   )rp  r  Úten_powÚten_neg_pows       r:  rj   rj   ã  sX   € ð �1‚}€}ÝŒ{˜1‰~Œ~Ðà�h‘,ˆØ˜h˜YÑ'ˆÝŒy�œ¥U¤Y¨q°'Ñ%:Ô%:Ñ;Ô;¸[ÑIÔIÐIr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rø   r‘  s    r:  rø   rø   ò  rº  r<  c                 ór   — t          dt          dt          t          | ¦  «        ¦  «        ¦  «        ¦  «        S ©NrU  )rª   ry   rD   rf   r‘  s    r:  rk   rk   ÷  s(   € å�q�#˜a¥¥S¨¡V¤V¡¤Ñ-Ô-Ñ.Ô.Ð.r<  c                 ó¾   — t          j        | j        ¦  «        r1|                      ¦   «         }t	          j        |dk    d| |z  ¦  «        S |                      ¦   «         S ©Nr   )r�  rÄ  rÅ  r2   r`  r²   rm   )rp  Úa_abss     r:  rl   rl   ü  sO   € õ
 Ô˜aœgÑ&Ô&ð Ø—’‘”ˆÝŒ{˜5 Aš: q¨!¨e©)Ñ4Ô4Ð4à�vŠv‰xŒxˆr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rm   r‘  s    r:  rm   rm     rÁ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rn   r‘  s    r:  rn   rn     s   € õ
 Œ=˜ÑÔÐr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  ro   r‘  s    r:  ro   ro     rÉ  r<  c                 ó~   — t           j        | z  } t          j        | dk    dt          j        | ¦  «        | z  ¦  «        S ©Nr   rU  )ÚmathÚpir`  r²   ro   r‘  s    r:  rp   rp     s2   € åŒ�!‰€AÝŒ;�q˜A’v˜q¥%¤)¨A¡,¤,°Ñ"2Ñ3Ô3Ð3r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rq   r‘  s    r:  rq   rq   %  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rs   r‘  s    r:  rs   rs   *  r¸  r<  c                 ó"   — t          | | ¦  «        S rK  )rŸ   r‘  s    r:  rt   rt   /  s   € õ
 ˆq�!‰9Œ9Ðr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  ru   r‘  s    r:  ru   ru   7  rÉ  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rv   r‘  s    r:  rv   rv   <  r¸  r<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rx   r‘  s    r:  rx   rx   A  rà  r<  c                 óÎ  ‡— | j         Št          j        t          j        ‰¦  «        ˆfd„¦  «         |                      ¦   «         }t          j        t          |¦  «        dk    d„ ¦  «         t          j        |d         dk    d„ ¦  «         |                      ¦   «         }t          j        |d         dk    d„ ¦  «         |d d…         }t          j        t          j	        d	„ |D ¦   «         ¦  «        d
„ ¦  «         t          j        |  
                    ¦   «         dz  dk    d„ ¦  «         t          j        | t          j        ‰¦  «        ¦  «                             d¦  «        S )Nc                  ó   •— d‰ › �S )Nz^view_as_complex is only supported for floating pointtensors, but got a tensor of scalar type: rR  )Úinput_dtypes   €r:  rT  z!view_as_complex.<locals>.<lambda>N  s   ø€ ð CØ5@ðCð C€ r<  r   c                  ó   — dS )Nz-Input tensor must have one or more dimensionsrR  rR  r<  r:  rT  z!view_as_complex.<locals>.<lambda>T  ó   € Ð?€ r<  rZ  é   c                  ó   — dS )Nz+Tensor must have a last dimension of size 2rR  rR  r<  r:  rT  z!view_as_complex.<locals>.<lambda>X  ó   € Ð=€ r<  rU  c                  ó   — dS )Nz/Tensor must have a last dimension with stride 1rR  rR  r<  r:  rT  z!view_as_complex.<locals>.<lambda>^  ó   € ÐA€ r<  c              3   ó(   K  — | ]}|d z  dk    V — ŒdS )r6  r   NrR  )rN  Ústrides     r:  rP  z"view_as_complex.<locals>.<genexpr>b  s*   è è € Ð8Ð8¨�V˜a‘Z 1’_Ð8Ð8Ð8Ð8Ð8Ð8r<  c                  ó   — dS )NzCTensor must have a stride divisible by 2 for all but last dimensionrR  rR  r<  r:  rT  z!view_as_complex.<locals>.<lambda>c  s   € ÐU€ r<  c                  ó   — dS )Nz0Tensor must have a storage_offset divisible by 2rR  rR  r<  r:  rT  z!view_as_complex.<locals>.<lambda>g  s   € ÐB€ r<  )rÅ  r`  rk  r�  ræ  ÚsizerX  r<  Úbuiltinsr·   Ústorage_offsetr¶  Úview_element_typeÚcorresponding_complex_dtyperü   )r  ÚsizesÚold_stridesÚdimsr3  s       @r:  r  r  J  sƒ  ø€ Ø”*€KÝ	„LÝÔ˜[Ñ)Ô)ð	Cð 	Cð 	Cð 	Cñô ð ð
 �IŠI‰KŒK€EÝ	„LÝˆE‰
Œ
�aŠØ?Ð?ñô ð õ 
„LØˆbŒ	�QŠØ=Ð=ñô ð ð
 —+’+‘-”-€KÝ	„LØ�BŒ˜1ÒØAÐAñô ð ð �s˜�sÔ€DÝ	„LÝŒÐ8Ð8°4Ð8Ñ8Ô8Ñ8Ô8ØUÐUñô ð õ 
„LØ×ÒÑÔ Ñ! QÒ&ØBÐBñô ð õ Ô"Ø�eÔ/°Ñ<Ô<ñô ç‚gˆb�k„kðr<  c           	      ó>   ‡ ‡‡‡‡‡‡‡— dt           fˆˆˆˆˆˆˆˆ fd„}|S )NrŽ  c                 ó†  •‡ — ‰€‰ j         Št          ‰ ¦  «        t          d‰	¬¦  «        dt          t          z  dt          t          z  dt          fˆˆ ˆˆˆfd„¦   «         ¦   «         }‰r t          ¦   «         |¦  «        }‰|_         ‰t          u rt          j        ‰ ‰¦  «        Š‰�‰r t          ‰¦  «        |¦  «         |S )N©rp  rq  r’  rp  rq  rw  c                 ó¤  •— t          j        ‰pt          | t          ¦  «         ˆfd„¦  «         t          j        ‰pt          |t          ¦  «         ˆfd„¦  «         t          j        ‰p*t          | t          ¦  «        ot          |t          ¦  «         ˆfd„¦  «         t	          | |¦  «        \  } } ‰| |¦  «        }t          | |g|¦  «        S )Nc                  ó   •— ‰ › d�S )Nzc: Received a lhs Python scalar to an elementwise binary operation that does not accept lhs scalars!rR  ©r§  s   €r:  rT  zQ_make_elementwise_binary_reference.<locals>.inner.<locals>._ref.<locals>.<lambda>ˆ  ó   ø€ ˜4ð >ð >ð >€ r<  c                  ó   •— ‰ › d�S )Nzc: Received a rhs Python scalar to an elementwise binary operation that does not accept rhs scalars!rR  rL  s   €r:  rT  zQ_make_elementwise_binary_reference.<locals>.inner.<locals>._ref.<locals>.<lambda>�  rM  r<  c                  ó   •— ‰ › d�S )Nz?: Receive two Number inputs to an elementwise binary operation!rR  rL  s   €r:  rT  zQ_make_elementwise_binary_reference.<locals>.inner.<locals>._ref.<locals>.<lambda>“  s   ø€ ˜4Ð`Ð`Ð`€ r<  )r`  Ú_check_valuer@  r!   rˆ  rD  )rp  rq  rC  r§  rŽ  Úsupports_lhs_python_scalarÚsupports_rhs_python_scalarÚsupports_two_python_scalarss      €€€€€r:  r–  z?_make_elementwise_binary_reference.<locals>.inner.<locals>._ref}  s  ø€ õ ÔØ*ÐGµ*¸QÅÑ2GÔ2GÐ.Gð>ð >ð >ð >ñô ð õ
 ÔØ*ÐGµ*¸QÅÑ2GÔ2GÐ.Gð>ð >ð >ð >ñô ð õ
 ÔØ+ð IÝ" 1¥fÑ-Ô-ÐGµ*¸QÅÑ2GÔ2GÐHØ`Ð`Ð`Ð`ñô ð õ
 $ A qÑ)Ô)‰DˆAˆqØ�T˜!˜Q‘Z”ZˆFÝ/°°A°¸Ñ?Ô?Ð?r<  )
r™  r
   r.   ÚTensorr"   r0   r—  r�  r˜  r‰  )
rŽ  r–  rŠ  Úhas_outr§  Úshould_register_decompositionrQ  rR  rS  r”  s
   ` €€€€€€€€r:  rš  z1_make_elementwise_binary_reference.<locals>.innerx  s  øø€ àˆ<Ø”=ˆDå	ˆt‰ŒÝ	+Ø *Ø 3ð

ñ 

ô 

ð	@Ý�
Ñ"ð	@å�
Ñ"ð	@õ ð	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ñ	

ô 

ñ 
Œð
	@ð. ð 	'Ø •;‘=”= Ñ&Ô&ˆDàˆŒØ•mÐ#Ð#ÝÔ'¨¨dÑ3Ô3ˆGØÐÐ#@ÐØ+Õ" 7Ñ+Ô+¨DÑ1Ô1Ð1àˆr<  r›  )	r”  rŠ  r§  rU  rQ  rR  rS  rV  rš  s	   ```````` r:  Ú"_make_elementwise_binary_referencerW  n  sZ   øøøøøøøø€ ð*•Hð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ð *ðX €Lr<  rq  c                 ó´   — t          | t          ¦  «        r| j        S t          |t          ¦  «        r|j        S t          j        t          | ¦  «        ¦  «        S rK  )r@  r'   rÅ  r�  Útype_to_dtyper7  rI  s     r:  Ú_binary_op_dtyperZ  §  sM   € õ �!•ZÑ Ô ð ØŒwˆÝ�!•ZÑ Ô ð ØŒwˆÝÔ�t A™wœwÑ'Ô'Ð'r<  rI  ©Úalphar\  c                óÂ  — t          | |¦  «        \  } }|�¤t          | |¦  «        }t          j        |¦  «        }|t          urGt          j        t          |¦  «        |¦  «        s%dt          |¦  «        › d|› d�}t          |¦  «        ‚t          |t          ¦  «        rt          j        ||¦  «        }n||z  }t          j        | |¦  «        }t          | |g|¦  «        S )z/
    Reference implementation of torch.add
    Núalpha argument of type rØ  r€  )rˆ  rZ  r�  r   r†  r    r7  rl  r@  r'   r¶  rŸ   ry   rD  ©rp  rq  r\  rÅ  rÚ  rÛ  rC  s          r:  ry   ry   ²  sã   € õ  ˜A˜qÑ!Ô!�D€A€qàÐÝ   AÑ&Ô&ˆÝÔ)¨%Ñ0Ô0ˆØ�dÐ"Ð"­5Ô+FÝ�‰KŒK˜ñ,
ô ,
Ð"ð g­D°©K¬KÐfÐfÐXcÐfÐfÐfˆCÝ˜S‘/”/Ð!Ý�a�Ñ$Ô$ð 	Ý”	˜!˜UÑ#Ô#ˆAˆAà�E‘	ˆAåŒY�q˜!‰_Œ_€FÝ'¨¨A¨°Ñ7Ô7Ð7r<  )r”  rQ  rR  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rz   rI  s     r:  rz   rz   Õ  ó   € õ Œ;�q˜!ÑÔÐr<  )r”  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r{   rI  s     r:  r{   r{   Þ  ó   € õ Ô˜Q Ñ"Ô"Ð"r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  Ú
shift_leftrI  s     r:  r|   r|   å  ó   € õ Ô˜A˜qÑ!Ô!Ð!r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r}   rI  s     r:  r}   r}   ì  rf  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  Úshift_right_arithmeticrI  s     r:  r~   r~   ó  s   € õ Ô'¨¨1Ñ-Ô-Ð-r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r   rI  s     r:  r   r   ú  rc  r<  )r”  rQ  c                 óÒ  — t          |t          ¦  «        r2t          | t          ¦  «        rt          || j        | j        ¬¦  «        }n\t          | t          ¦  «        rGt          |t          ¦  «        r2| j        |j        k    r"d| j        › d|j        › d�}t          |¦  «        ‚t          t          |¦  «        t          t          | ¦  «        ¦  «        t          | ¦  «        ¦  «        S )N©rÅ  r9  ú/Expected divisor (b) to be on the same device (ú&) as dividend (a), but it is found on r€  )r@  r!   rT  r)  rÅ  r9  rg  r²   rn   rf   r2   )rp  rq  rÛ  s      r:  r‚   r‚     sÈ   € õ
 �!•VÑÔð  ¥¨A­vÑ!6Ô!6ð  å˜! 1¤7°1´8Ð<Ñ<Ô<ˆˆÝ	�A•vÑ	Ô	ð  ¥:¨aµÑ#8Ô#8ð  ¸Q¼XÈÌÒ=QÐ=QØ{ÀÄÐ{Ð{ÐpqÔpxÐ{Ð{Ð{ˆÝ˜3ÑÔÐå•˜‘”�S¥ Q¡¤™[œ[­#¨a©&¬&Ñ1Ô1Ð1r<  )Úrounding_modero  c                ó¨   — |€t          | |¦  «        S |dk    rt          | |¦  «        S |dk    rt          | |¦  «        S d|› d�}t          |¦  «        ‚)z/
    Reference implementation of torch.div
    Nrx   rJ   zLdiv expected rounding_mode to be one of None, 'trunc', or 'floor' but found ú.)rª   r«   r†   rl  )rp  rq  ro  rÛ  s       r:  rƒ   rƒ     sm   € ð ÐÝ˜1˜aÑ Ô Ð Ø	˜'Ò	!Ð	!Ý˜A˜qÑ!Ô!Ð!Ø	˜'Ò	!Ð	!Ý˜A˜qÑ!Ô!Ð!àmÐ]jÐmÐmÐmˆÝ˜‰oŒoÐr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r„   rI  s     r:  r„   r„   )  ó   € õ
 Œ8�A�q‰>Œ>Ðr<  c                 ó¦  — ddl m} t          | t          ¦  «        s$t          |t          ¦  «        st	          d¦  «        ‚t          |t
          ¦  «        r[ ||dk    ¦  «        r|                      ¦   «         S  ||dk    ¦  «        r| | z  S  ||dk    ¦  «        rt          j        | ¦  «        S nŽt          | t
          ¦  «        ry || dk    ¦  «        rt          j	        |d¦  «        S  || dk    ¦  «        rFt          j        |j        ¦  «        st          j        |j        ¦  «        rt          j        |¦  «        S t          j        | |¦  «        S )Nr   )Ústatically_known_truez-at least one of a or b must be TensorLikeTypeç      ð?g       @ç      à?T)r_  ru  r@  r(   rÙ  r!   r³   r`  rs   rH   r�  ræ  rÅ  rÄ  rG   r¶  r¢   )rp  rq  ru  s      r:  r¢   r¢   1  sh  € ð LÐKÐKÐKÐKÐKå�q�.Ñ)Ô)ð N­Z¸½>Ñ-JÔ-Jð NÝÐLÑMÔMÐMå�!•VÑÔð !Ø Ð   c¢Ñ*Ô*ð 	!Ø—7’7‘9”9ÐØ"Ð" 1¨¢8Ñ,Ô,ð 	!Ø�q‘5ˆLØ"Ð" 1¨¢8Ñ,Ô,ð 	!Ý”:˜a‘=”=Ð ð	!å	�A•vÑ	Ô	ð !Ø Ð   c¢Ñ*Ô*ð 	'Ý”:˜a Ñ&Ô&Ð&Ø Ð   c¢Ñ*Ô*ð 	!ÝÔ  ¤Ñ)Ô)ð	!Ý-2Ô-CÀAÄGÑ-LÔ-Lð	!õ ”:˜a‘=”=Ð åŒ9�Q˜‰?Œ?Ðr<  c                 ó   — t          | t          ¦  «        r$t          |t          ¦  «        rt          d¦  «        ‚t          j        | |¦  «        }|€t          d¦  «        ‚t          j        |¦  «        rt          j        }nt          j	        }t          | |¦  «        } t          ||¦  «        }t          | |¦  «        \  } }t          | |¦  «        S )Nz=Receive two Number inputs to an elementwise binary operation!z/dtype should not be None after get_higher_dtype)r@  r!   rl  r�  Úget_higher_dtyperÙ  rÄ  r`  Ú
complex128Úfloat64r+   rˆ  r¢   ©rp  rq  rÅ  s      r:  r…   r…   Q  sÉ   € õ
 �!•VÑÔð 
¥¨A­vÑ!6Ô!6ð 
ÝØKñ
ô 
ð 	
õ
 Ô" 1 aÑ(Ô(€EØ€}ÝÐNÑOÔOÐOÝÔ˜eÑ$Ô$ð ÝÔ ˆˆå”ˆõ
 	   5Ñ)Ô)€Aå  5Ñ)Ô)€Aå˜A˜qÑ!Ô!�D€A€qåˆq�!‰9Œ9Ðr<  )r”  rS  rV  c                 ó   ‡— t          | t          ¦  «        r5t          |t          ¦  «        r t          | ¦  «        } t          |¦  «        }�n"t          |t          ¦  «        r2t          | t          ¦  «        rt          || j        | j        ¬¦  «        }nÛt          | t          ¦  «        r2t          |t          ¦  «        rt          | |j        |j        ¬¦  «        } n”t          | t          ¦  «        rt          |t          ¦  «        rj| j        |j        k    rZ| j        t          j        d¦  «        k    r"d| j        › d|j        › d�}t          |¦  «        ‚t          j	        || j        ¬¦  «        }t          | t          ¦  «        rt          |t          ¦  «        st          d¦  «        ‚| j        Št          j        ‰¦  «        rt          | |¦  «        S t          j        ‰¦  «        rt          | |¦  «        S t          j        dˆfd	„¦  «         d S )
Nrl  Úcpurm  rn  r€  r8  z*a and b must both be Tensors at this pointFc                  ó   •— ‰ › d�S )Nz not supported for floor_dividerR  rå  s   €r:  rT  zfloor_divide.<locals>.<lambda>­  s   ø€  uÐ$MÐ$MÐ$M€ r<  )r@  r!   r)  rT  rÅ  r9  r`  rg  r¶  Ú
device_putrÙ  r�  ræ  Ú_floor_divide_floatr  Ú_floor_divide_integerrk  )rp  rq  rÛ  rÅ  s      @r:  r†   r†   Œ  sî  ø€ õ �!•VÑÔð 5¥¨A­vÑ!6Ô!6ð 5å˜!ÑÔˆå˜!ÑÔˆ‰Ý	�A•vÑ	Ô	ð 5¥:¨aµÑ#8Ô#8ð 5å˜! 1¤7°1´8Ð<Ñ<Ô<ˆˆÝ	�A•vÑ	Ô	ð 5¥:¨aµÑ#8Ô#8ð 5å˜! 1¤7°1´8Ð<Ñ<Ô<ˆˆÝ	�A•vÑ	Ô	ð 5¥:¨aµÑ#8Ô#8ð 5¸Q¼XÈÌÒ=QÐ=QØŒ8•u”| EÑ*Ô*Ò*Ð*ØÀAÄHÐÐÐtuÔt|ÐÐÐˆCÝ˜sÑ#Ô#Ð#åÔ  ¨1¬8Ð4Ñ4Ô4ˆAå�q�&Ñ!Ô!ð K¥j°µFÑ&;Ô&;ð KÝÐIÑJÔJÐJØŒG€EÝÔ˜EÑ"Ô"ð OÝ" 1 aÑ(Ô(Ð(Ý	Ô	 Ñ	&Ô	&ð OÝ$ Q¨Ñ*Ô*Ð*åŒ�UÐMÐMÐMÐMÑNÔNÐNÐNÐNr<  c                 óh  — t          | |¦  «        \  } }| j        j        st          j        | |¦  «        S t          j        | ¦  «        t          j        |¦  «        k                         t          j        | |¦  «        dk    ¦  «        }t          j        | |¦  «        t          || j        ¦  «        z
  S r"  )
rˆ  rÅ  Ú	is_signedr¶  rƒ   r`  rn   r—   r‰   r+   )rp  rq  Úoffsets      r:  r‚  r‚  °  s”   € Ý˜A˜qÑ!Ô!�D€A€qàŒ7Ôð ÝŒy˜˜A‰ŒÐõ Œm˜AÑÔ¥%¤-°Ñ"2Ô"2Ò2×?Ò?ÅÄ
È1ÈaÑ@PÔ@PÐTUÒ@UÑVÔV€FÝŒ9�Q˜‰?Œ?Õ4°V¸Q¼WÑEÔEÑEÐEr<  c                 ó¼  — t          | |¦  «        }t          t          | |¦  «        |¦  «        }t          t	          | d¦  «        t	          |d¦  «        ¦  «        }t          |d¦  «        }t          ||¦  «        }t          |t          |d¦  «        |¦  «        }t          |¦  «        }t          t          ||¦  «        d¦  «        }t          |t          |d¦  «        |¦  «        }t          | |¦  «        }t          d|j        |j        ¬¦  «        }	t          t          |d¦  «        |t          |	|¦  «        ¦  «        }t          t          |d¦  «        ||¦  «        S )Nr   rU  rw  rl  )r‰   rª   r©   r   rœ   r    r{   r²   rJ   rŒ   ry   r)  rÅ  r9  r‚   )
rp  rq  Úmodrƒ   Údifferent_signed_inputsÚnon_zero_remainderÚmaskÚ	floor_divÚ	basic_divÚzero_tensors
             r:  r�  r�  »  s*  € Ý
ˆq�!‰*Œ*€CÝ
•c˜!˜S‘k”k 1Ñ
%Ô
%€Cõ *­"¨Q°©(¬(µB°q¸!±H´HÑ=Ô=ÐÝ˜C ™œÐÝÐ)Ð+BÑCÔC€DÝ
�•c˜#˜q‘k”k 3Ñ
'Ô
'€Cõ �c‘
”
€IÝ�c�#�yÑ!Ô! 3Ñ'Ô'€DÝ�d�C 	¨1Ñ-Ô-¨yÑ9Ô9€Iå˜A˜qÑ!Ô!€IÝ ¨¬ÀÔAQÐRÑRÔR€Kõ •b˜˜a‘j”j )­X°kÀ9Ñ-MÔ-MÑNÔN€Iõ •�A�q‘”˜9 iÑ0Ô0Ð0r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r‡   rI  s     r:  r‡   r‡   Ô  ó   € õ Œ:�a˜ÑÔÐr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rˆ   rI  s     r:  rˆ   rˆ   Ý  r�  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r‰   rI  s     r:  r‰   r‰   æ  r�  r<  ÚmantissaÚexponentc                 ód   — t           j                             t          j        | ¦  «        ¦  «        S rK  )r`  Úreturn_typesÚfrexpr¶  r  s    r:  r–  r–  ï  s%   € õ Ô×#Ò#¥E¤K°Ñ$5Ô$5Ñ6Ô6Ð6r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rŠ   rI  s     r:  rŠ   rŠ   õ  s   € õ Œ9�Q˜‰?Œ?Ðr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r‹   rI  s     r:  r‹   r‹   þ  rs  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rŒ   rI  s     r:  rŒ   rŒ     rs  r<  Úvaluesc                 óü   — t          j        | d¦  «        }t          j        t          j        | d¦  «        t          j        | ¦  «        ¦  «        }t          j        |dd¦  «        }t          j        |||¦  «        }|S r(  )r`  r„   r™   rœ   rW   r²   )rÂ  rš  Úinput_eq_zeroÚinput_lt_zeroÚzeros_and_onesrC  s         r:  r�   r�     sh   € õ ”H˜U AÑ&Ô&€MÝÔ$¥U¤X¨e°QÑ%7Ô%7½¼ÀUÑ9KÔ9KÑLÔL€MÝ”[ °°1Ñ5Ô5€NÝŒ[˜¨°Ñ?Ô?€FØ€Mr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rŽ   rI  s     r:  rŽ   rŽ     ra  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r�   rI  s     r:  r�   r�   $  s   € õ Œ<˜˜1ÑÔÐr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r�   rI  s     r:  r�   r�   -  s   € õ Œ=˜˜AÑÔÐr<  r§  ÚrtolÚatolc                 óÔ   ‡ ‡‡‡‡— t          j        ‰j        ‰j        k    ˆˆˆ fd„¦  «         t          j        ‰dk    ˆ ˆfd„¦  «         t          j        ‰dk    ˆˆ fd„¦  «         d S )Nc                  ó.   •— ‰› d‰ j         › d‰j         › d�S )Nz4: Attempting to compare tensors of different dtypes ú and r€  rå  )rp  rq  r§  s   €€€r:  rT  z#_check_close_args.<locals>.<lambda>?  s&   ø€ �4ÐeÐeÈQÌWÐeÐeÐ[\Ô[bÐeÐeÐe€ r<  r   c                  ó   •— ‰ › d‰› d�S )Nz6: rtol must be greater than or equal to zero, but got r€  rR  )r§  r¢  s   €€r:  rT  z#_check_close_args.<locals>.<lambda>C  ó   ø€ �4ÐVÐVÈtÐVÐVÐV€ r<  c                  ó   •— ‰› d‰ › d�S )Nz6: atol must be greater than or equal to zero, but got r€  rR  )r£  r§  s   €€r:  rT  z#_check_close_args.<locals>.<lambda>G  r¨  r<  )r`  rP  rÅ  rk  ©r§  rp  rq  r¢  r£  s   `````r:  Ú_check_close_argsr«  6  sž   øøøøø€ õ 
ÔØ	Œ�1”7ÒØeÐeÐeÐeÐeÐeñô ð õ 
„LØ�Š	ØVÐVÐVÐVÐVñô ð õ 
„LØ�Š	ØVÐVÐVÐVÐVñô ð ð ð r<  çñhãˆµøä>ç:Œ0âŽyE>Ú	equal_nanc           
      ó@  — t          d| |||¬¦  «         t          | |¦  «        }|rjt          j        | j        ¦  «        st          j        | j        ¦  «        r8t          |t          t          | ¦  «        t          |¦  «        ¦  «        ¦  «        }|dk    r|dk    r|S t          j        | j        ¦  «        set          j        | j        ¦  «        sLt          j
        | t          j        ¦   «         ¦  «        } t          j
        |t          j        ¦   «         ¦  «        }t          |t          t          ||¦  «        ¦  «        ¦  «        }t          t!          | |¦  «        ¦  «        }t          |t          t#          |¦  «        t%          ||¦  «        ¦  «        ¦  «        }|S )Nztorch.iscloserª  r   )r«  r„   r�  ræ  rÅ  rÄ  r™   r—   rW   r¶  Úconvert_element_typer`  Úget_default_dtypery   r2   rŸ   r©   rS   r”   )	rp  rq  r¢  r£  r®  ÚcloseÚallowed_errorÚactual_errorr  s	            r:  r’   r’   L  sh  € õ ˜?¨a°1¸4ÀdÐKÑKÔKÐKåˆq�!‰HŒH€EØð C•eÔ*¨1¬7Ñ3Ô3ð CµuÔ7MÈaÌgÑ7VÔ7Vð CÝ˜5¥+­e°A©h¬h½¸a¹¼Ñ"AÔ"AÑBÔBˆð ˆq‚y€y�T˜Q’Y�YØˆõ Ô ¤Ñ(Ô(ð EµÔ1GÈÌÑ1PÔ1Pð EÝÔ& q­%Ô*AÑ*CÔ*CÑDÔDˆÝÔ& q­%Ô*AÑ*CÔ*CÑDÔDˆå˜�c¥# a¨¡,¤,Ñ/Ô/Ñ0Ô0€MÝ•s˜1˜a‘y”y‘>”>€Lõ Ø�{�8 LÑ1Ô1µ2°lÀMÑ3RÔ3RÑSÔSñô €Fð €Mr<  c                 ó¨  — | j         }|t          j        t          j        fv }|r>t	          j        | t          j        ¦  «        } t	          j        |t          j        ¦  «        }t          j        | |¦  «        }t          j        |dk    d|¦  «        }t          j	        t	          j
        | |¦  «        |z  ¦  «        }|s|nt	          j        ||¦  «        S r(  )rÅ  r`  Úint8Úint16r¶  r°  Úint32rŠ   r²   r2   rƒ   )rp  rq  rÅ  Úpromote_to_intÚgÚress         r:  r“   r“   w  s°   € ð ŒG€Eð �uœz­5¬;Ð7Ð7€NØð 7ÝÔ& q­%¬+Ñ6Ô6ˆÝÔ& q­%¬+Ñ6Ô6ˆåŒ	�!�Q‰Œ€AåŒ�A˜’F˜A˜qÑ!Ô!€AÝ
Œ)•E”I˜a ‘O”O aÑ'Ñ
(Ô
(€CØ$ÐPˆ3ˆ3­%Ô*DÀSÈ%Ñ*PÔ*PÐPr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r”   rI  s     r:  r”   r”   Œ  rs  r<  c                 ój  — t          j        | ¦  «        t          j        |¦  «        k    }t          j        || |¦  «        }t          j        ||| ¦  «        }t          j        t          j        t          j        t          j        | ¦  «        ¦  «        ¦  «        t          j        | ¦  «        t          j        |¦  «        k    ¦  «        }t          j        | j        ¦  «        st          j        |j        ¦  «        rùt          j        |¦  «        dk     }t          j        ||t          j	        t          j
        |¦  «        t          j
        |¦  «        z   ¦  «        ¦  «        }t          j        |||t          j        t          j
        ||z
  ¦  «        ¦  «        z   ¦  «        }t          j        |¦  «        }	t          j        |	t          t          d¦  «        t          d¦  «        ¦  «        |¦  «        S t          j        || |t          j        t          j
        ||z
  ¦  «        ¦  «        z   ¦  «        S )Nr   r
  )r`  r£   r²   r—   r˜   rS   r�  rÄ  rÅ  r\   rD   r]   rW   Úcomplexré  )
rp  rq  rŠ  Úmax_Úmin_Úinf_maskÚneg_min_maskÚinf_valsÚnon_nan_valsÚnan_masks
             r:  r•   r•   ”  s©  € õ Œ:�a‰=Œ=�EœJ q™MœMÒ)€DÝŒ;�t˜Q Ñ"Ô"€DÝŒ;�t˜Q Ñ"Ô"€DÝÔ ÝÔ�%œ.­¬°A©¬Ñ7Ô7Ñ8Ô8½%¼*ÀQ¹-¼-Í5Ì:ÐVWÉ=Ì=Ò:Xñô €Hõ Ô˜aœgÑ&Ô&ð T­%Ô*@ÀÄÑ*IÔ*Ið Tå”z $Ñ'Ô'¨!Ò+ˆÝ”;Ø˜$¥¤	­%¬)°D©/¬/½E¼IÀd¹O¼OÑ*KÑ LÔ Lñ
ô 
ˆõ ”{Ø�h ¥u¤{µ5´9¸TÀD¹[Ñ3IÔ3IÑ'JÔ'JÑ Jñ
ô 
ˆõ ”;˜tÑ$Ô$ˆÝŒ{˜8¥W­U°5©\¬\½5À¹<¼<Ñ%HÔ%HÈ,ÑWÔWÐWåŒ{˜8 Q¨­u¬{½5¼9ÀTÈDÁ[Ñ;QÔ;QÑ/RÔ/RÑ(RÑSÔSÐSr<  c                 ó  — t          j        t          j        | j        ¦  «        pt          j        |j        ¦  «         d„ ¦  «         | |k    }t          j        || |¦  «        }t          j        ||| ¦  «        }t          j        t          j        | ¦  «        | |k    ¦  «        }dt          j	        d¦  «        z  }|t          j
        t          j        ||z
  ¦  «        ¦  «        |z  z   }t          j        || |¦  «        S )Nc                  ó   — dS )Nz)logaddexp2 doesn't support complex dtypesrR  rR  r<  r:  rT  zlogaddexp2.<locals>.<lambda>¹  ó   € Ð;€ r<  rv  r6  )r`  rk  r�  rÄ  rÅ  r²   r—   rT   r)  r\   r]   rG   )rp  rq  rŠ  r¿  rÀ  rÁ  Ú	inv_log_2r  s           r:  r–   r–   ±  sß   € õ 
„LÝÔ# A¤GÑ,Ô,ÐOµÔ0FÀqÄwÑ0OÔ0OÐPØ;Ð;ñô ð ð
 �Š6€DÝŒ;�t˜Q Ñ"Ô"€DÝŒ;�t˜Q Ñ"Ô"€DÝÔ ¥¤¨Q¡¤°°a²Ñ8Ô8€HØ•d”h˜q‘k”kÑ!€IØ•E”K¥¤
¨4°$©;Ñ 7Ô 7Ñ8Ô8¸9ÑDÑD€FÝŒ;�x  FÑ+Ô+Ð+r<  c                 óˆ   — t          j        | j        ¦  «        s| dk    } t          j        |j        ¦  «        s|dk    }| |z  S r"  ©r�  r  rÅ  rI  s     r:  r—   r—   Å  óI   € õ Ô! !¤'Ñ*Ô*ð Ø�ŠFˆÝÔ! !¤'Ñ*Ô*ð Ø�ŠFˆØˆq‰5€Lr<  c                 óF   — t          j        | j        ¦  «        s| dk    S |  S r"  rË  r‘  s    r:  r˜   r˜   Ð  s'   € åÔ! !¤'Ñ*Ô*ð Ø�AŠvˆØˆ2€Ir<  c                 óž   — t          j        | j        ¦  «        s| dk    } t          j        |j        ¦  «        s|dk    }t          | |¦  «        S r"  )r�  r  rÅ  r}   rI  s     r:  r™   r™   ×  sP   € õ Ô! !¤'Ñ*Ô*ð Ø�ŠFˆÝÔ! !¤'Ñ*Ô*ð Ø�ŠFˆÝ�a˜ÑÔÐr<  c                 óˆ   — t          j        | j        ¦  «        s| dk    } t          j        |j        ¦  «        s|dk    }| |z  S r"  rË  rI  s     r:  rš   rš   ã  rÌ  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rœ   rI  s     r:  rœ   rœ   î  rs  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r�   rI  s     r:  r�   r�   ö  ó   € õ Œ=˜˜AÑÔÐr<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rž   rI  s     r:  rž   rž   ý  rÒ  r<  )r”  rS  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rŸ   rI  s     r:  rŸ   rŸ     s   € õ
 Œ9�Q˜‰?Œ?Ðr<  c                 ó,   — t          j        | |¦  «        S rK  rñ  rI  s     r:  r    r      rs  r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r¡   rI  s     r:  r¡   r¡     s   € õ Œ?˜1˜aÑ Ô Ð r<  c                 ó,   — t          j        | |¦  «        S rK  )r¶  r¥   rI  s     r:  r¥   r¥     s   € õ Œ?˜1˜aÑ Ô Ð r<  rU  c                 ó|   — t          | t          ¦  «        rd}t          |¦  «        ‚t          j        || |¬¦  «        S )Nz?Received a Number for the first argument, but expected a Tensorr[  )r@  r!   rl  r`  r©   )rp  rq  r\  rÛ  s       r:  r¦   r¦   %  s>   € õ �!•VÑÔð ØOˆÝ˜‰oŒoÐåŒ9�Q˜ Ð'Ñ'Ô'Ð'r<  c                ó¦  — t          | |¦  «        \  } }t          | t          ¦  «        r]t          |t          ¦  «        rHt          j        t          j        | j        ¦  «         ot          j        |j        ¦  «         d„ ¦  «         |dk    r t          | |¦  «        }t          j	        |¦  «        }t          j
        t          |¦  «        |¦  «        s%dt          |¦  «        › d|› d�}t          |¦  «        ‚t          |t          j        ¦  «        rt          j        ||¦  «        }n||z  }t          j        | |¦  «        }t#          | |g|¦  «        S )z/
    Reference implementation of torch.sub
    c                  ó   — dS )NzwSubtraction, the `-` operator, with two bool tensors is not supported. Use the `^` or `logical_xor()` operator instead.rR  rR  r<  r:  rT  zsub.<locals>.<lambda>J  s   € ðCð r<  rU  r^  rØ  r€  )rˆ  r@  r'   r`  rk  r�  r  rÅ  rZ  r   r    r7  rl  rT  r¶  rŸ   r©   rD  r_  s          r:  r©   r©   5  sE  € õ  ˜A˜qÑ!Ô!�D€A€qå�!•ZÑ Ô ð 
¥Z°µ:Ñ%>Ô%>ð 
ÝŒÝÔ& q¤wÑ/Ô/Ð/ÐW½Ô8NÈqÌwÑ8WÔ8WÐ4Wðð ñ	
ô 	
ð 	
ð �‚z€zÝ   AÑ&Ô&ˆÝÔ)¨%Ñ0Ô0ˆÝÔ*­4°©;¬;¸ÑDÔDð 	"Øf­D°©K¬KÐfÐfÐXcÐfÐfÐfˆCÝ˜S‘/”/Ð!Ý�a�œÑ&Ô&ð 	Ý”	˜!˜UÑ#Ô#ˆAˆAð
 �E‘	ˆAåŒY�q˜!‰_Œ_€FÝ'¨¨A¨°Ñ7Ô7Ð7r<  rª   )r”  r§  rŠ  rS  c                 ó,   — t          j        | |¦  «        S rK  )r¶  rƒ   rI  s     r:  rª   rª   b  s   € õ Œ9�Q˜‰?Œ?Ðr<  c           
      ón  — t          j        t          | t          ¦  «        pt          |t          ¦  «        d„ ¦  «         t          |t          ¦  «        r2t          | t          ¦  «        rt          | |j        |j        ¬¦  «        } nFt          | t          ¦  «        r1t          |t          ¦  «        rt          || j        | j        ¬¦  «        }t          | t          ¦  «        st          dt          | ¦  «        › �¦  «        ‚t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t          j
        t          j        | d¦  «        dt          j        | t          j        |¦  «        ¦  «        ¦  «        }t          j
        t          j        |¦  «        t          d¦  «        |¦  «        S )Nc                  ó   — dS )Nz/Expected either argument a or b to be a Tensor"rR  rR  r<  r:  rT  zxlogy.<locals>.<lambda>u  r:  r<  rl  rÖ  zb must be TensorLike, got r   r
  )r`  rk  r@  r'   r!   r)  rÅ  r9  rÙ  r7  r²   r„   rŸ   r\   rW   ré  )rp  rq  Úrhss      r:  r¬   r¬   l  si  € õ 
„LÝ�1•jÑ!Ô!Ð>¥Z°µ:Ñ%>Ô%>ØAÐAñô ð õ �!•ZÑ Ô ð =¥Z°µ6Ñ%:Ô%:ð =å˜! 1¤7°1´8Ð<Ñ<Ô<ˆˆÝ	�A•zÑ	"Ô	"ð =¥z°!µVÑ'<Ô'<ð =å˜! 1¤7°1´8Ð<Ñ<Ô<ˆõ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ�a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDÝ
Œ+•e”h˜q !‘n”n a­¬°1µe´iÀ±l´lÑ)CÔ)CÑ
DÔ
D€CÝŒ;•u”{ 1‘~”~¥u¨U¡|¤|°SÑ9Ô9Ð9r<  )r”  rŠ  rS  c                 óÀ   — t          j        | ¦  «        }t          j        |¦  «        rt          j        | |¦  «        S t          t          j        | |¦  «        ¦  «        S rK  )r�  Ú	get_dtyper  r¶  rƒ   rx   r|  s      r:  r«   r«   ‰  sN   € õ ŒO˜AÑÔ€EÝÔ˜eÑ$Ô$ð ÝŒy˜˜A‰ŒÐå•”˜1˜a‘”Ñ!Ô!Ð!r<  )r  Útensor1Útensor2©rÔ  rá  râ  c                óÈ   ‡‡— ‰�T| j         }t          j        |¦  «        Št          j        t          j        t          ‰¦  «        ‰¦  «        ˆˆfd„¦  «         | ‰|z  |z  z   S )z3
    Reference implementation of torch.addcdiv
    Nc                  ó0   •— dt          ‰¦  «        › d‰ › d�S ©Nr×  rØ  r€  r6  ©rÚ  rÔ  s   €€r:  rT  zaddcdiv.<locals>.<lambda>°  ó"   ø€ Ðh­d°5©k¬kÐhÐhÐZeÐhÐhÐh€ r<  ©rÅ  r�  r   r`  rP  r    r7  ©r  rá  râ  rÔ  rÅ  rÚ  s      ` @r:  r­   r­   ›  ós   øø€ ð  ÐØ”
ˆÝÔ)¨%Ñ0Ô0ˆÝÔÝÔ'­¨U©¬°[ÑAÔAØhÐhÐhÐhÐhñ	
ô 	
ð 	
ð
 �%˜'‘/ GÑ+Ñ+Ð+r<  c                óÈ   ‡‡— ‰�T| j         }t          j        |¦  «        Št          j        t          j        t          ‰¦  «        ‰¦  «        ˆˆfd„¦  «         | ‰|z  |z  z   S )z3
    Reference implementation of torch.addcmul
    Nc                  ó0   •— dt          ‰¦  «        › d‰ › d�S ræ  r6  rç  s   €€r:  rT  zaddcmul.<locals>.<lambda>Ë  rè  r<  ré  rê  s      ` @r:  r®   r®   ¶  rë  r<  )rp  r  rh  r  rh  c                 ó€  — |€|€d}t          |¦  «        ‚|�Rt          j        | ¦  «        }t          j        t          j        | |¦  «        |¦  «        }t          j        || |¦  «        } |�Rt          j        | ¦  «        }t          j        t          j        | |¦  «        |¦  «        }t          j        || |¦  «        } | S )Nz+clamp called but both min and max are none!)rl  r`  rW   r}   r‹   r²   r”   )rp  r  rh  rÛ  Úa_isnanÚ	conditions         r:  r¯   r¯   Ñ  s«   € ð €{�s�{Ø;ˆÝ˜‰oŒoÐà
€Ý”+˜a‘.”.ˆÝÔ$¥U¤X¨a°Ñ%5Ô%5°wÑ?Ô?ˆ	õ
 ŒK˜	 1 cÑ*Ô*ˆØ
€Ý”+˜a‘.”.ˆåÔ$¥U¤X¨a°Ñ%5Ô%5°wÑ?Ô?ˆ	ÝŒK˜	 1 cÑ*Ô*ˆà€Hr<  c                 ó.   — t          j        | |¬¦  «        S )N)r  ©r`  r¯   )r  r  s     r:  r€   r€   ò  ó   € õ Œ;�t Ð%Ñ%Ô%Ð%r<  c                 ó.   — t          j        | |¬¦  «        S )N)rh  rò  )r  rh  s     r:  r�   r�   û  ró  r<  Úpred.c                 ó.   — t          j        | d¬¦  «        S )NT)Úas_tuple)r`  Únonzero©rõ  s    r:  Ú_where_defaultrú  
  s   € åŒ=˜¨Ð-Ñ-Ô-Ð-r<  c                 óò   ‡ — |�|€t           ‚t          j        ‰ ||d¬¦  «         t          j        ‰ j        t          j        u ˆ fd„¦  «         t          ‰ ||¦  «        \  Š }}t          j	        ‰ ||¦  «        S )ú NT©Úallow_cpu_scalar_tensorsc                  ó   •— d‰ j         › �S )Nz#expected predicate to be bool, got rå  rù  s   €r:  rT  zwhere.<locals>.<lambda>&  s   ø€ ÐB°d´jÐBÐB€ r<  )
ÚNotImplementedErrorr�  Úcheck_same_devicer`  rk  rÅ  r†  rˆ  r¶  r²   )rõ  rp  rq  s   `  r:  r²   r²     s‡   ø€ ð" 	€y�A�IÝ!Ð!å	Ô˜D ! QÀÐFÑFÔFÐFÝ	„LØŒ
•e”jÐ ØBÐBÐBÐBñô ð õ
 " $¨¨1Ñ-Ô-�J€Dˆ!ˆQÝŒ;�t˜Q Ñ"Ô"Ð"r<  ©Úmemory_formatr  c                ó2   — t          j        | |¬¦  «        }|S ©Nr  )r¶  r³   )rp  r  r  s      r:  r³   r³   0  s   € õ
 Œ[˜¨-Ð8Ñ8Ô8€FØ€Mr<  )Úallow_cross_devicec                ó”   — |s2| j         |j         k    r"d|j         › d| j         › d�}t          |¦  «        ‚t          j        | |¦  «        S )NzAttempting to copy from device z to device z*, but cross-device copies are not allowed!)r9  rg  r¶  r´   )rp  rq  r  rÛ  s       r:  r´   r´   9  sT   € Øð   !¤(¨a¬hÒ"6Ð"6Øy°´ÐyÐyÀQÄXÐyÐyÐyˆÝ˜3ÑÔÐåŒ=˜˜AÑÔÐr<  c                 óì   — |                       ¦   «         dk    r'd|                       ¦   «         › d�}t          |¦  «        ‚t          j        | j        ¦  «        } |t          j        | ¦  «        ¦  «        S )NrU  zCan't convert a tensor with z elements to a number!)r  rl  r�  r   rÅ  r¶  rµ   )rp  rÛ  Únumber_types      r:  rµ   rµ   A  sc   € à‡w‚w�y„y�A‚~€~ØN¨Q¯WªW©Y¬YÐNÐNÐNˆÝ˜‰oŒoÐõ Ô% a¤gÑ.Ô.€KØˆ;•u”z !‘}”}Ñ%Ô%Ð%r<  r9  ÚcopyÚlayoutÚ
pin_memoryÚnon_blockingc                 ó¶   — | oV|d u p
| j         |k    oG|d u p
| j        |k    o8|d u p
| j        |k    o)|d u p%|t          j        k    pt          j        | |¬¦  «        S r  )r9  rÅ  r  r`  Úpreserve_formatr�  Úis_contiguous_for_memory_format)rp  r9  rÅ  r
  r  r  r  r  s           r:  Ú_to_will_aliasr  N  s‘   € ð ˆð 
	
Ø�tˆ^Ð1˜qœx¨6Ò1ð
	
à�dˆ]Ð.˜aœg¨Ò.ð
	
ð �tˆ^Ð1˜qœx¨6Ò1ð
	
ð ˜TÐ!ð UØ¥Ô 5Ò5ðUåÔ4°QÀmÐTÑTÔTðr<  c                  ó   — t           ‚rK  )r   )r‡  rŸ  s     r:  Ú_to_dispatchr  g  s   € å
Ðr<  c                 ó   — | ||||dœ}|S ©N)r9  rÅ  r  r
  r  rR  ©r9  rÅ  r  r
  r  rŸ  s         r:  Ú
_to_devicer  l  s&   € ð ØØ$ØØ&ðð €Fð €Mr<  c                 ó:   — t          j        | ¦  «        ||||dœ}|S r  )r`  r9  r  s         r:  Ú_to_device_strr  ~  s0   € õ ”,˜vÑ&Ô&ØØ$ØØ&ðð €Fð €Mr<  c                 ó   — | |||dœ}|S )N)rÅ  r  r
  r  rR  )rÅ  r  r
  r  rŸ  s        r:  Ú	_to_dtyper  �  s#   € ð Ø$ØØ&ð	ð €Fð €Mr<  Úotherc                 óB   — | j         }| j        }| j        }||||||dœ}|S )N)r9  rÅ  r  r  r
  r  )r9  rÅ  r  )r  r  r
  r  r9  rÅ  r  rŸ  s           r:  Ú	_to_otherr     s@   € ð Œ\€FØŒK€EØŒ\€Fð ØØØ$ØØ&ðð €Fð €Mr<  Ú	to_kwargsc                 ó¾  — g d¢}d|v r8t          |d         t          ¦  «        rt          j        |d         ¦  «        |d<   |D ]™}||v r“|dk    r||         t          j        u sd|dk    rC||         j        | j        j        k    r(||         j        r6||         j        | j        j        k    st          | |d ¦  «        ||         k    r|                     |¦  «         Œšd S )N)rÅ  r9  r  r  r9  r  )	r@  rƒ  r`  r9  r  r7  Úindexr®  Úpop)rp  r  Úoptions_to_checkÚkws       r:  Ú_canonicalize_to_argumentsr%  ¸  sú   € ØEÐEÐEÐà�9ÐÐ¥¨I°hÔ,?ÅÑ!EÔ!EÐÝ#œl¨9°XÔ+>Ñ?Ô?ˆ	�(Ñàð "ð "ˆØ�ˆ?ˆ?à�Ò&Ð&¨9°R¬=½EÔ<QÐ+QÐ+Qà˜(’N�NØ! "œÔ*¨a¬h¬mÒ;Ð;à% bœMÔ/ð <à3<¸R´=Ô3FÈ!Ì(Ì.Ò3XÐ3Xõ ˜A˜r 4Ñ(Ô(¨I°b¬MÒ9Ð9ð —’˜bÑ!Ô!Ð!øð"ð "r<  c                 ó  — t          |¦  «        dk    rt          |i |¤Ž}d|v rt          d¦  «        ‚t          | |¦  «         t	          | fi |¤Žr| S d|v r|                     d¦  «        nd}d|v r|                     d¦  «        nd}|s$|                     d| j        ¦  «        | j        k    r<|s:d|vr6d	|vr2d
|vr.t          j	        | |                     d| j        ¦  «        ¦  «        S t          j        | fi |¤Ž}t          || ¦  «         |S )Nr   r  z#pin_memory is not supported in refsr
  Fr  rÅ  r  r9  r  )rX  r  rÙ  r%  r  r"  ÚgetrÅ  r¶  r°  r`  r  r´   )rp  r‡  rŸ  r
  r  r  s         r:  r¶   r¶   Ð  sO  € å
ˆ4�y„y�A‚~€~Ý˜tÐ. vÐ.Ð.ˆð �vÐÐÝÐBÑCÔCÐCÝ˜q &Ñ)Ô)Ð)å�aÐ"Ð"˜6Ð"Ð"ð Øˆà!'¨6Ð!1Ð!1ˆ6�:Š:�fÑÔÐ°u€DØ1?À6Ð1IÐ1I�6—:’:˜nÑ-Ô-Ð-Èu€Lð 
ð	KØ—*’*˜W a¤gÑ.Ô.°!´'Ò9Ð9Øð :à FÐ*Ð*Ø˜VÐ#Ð#Ø˜VÐ#Ð#õ Ô)¨!¨V¯ZªZ¸ÀÄÑ-IÔ-IÑJÔJÐJåÔ˜aÐ*Ð* 6Ð*Ð*€FåˆF�AÑÔÐØ€Mr<  )Úhas_identityÚaccepts_dim_tuplerF  ÚkeepdimsrÅ  r«  rŽ  r(  r)  rF  r*  r«  Úoutput_dtype_kindc                ó®  ‡ ‡— t          ‰ t          ¦  «        st          dt          ‰ ¦  «        › �¦  «        ‚‰ j        dk    rt          d‰ j        › d�¦  «        ‚|�Pt          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|�||j        k    rt          d¦  «        ‚|s6‰�4t          ‰t          ¦  «        st          dt          ‰¦  «        › �¦  «        ‚t          ‰t          ¦  «        r‰fŠt          j	        ‰ j
        ‰¦  «        Š|s8dd	lm}	 ‰ j        dk    p |	ˆ fd
„‰D ¦   «         Ž }
t          j        |
d„ ¦  «         t          j        ‰ ||¦  «        \  }}t!          ‰ |¦  «        Š  |‰ ‰¦  «        }|rWˆ ˆfd„t#          ‰ j        ¦  «        D ¦   «         }ˆfd„t#          ‰ j        ¦  «        D ¦   «         }t%          j        |||¦  «        }|�S|€t          d¦  «        ‚|�||j        k    rt          d¦  «        ‚t)          ||j
        ¦  «        }t+          ||¬¦  «        S |j        |k    r|�t%          j        ||¦  «        }|S )NrÖ  é@   zReceived a tensor with z? dimensions, but only tensors with up to 64 dims are supported!úout must be TensorLike, got z4dtype argument and out dtype must match in reductionzdims must be None or Dim, got r   )ry  c              3   ó:   •K  — | ]}‰j         |         d k    V — ŒdS ©r   N©rY  ©rN  Úirp  s     €r:  rP  z_reduction.<locals>.<genexpr>	  s-   øè è € Ð.LÐ.LÀ!¨q¬w°q¬z¸Aª~Ð.LÐ.LÐ.LÐ.LÐ.LÐ.Lr<  c                  ó   — dS )NzJreducing over zero-size dimension for reduction operation without identityrR  rR  r<  r:  rT  z_reduction.<locals>.<lambda>!	  s   € Ð`€ r<  c                 ó6   •— g | ]}|‰vr‰j         |         nd ‘ŒS ©rU  r1  )rN  r3  rp  rF  s     €€r:  ú
<listcomp>z_reduction.<locals>.<listcomp>*	  s+   ø€ ÐRÐRÐR¸q a¨t m m˜œ œ
˜
¸ÐRÐRÐRr<  c                 ó   •— g | ]}|‰v¯|‘Œ	S rR  rR  )rN  r3  rF  s     €r:  r7  z_reduction.<locals>.<listcomp>+	  s   ø€ ÐDÐDÐD °a¸t°m°m˜!°m°m°mr<  z4result_dtype should not be None when out is providedz7Expected the dtype of reduction result and out to match©Ú	copy_fromr´   )r@  r'   rÙ  r7  Úndimrg  rÅ  r   r�  Úreduction_dimsrY  r_  ry  r`  rk  Úreduction_dtypesr+   rj  r¶  Úbroadcast_in_dimr,   r-   r°  )rp  rŽ  r(  r)  rF  r*  rÅ  r«  r+  ry  Úvalid_shaper   rÿ  r  Úoutput_shapeÚbroadcast_dimss   `   `           r:  Ú
_reductionrB  ø  sÂ  øø€ õ �a�Ñ$Ô$ð EÝÐC½$¸q¹'¼'ÐCÐCÑDÔDÐDØ„v�‚{€{ÝØm a¤fÐmÐmÐmñ
ô 
ð 	
ð €Ý˜#�zÑ*Ô*ð 	MÝ Ð!KÅÀSÁ	Ä	Ð!KÐ!KÑLÔLÐLØÐà˜œ	Ò!Ð!Ý"ØJñô ð ð ð PØ�¥
¨4µÑ 5Ô 5�Ý Ð!NÅ$ÀtÁ*Ä*Ð!NÐ!NÑOÔOÐOÝ�$�ÑÔð ØˆwˆÝÔ ¤¨Ñ.Ô.€DØð 
ØAÐAÐAÐAÐAÐAà”f ’kÐM W WÐ.LÐ.LÐ.LÐ.LÀtÐ.LÑ.LÔ.LÐ%MˆÝŒØØ`Ð`ñ	
ô 	
ð 	
õ
 ',Ô&<Ø	Ð˜eñ'ô 'Ñ#Ð�|õ 	  Ð#4Ñ5Ô5€AØˆT�!�T‰]Œ]€FØð NØRÐRÐRÐRÐRÅEÈ!Ì&ÁMÄMÐRÑRÔRˆØDÐDÐDÐD¥U¨1¬6¡]¤]ÐDÑDÔDˆÝÔ'¨°¸nÑMÔMˆà
€ØÐÝ Ð!WÑXÔXÐXØÐ °´Ò!:Ð!:ÝØIñô ð õ    V¤\Ñ2Ô2ˆÝ¨¸Ð<Ñ<Ô<Ð<à„|�|Ò#Ð#¨Ð(@ÝÔ+¨F°LÑAÔAˆà€Mr<  c                 óz  ‡ ‡— t          t          ‰ j        ¦  «        }t          ‰ di ¦  «        } t          d¬¦  «        |¦  «        Š t	          ‰ ¦  «        ddœˆ ˆfd„
¦   «         }‰ j        › d�}||_        |j                             |¦  «          t          t          t          |¦  «        ¦  «        |¦  «         |S )zk
    Given a view function (e.g. torch.diagonal) generates its copy variant (e.g. torch.diagonal_copy)
    Ú__annotations__Tr�  N©r«  c                 óX   •—  ‰|d| i|¤Ž}‰r| �d S | �|S t          j        d„ |¦  «        S )Nr«  c                 óB   — |                       t          j        ¬¦  «        S r  )r³   r`  Úcontiguous_formatrS  s    r:  rT  z3_make_copy_from_view.<locals>._fn.<locals>.<lambda>Q	  s   € �a—g’g­EÔ,C�gÑDÔD€ r<  )ÚpytreeÚtree_map)r«  r‡  rŸ  r  r   Úreturn_none_on_out_variants       €€r:  r¡  z!_make_copy_from_view.<locals>._fnH	  sT   ø€ à��TÐ-˜sÐ- fÐ-Ð-ˆØ%ð 	¨#¨/Ø�4Øˆ?ØˆMåŒØDÐDØñ
ô 
ð 	
r<  Ú_copy)r®  r¯  r™  r0   r
   rD  Úupdater‰  )r   rK  Úaten_fnÚannotationsr¡  Ú	copy_names   ``    r:  Ú_make_copy_from_viewrQ  >	  sØ   øø€ õ •d˜BœKÑ(Ô(€GÝ˜"Ð/°Ñ4Ô4€Kð 
'� Ð	&Ñ	&Ô	& wÑ	/Ô	/€Bå
ˆ2�Y„YØð 

ð 

ð 

ð 

ð 

ð 

ð 

ñ „Yð

ð ”;Ð%Ð%Ð%€IØ€C„LØÔ×Ò˜{Ñ+Ô+Ð+Ø4Õ�7¥4¨Ñ3Ô3Ñ4Ô4°SÑ9Ô9Ð9Ø€Jr<  c                 óæ   — t          j        t          j        t          j        | ¦  «        ||¬¦  «        ¦  «        }| j        t           j        k    r |                     t           j        ¬¦  «        }|S )Nrü  rå  )r`  r˜   rº   rÅ  Úuint8r¶   )rp  rú  rý  r  s       r:  r·   r·   \	  sY   € õ Ô�uœy­Ô):¸1Ñ)=Ô)=¸sÈGÐTÑTÔTÑUÔU€Fà„w•%”+ÒÐØ—’¥¤�Ñ-Ô-ˆà€Mr<  c                 óz  — t          | t          j        ¦  «        }t          |t          t
          f¦  «        r(t          |¦  «        dk    r|                     ¦   «         }n*|                     ||¬¦  «         	                    d¦  «        }| j
        t          j        u rt          j        |t          j        ¦  «        S |S )Nr   )rú  rý  F)r+   r`  r†  r@  Úlistre  rX  r³   rÂ   r    rÅ  rS  r¶  r°  )rp  rú  rý  r  r  s        r:  rº   rº   k	  s–   € õ 
! ¥E¤JÑ	/Ô	/€BÝ�#��e�}Ñ%Ô%ð <­#¨c©(¬(°aª-¨-Ø—’‘”ˆˆà—’˜C¨�Ñ1Ô1×4Ò4°UÑ;Ô;ˆð 	„w•%”+ÐÐÝÔ)¨&µ%´+Ñ>Ô>Ð>à€Mr<  )rÅ  r«  c          	      ó  — |€P|�|j         }nFt          j        | j         ¦  «        st          j        | j         ¦  «        rt          j        }n| j         }|dk    s|g k    rd }t          | t          j        ||||t          j
        ¬¦  «        S ©NrR  ©rF  r*  rÅ  r«  r+  )rÅ  r�  r  r  r`  Úint64rB  r¶  rÂ   r$   ÚSAME©rp  rú  rý  rÅ  r«  s        r:  rÂ   rÂ   	  s—   € ð €}Øˆ?Ø”IˆEˆEÝÔ# A¤GÑ,Ô,ð 	µÔ0FÀqÄwÑ0OÔ0Oð 	Ý”KˆEˆEà”GˆEà
ˆb‚y€y�C˜2’I�IØˆÝØ	ÝŒ	ØØØØÝ4Ô9ðñ ô ð r<  c           
      ó   ‡ ‡‡— t          j        ‰d¬¦  «        Št          j        t          j        ‰‰ j        ¦  «        ˆ ˆfd„¦  «         t          j        ‰‰ j        ¦  «        r't          ‰¦  «        dk    rt          j	        ‰ ¦  «        S ‰ j
        t          ‰¦  «        z
  Št          t          ‰¦  «        ¦  «        t          ˆ ˆˆfd„t          ‰t          ‰¦  «        ¦  «        D ¦   «         ¦  «        z   }t          j        ‰ |dd ¬¦  «        S )NF©Úvalidatec                  ó    •— d‰› d‰ j         › d�S )Nzsum_to_size: size "z" is not expandable to size "ú"r1  ©rp  rY  s   €€r:  rT  zsum_to_size.<locals>.<lambda>¤	  s   ø€ ÐT eÐTÐTÈ!Ì'ÐTÐTÐT€ r<  r   c              3   ó\   •K  — | ]&}‰|‰z
           d k    ¯‰j         |         d k    ¯"|V — Œ'dS ©rU  Nr1  )rN  r3  rp  Úleading_dimsrY  s     €€€r:  rP  zsum_to_size.<locals>.<genexpr>«	  sO   øè è € ð 5ð 5àØ��\Ñ!Ô" aÒ'Ð'¨A¬G°A¬J¸!ªO¨Oð 	
à,;¨O¨O¨Oð5ð 5r<  T)rú  rý  rÅ  )r�  Úextract_shape_from_varargsr`  rk  Úis_expandable_torY  Úis_same_shaperX  r¶  Úview_ofr;  re  rj  rÂ   )rp  rY  Úreduce_dimsrd  s   `` @r:  rÃ   rÃ   �	  s  øøø€ õ Ô,¨U¸UÐCÑCÔC€EÝ	„LÝÔ˜u a¤gÑ.Ô.ØTÐTÐTÐTÐTñô ð õ Ô˜5 !¤'Ñ*Ô*ð  ­s°5©z¬z¸Aª~¨~ÝŒ}˜QÑÔÐØ”6�C ™JœJÑ&€LÝ�˜lÑ+Ô+Ñ,Ô,­uð 5ð 5ð 5ð 5ð 5ð 5å�|¥S¨¡Z¤ZÑ0Ô0ð5ñ 5ô 5ñ 0ô 0ñ €Kõ
 Œ9�Q˜K°¸TÐBÑBÔBÐBr<  c          	      ó  — |€P|�|j         }nFt          j        | j         ¦  «        st          j        | j         ¦  «        rt          j        }n| j         }|dk    s|g k    rd }t          | t          j        ||||t          j
        ¬¦  «        S rW  )rÅ  r�  r  r  r`  rY  rB  r¶  rÄ   r$   rZ  r[  s        r:  rÄ   rÄ   ³	  s—   € ð €}Øˆ?Ø”IˆEˆEÝÔ# A¤GÑ,Ô,ð 	µÔ0FÀqÄwÑ0OÔ0Oð 	Ý”KˆEˆEà”GˆEà
ˆb‚y€y�C˜2’I�IØˆÝØ	ÝŒ
ØØØØÝ4Ô9ðñ ô ð r<  rE  c          
      ót   — |dk    s|g k    rd }t          | t          j        ||d |dt          j        ¬¦  «        S ©NrR  F©rF  r*  rÅ  r«  r(  r+  )rB  r¶  r¹   r$   rZ  ©rp  rú  rý  r«  s       r:  r¹   r¹   Ñ	  óN   € ð ˆb‚y€y�C˜2’I�IØˆåØ	ÝŒ
ØØØØØÝ4Ô9ð	ñ 	ô 	ð 	r<  c          
      ót   — |dk    s|g k    rd }t          | t          j        ||d |dt          j        ¬¦  «        S rl  )rB  r¶  r¸   r$   rZ  rn  s       r:  r¸   r¸   é	  ro  r<  c                 ó@   — |€t          | t          ¦  «        r| }d } | |fS rK  )r@  r†  )rú  Úunbiaseds     r:  Ú_dim_var_dispatchrs  
  s-   € ð Ð�J s­DÑ1Ô1ÐØˆØˆØ�ˆ=Ðr<  ©Ú
correctionrr  ru  c          
      óæ   — t          ||¦  «        \  }}t          j        ||¦  «        }|dk    s|g k    rd }t          | t	          t
          j        |¬¦  «        ||d d dt          j        ¬¦  «        }|S )NrR  rt  Trm  )	rs  r�  Úset_correctionrB  r   r¶  rÅ   r$   ÚCOMPLEX_TO_FLOAT)rp  rú  rr  rý  ru  r  s         r:  rÅ   rÅ   
  s„   € õ & c¨8Ñ4Ô4�M€CˆÝÔ% h°
Ñ;Ô;€Jà
ˆb‚y€y�C˜2’I�IØˆåØ	Ý•”	 jÐ1Ñ1Ô1ØØØØØÝ4ÔEð	ñ 	ô 	€Fð €Mr<  c                óP  — t          ||¦  «        \  }}t          j        ||¦  «        }t          j        | t          j        ¦  «        \  }}t          | |¦  «        } t          j        | |||¬¦  «        }t          j	        |¦  «        }|€t          d¦  «        ‚t          ||¦  «        S ©N)ru  rý  z/dtype should not be None after reduction_dtypes)rs  r�  rw  r=  r$   rx  r+   r`  rÅ   rs   rÙ  )	rp  rú  rr  rý  ru  Úopmath_dtyperÅ  Úa_varÚa_stds	            r:  rÀ   rÀ   (
  s¥   € õ & c¨8Ñ4Ô4�M€CˆÝÔ% h°
Ñ;Ô;€JåÔ0Ø	Õ%Ô6ñô Ñ€L�%õ 	   <Ñ0Ô0€AÝŒI�a˜¨¸WÐEÑEÔE€EÝŒJ�uÑÔ€EØ€}ÝÐNÑOÔOÐOÝ" 5¨%Ñ0Ô0Ð0r<  c          	      óê  ‡ ‡‡	— |dk    s|g k    rd }‰Š	‰€‰ j         Št          ‰ t          j        ||‰d t          j        ¬¦  «        }t          j        t          j	        ‰¦  «        pt          j
        ‰¦  «        ˆˆ	fd„¦  «         t          |t          ¦  «        r|f}t          j        ‰ j        |¦  «        }‰ j        dk    rdn&t!          t"          j        ˆ fd„|D ¦   «         d¦  «        }t'          ||¦  «        }‰€‰ j         n‰}t)          ||¦  «        }|�Zt          |t*          ¦  «        st-          dt/          |¦  «        › �¦  «        ‚t1          ||j        ¦  «        }t3          ||¬¦  «        S |S )	NrR  rX  c                  ó   •— d‰€dnd› d‰ › �S )Nz&mean(): could not infer output dtype. ÚInputr   z> dtype must be either a floating point or complex dtype. Got: rR  )rÅ  Ú
orig_dtypes   €€r:  rT  zmean.<locals>.<lambda>Z
  s0   ø€ ð?Ø$Ð,ˆwˆw°*ð?ð ?à7<ð?ð ?ð r<  r   rU  c              3   ó2   •K  — | ]}‰j         |         V — Œd S rK  r1  r2  s     €r:  rP  zmean.<locals>.<genexpr>c
  s)   øè è € Ð7QÐ7QÀq¸¼À¼
Ð7QÐ7QÐ7QÐ7QÐ7QÐ7Qr<  r.  r9  )rÅ  rB  r¶  rÂ   r$   ÚKEEP_PROMOTED_TYPEr`  rk  r�  ræ  rÄ  r@  r   r<  rY  r;  r   ÚoperatorrŸ   rª   r+   r'   rÙ  r7  r,   r-   )
rp  rú  rý  rÅ  r«  r  rF  Únelemrÿ  r�  s
   `  `     @r:  r½   r½   @
  sš  øøø€ ð ˆb‚y€y�C˜2’I�IØˆØ€JØ€}Ø”ˆÝØ	ÝŒ	ØØØØÝ4ÔGðñ ô €Fõ 
„LÝÔ˜UÑ#Ô#ÐD¥uÔ'=¸eÑ'DÔ'Dð	
ð 	
ð 	
ð 	
ð 	
ñô ð õ �#•sÑÔð ØˆfˆÝÔ ¤¨Ñ-Ô-€DØ”˜1’�ˆAˆA¥&­¬Ð7QÐ7QÐ7QÐ7QÈDÐ7QÑ7QÔ7QÐSTÑ"UÔ"U€EÝ˜ Ñ'Ô'€FØ#˜m�1”7�7°€LÝ$ V¨\Ñ:Ô:€FØ
€Ý˜#�zÑ*Ô*ð 	MÝ Ð!KÅÀSÁ	Ä	Ð!KÐ!KÑLÔLÐLÝ  V¤\Ñ2Ô2ˆÝ¨¸Ð<Ñ<Ô<Ð<Ø€Mr<  Úout0Úout1)rr  rý  ru  c                ó„  — t          ||¦  «        \  }}t          j        ||¦  «        }t          j        | t          j        ¦  «        \  }}| j        }t          | |¦  «        } t          j	        | |||¬¦  «        \  }}	t          j
        |¦  «        }
|€t          d¦  «        ‚t          |
|¦  «        t          |	|¦  «        fS rz  )rs  r�  rw  r=  r$   rx  rÅ  r+   r`  rÆ   rs   rÙ  )rp  rú  rr  rý  ru  r{  rÅ  Úoriginal_dtyper|  Úa_meanr}  s              r:  rÁ   rÁ   o
  sÄ   € õ & c¨8Ñ4Ô4�M€CˆÝÔ% h°
Ñ;Ô;€JÝÔ0Ø	Õ%Ô6ñô Ñ€L�%ð ”W€NÝ  <Ñ0Ô0€AÝ”N 1 c°jÈ'ÐRÑRÔR�M€Eˆ6ÝŒJ�uÑÔ€EØ€}ÝÐNÑOÔOÐOå  uÑ-Ô-Ý ¨Ñ7Ô7ðð r<  c                óz   — t          ||¦  «        \  }}t          | ||||¬¦  «        }t          | ||¦  «        }||fS )Nrt  )rs  rÅ   r½   )rp  rú  rr  rý  ru  ÚvÚms          r:  rÆ   rÆ   Š
  sI   € õ & c¨8Ñ4Ô4�M€CˆÝˆAˆs�H˜g°*Ð=Ñ=Ô=€AÝˆQ��WÑÔ€AØˆaˆ4€Kr<  )r  Úvec1Úvec2)Úbetar\  rŽ  r�  r�  c                ón  ‡ ‡‡‡‡‡— t          j        ‰j        dk    ˆfd„¦  «         t          j        ‰j        dk    ˆfd„¦  «         ‰df‰dffD ]{\  }Št          |t          ¦  «        rat          j        t          j        ‰ j        ¦  «        o1t          j        ‰j        ¦  «        ot          j        ‰j        ¦  «        ˆfd„¦  «         Œ|‰                      ‰j	        d         ‰j	        d         ¦  «        Š t          j        ‰ j        ¦  «        rÝt          j        t          t          ‰¦  «        t          ¦  «        ˆfd„¦  «         t          j        t          t          ‰¦  «        t          ¦  «        ˆfd	„¦  «         ‰s,‰rt          j        ‰‰¦  «        nt          j        ‰ d
¦  «        S t          j        ‰ ‰rt          j        ‰‰¦  «        nt          j        ‰ d
¦  «        ¦  «        S t          j        t          t          ‰¦  «        t!          ‰ j        ¦  «        ¦  «        ˆˆ fd„¦  «         t          j        t          t          ‰¦  «        t!          ‰ j        ¦  «        ¦  «        ˆˆ fd„¦  «         ‰dk    r‰t          j        ‰‰¦  «        z  S ‰‰ z  ‰t          j        ‰‰¦  «        z  z   S )NrU  c                  ó   •— d‰ j         › d�S )Nz*addr: Expected 1-D argument vec1, but got ú-D©r;  )rŽ  s   €r:  rT  zaddr.<locals>.<lambda>ª
  ó   ø€ ÐJ¸T¼YÐJÐJÐJ€ r<  c                  ó   •— d‰ j         › d�S )Nz*addr: Expected 1-D argument vec2, but got r“  r”  )r�  s   €r:  rT  zaddr.<locals>.<lambda>®
  r•  r<  r\  r�  c                  ó   •— d‰ › d�S )NzBoolean z$ only supported for Boolean results.rR  )Úarg_names   €r:  rT  zaddr.<locals>.<lambda>¶
  s   ø€ ÐQ 8ÐQÐQÐQ€ r<  r   c                  ó(   •— dt          ‰ ¦  «        › �S )Nzexpected bool/int beta but got r6  )r�  s   €r:  rT  zaddr.<locals>.<lambda>½
  s   ø€ ÐBµd¸4±j´jÐBÐB€ r<  c                  ó(   •— dt          ‰ ¦  «        › �S )Nz expected bool/int alpha but got r6  r[  s   €r:  rT  zaddr.<locals>.<lambda>Á
  s   ø€ ÐDµt¸E±{´{ÐDÐD€ r<  Fc                  ó8   •— dt          ‰ ¦  «        › d‰j        › �S ©Nzcannot safely convert z to ©r7  rÅ  )r�  r  s   €€r:  rT  zaddr.<locals>.<lambda>Í
  s    ø€ ÐI­T°$©Z¬ZÐIÐI¸T¼ZÐIÐI€ r<  c                  ó8   •— dt          ‰ ¦  «        › d‰j        › �S rœ  r�  )r\  r  s   €€r:  rT  zaddr.<locals>.<lambda>Ñ
  s    ø€ ÐJ­T°%©[¬[ÐJÐJ¸d¼jÐJÐJ€ r<  )r`  rk  r;  r@  r†  r�  r  rÅ  rá   rY  r    r7  ÚintÚouterr  r™   r   )r  rŽ  r�  r�  r\  Úargr˜  s   ````` @r:  rÇ   rÇ   š
  sÂ  øøøøøø€ õ 
„LØŒ	�QŠØJÐJÐJÐJñô ð õ 
„LØŒ	�QŠØJÐJÐJÐJñô ð ð ! 'Ð*¨T°6¨NÐ;ð ð ‰ˆˆXÝ�c�4Ñ Ô ð 	ÝŒLÝÔ& t¤zÑ2Ô2ð 7ÝÔ*¨4¬:Ñ6Ô6ð7åÔ*¨4¬:Ñ6Ô6ØQÐQÐQÐQñ	ô ð øð �;Š;�t”z !”} d¤j°¤mÑ4Ô4€DÝÔ˜dœjÑ)Ô)ð AåŒÝ!¥$ t¡*¤*­cÑ2Ô2ØBÐBÐBÐBñ	
ô 	
ð 	
õ 	ŒÝ!¥$ u¡+¤+­sÑ3Ô3ØDÐDÐDÐDñ	
ô 	
ð 	
ð ð 	Ø.3ÐU•5”;˜t TÑ*Ô*Ð*½¼ÈÈuÑ9UÔ9UÐUåÔ#ØØ+0ÐR•”˜D $Ñ'Ô'Ð'µe´oÀdÈEÑ6RÔ6Rñô ð õ
 	ŒÝ!¥$ t¡*¤*­m¸D¼JÑ.GÔ.GÑHÔHØIÐIÐIÐIÐIñ	
ô 	
ð 	
õ 	ŒÝ!¥$ u¡+¤+­}¸T¼ZÑ/HÔ/HÑIÔIØJÐJÐJÐJÐJñ	
ô 	
ð 	
ð �1Š9ˆ9à�5œ; t¨TÑ2Ô2Ñ2Ð2à˜$‘; ­¬°T¸4Ñ)@Ô)@Ñ!@Ñ@Ð@r<  r¡  r‡  c                 ó  — |s"t          | t          j        j        ¦  «        r| }n4t          | t          j        j        ¦  «        rt	          d¦  «        ‚| f|z   }t          d„ |D ¦   «         ¦  «        }t          |¦  «        dk    r|n|d         S )z5Reference implementation of :func:`torch.atleast_1d`.ú2arg should not be a Sequence when args is providedc              3   óP   K  — | ]!}|j         d k    r|nt          |d¦  «        V — Œ"dS )rU  r   N)r;  r  ©rN  rp  s     r:  rP  zatleast_1d.<locals>.<genexpr>å
  s8   è è € ÐEÐE¸!�Q”V˜q’[�[��¥i°°1¡o¤oÐEÐEÐEÐEÐEÐEr<  rU  r   )r@  ÚcollectionsÚabcr   rÙ  re  rX  )r¡  r‡  Úargs_r»  s       r:  rÊ   rÊ   Û
  s“   € ð ð •J˜s¥K¤OÔ$<Ñ=Ô=ð Øˆˆå�c�;œ?Ô3Ñ4Ô4ð 	WÝ Ð!UÑVÔVÐVØ�˜‘ˆÝ
ÐEÐE¸uÐEÑEÔEÑ
EÔ
E€CÝ�c‘(”(˜Q’,�,ˆ3ˆ3 C¨¤FÐ*r<  Úat_least_fnc                 ó    —  | |¦  «        }t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t	          ||¦  «        S )Nz(at_least_fn must return TensorLike, got )r@  r'   rÙ  r7  r  )r©  rú  r¡  Úarg_s       r:  Ú_unsqueeze_atleastr¬  ë
  sS   € ð ˆ;�sÑÔ€DÝ�d�JÑ'Ô'ð VÝÐTÍÈTÉ
Ì
ÐTÐTÑUÔUÐUÝ�T˜3ÑÔÐr<  c                 óZ  ‡— |s"t          | t          j        j        ¦  «        r| }n4t          | t          j        j        ¦  «        rt	          d¦  «        ‚| f|z   }t          t          t          d¦  «        Št          ˆfd„|D ¦   «         ¦  «        }t          |¦  «        dk    r|n|d         S )z5Reference implementation of :func:`torch.atleast_2d`.r£  r   c              3   óH   •K  — | ]}|j         d k    r|n
 ‰|¦  «        V — ŒdS )r6  Nr”  )rN  rp  Úunsqueeze_atleast_1ds     €r:  rP  zatleast_2d.<locals>.<genexpr>   ó=   øè è € ÐMÐMÀ!�Q”V˜q’[�[��Ð&:Ð&:¸1Ñ&=Ô&=ÐMÐMÐMÐMÐMÐMr<  rU  )
r@  r¦  r§  r   rÙ  r   r¬  rÊ   re  rX  )r¡  r‡  r¨  r»  r¯  s       @r:  rË   rË   õ
  s­   ø€ ð ð •J˜s¥K¤OÔ$<Ñ=Ô=ð Øˆˆå�c�;œ?Ô3Ñ4Ô4ð 	WÝ Ð!UÑVÔVÐVØ�˜‘ˆÝ"Õ#5µzÀ1ÑEÔEÐÝ
ÐMÐMÐMÐMÀuÐMÑMÔMÑ
MÔ
M€CÝ�c‘(”(˜Q’,�,ˆ3ˆ3 C¨¤FÐ*r<  c                 óZ  ‡— |s"t          | t          j        j        ¦  «        r| }n4t          | t          j        j        ¦  «        rt	          d¦  «        ‚| f|z   }t          t          t          d¦  «        Št          ˆfd„|D ¦   «         ¦  «        }t          |¦  «        dk    r|n|d         S )z5Reference implementation of :func:`torch.atleast_3d`.r£  rZ  c              3   óH   •K  — | ]}|j         d k    r|n
 ‰|¦  «        V — ŒdS )é   Nr”  )rN  rp  Úunsqueeze_atleast_2ds     €r:  rP  zatleast_3d.<locals>.<genexpr>  r°  r<  rU  r   )
r@  r¦  r§  r   rÙ  r   r¬  rË   re  rX  )r¡  r‡  r¨  r»  r´  s       @r:  rÌ   rÌ     s­   ø€ ð ð •J˜s¥K¤OÔ$<Ñ=Ô=ð Øˆˆå�c�;œ?Ô3Ñ4Ô4ð 	WÝ Ð!UÑVÔVÐVØ�˜‘ˆÝ"Õ#5µzÀ2ÑFÔFÐÝ
ÐMÐMÐMÐMÀuÐMÑMÔMÑ
MÔ
M€CÝ�c‘(”(˜Q’,�,ˆ3ˆ3 C¨¤FÐ*r<  r?  r<  rA  c                 ó`   — |�|n|                       ¦   «         }t          j        | |||¦  «        S rK  )rA  r¶  rÍ   )rp  r?  r<  rA  Ústorage_offset_ints        r:  rÍ   rÍ     s;   € ð )Ð4ˆˆ¸!×:JÒ:JÑ:LÔ:Lð õ Ô˜A˜t VÐ-?Ñ@Ô@Ð@r<  Úsrcc                 ó>   — |€dn|}t          j        | ||||¦  «        S r"  )r¶  rÏ   )rÂ  r·  r?  r<  rA  r¶  s         r:  rÏ   rÏ      s-   € ð -Ð4˜˜¸.ÐÝÔ# E¨3°°fÐ>PÑQÔQÐQr<  c                  ó8   — t          j        t          | Ž ¦  «        S rK  )r`  ÚSizerr  )ro  s    r:  rÑ   rÑ   -  s   € ÝŒ:Õ'¨Ð0Ñ1Ô1Ð1r<  c                  ó    — t          | ¦  «        dk    r#t          | d         t          ¦  «        s| d         } t          t	          | ddiŽ¦  «        S )NrU  r   rs  F)rX  r@  rT  rU  rˆ  ©Útensorss    r:  rÒ   rÒ   1  sM   € õ ˆ7�|„|�qÒÐ¥¨G°A¬J½Ñ!?Ô!?ÐØ˜!”*ˆÝÕ  'ÐMÀuÐMÐMÑNÔNÐNr<  c                 óÚ   — t          |¦  «        t          | j        ¦  «        z
  }t          t          |t          | j        ¦  «        |z   ¦  «        ¦  «        }t	          j        | ||¦  «        S rK  )rX  rY  re  rj  r¶  r>  )rp  r?  ÚstartrF  s       r:  rÓ   rÓ   :  sS   € Ý�‰IŒI�˜AœG™œÑ$€EÝ•�u�c !¤'™lœl¨UÑ2Ñ3Ô3Ñ4Ô4€DÝÔ! ! T¨4Ñ0Ô0Ð0r<  r¼  r½  c                 ó2  ‡
‡‡‡— d„ }t          | ¦  «        dk    rd}t          |¦  «        ‚| D ]6}t          |t          ¦  «        st	          dt          |¦  «        › �¦  «        ‚Œ7t          j        | ddiŽ ddlm	} d Š
t          | ¦  «        D ]H\  ŠŠ‰
€‰j        dk    r‰Š
Œ‰j        dk    r(t          j        ‰j        ‰
j        k    ˆ
ˆˆfd	„¦  «         ŒI‰
€| d         Š
‰
j        }g }t          | ¦  «        D ]¹\  Š}t          |¦  «        t          |j        ¦  «        k    rT|j        dk    rt	          d
|j        › �¦  «        ‚t          j         ||j        d         dk    ¦  «        ˆ
ˆfd„¦  «         Œ~|j        dk    r ||j        d         dk    ¦  «        rŒ¤|                     |¦  «         Œº || ¦  «        }t          |¦  «        dk    r`| d         Š	 t!          t#          d„ | D ¦   «         ¦  «        ¦  «        }	n# t$          $ r d}	Y nw xY wt'          d‰j        ‰j        |	|¬¦  «        S t          j        |d         j        |¦  «        }t          j        |d         j        |¦  «         t1          j        ||¦  «                             |¬¦  «        S )Nc                 ó¶   — d }| D ]B}t          j        |¦  «        }|t          j        k    r|c S |�||k    rt          j        c S |}ŒC|€t	          d¦  «        ‚|S )Nz,format should not be None if len(inputs) > 0)r�  Úsuggest_memory_formatr`  rH  rÙ  )ÚinputsÚformatrþ   Úfs       r:  Ú cat_compute_output_memory_formatz-cat.<locals>.cat_compute_output_memory_formatG  sz   € ØˆØð 	ð 	ˆAÝÔ+¨AÑ.Ô.ˆAØ•EÔ+Ò+Ð+Ø���ØÐ! f°¢k kÝÔ.Ð.Ð.Ð.ØˆFˆFØˆ>Ý Ð!OÑPÔPÐPØˆr<  r   z3cat expects at least one tensor, but received zero!ztensor must be TensorLike, got rþ  F©rF  rU  c                  ó0   •— d‰ j         › d‰j         › d‰› d�S )Nú6Number of dimensions of tensors must match.  Expected z-D tensors, but got z-D for tensor number ú in the listr”  )Úexampler3  rþ   s   €€€r:  rT  zcat.<locals>.<lambda>z  s:   ø€ ð 5Ø '¤ð5ð 5ØBCÄ&ð5ð 5à%&ð5ð 5ð 5€ r<  z+tensor.ndim should be 1 at this point, got c                  ó    •— d‰ j         › d‰› d�S )NrÉ  z*-D tensors, but got 1-D for tensor number rÊ  r”  )rË  Ú
tensor_idxs   €€r:  rT  zcat.<locals>.<lambda>™  s+   ø€ ð :Ø#œLð:ð :à!+ð:ð :ð :€ r<  c              3   ó$   K  — | ]}|j         V — Œd S rK  )Úrequires_gradrM  s     r:  rP  zcat.<locals>.<genexpr>°  s$   è è € Ð$FÐ$F¸ Q¤_Ð$FÐ$FÐ$FÐ$FÐ$FÐ$Fr<  ©r   ©rÅ  r9  rÏ  r  r  )rX  rl  r@  r'   rÙ  r7  r�  r  r_  rF  ri  r;  r`  rk  rY  r±  r†  rº   Ú	Exceptionr  rÅ  r9  Úcanonicalize_dimÚvalidate_idxr¶  rÔ   r³   )r½  rú  rÆ  rÛ  ÚtensorrF  rY  Úfilteredr  rÏ  rË  r3  rþ   rÍ  s             @@@@r:  rÔ   rÔ   @  s;  øøøø€ ðð ð õ ˆ7�|„|�qÒÐØCˆÝ˜‰oŒoÐàð Sð SˆÝ˜&¥*Ñ-Ô-ð 	SÝ Ð!QÅ4ÈÁ<Ä<Ð!QÐ!QÑRÔRÐRð	Sõ 
Ô˜WÐE¸uÐEÐEÐEàDÐDÐDÐDÐDÐDð$ €Gå˜'Ñ"Ô"ð ð ‰ˆˆ1Øˆ?ØŒv˜Š{ˆ{Ø�øàŒv˜Š{ˆ{Ý”Ø”F˜gœlÒ*ð5ð 5ð 5ð 5ð 5ð 5ñô ð øð €ð ˜!”*ˆàŒM€EØ€HÝ'¨Ñ0Ô0ð $ð $Ñˆ
�FÝˆu‰:Œ:�˜Vœ\Ñ*Ô*Ò*Ð*ØŒ{˜aÒÐÝ$ØOÀ&Ä+ÐOÐOñô ð õ ŒLð �˜vœ|¨Aœ°!Ò3Ñ4Ô4ð:ð :ð :ð :ð :ñô ð ð ð$ Œ{˜aÒÐ N N°6´<À´?ÀaÒ3GÑ$HÔ$HÐØà�OŠO˜FÑ#Ô#Ð#Ð#à4Ð4°WÑ=Ô=€Må
ˆ8�}„}˜ÒÐØ�AŒJˆð	"õ !¥Ð$FÐ$F¸gÐ$FÑ$FÔ$FÑ!FÔ!FÑGÔGˆMˆMøÝð 	"ð 	"ð 	"Ø!ˆMˆMˆMð	"øøøõ ØØ”'Ø”8Ø'Ø'ð
ñ 
ô 
ð 	
õ Ô
  ¨!¤Ô!1°3Ñ
7Ô
7€CÝ	Ô�x ”{Ô'¨Ñ-Ô-Ð-åŒ9�X˜sÑ#Ô#×)Ò)¸Ð)ÑFÔFÐFs   Ç&H  È HÈHc                 óT   — t          d„ | D ¦   «         ¦  «        }t          |d¦  «        S )Nc              3   ó‚   K  — | ]:}|j         d k    r|n(|                     |                     ¦   «         d f¦  «        V — Œ;dS rc  )r;  rô   r  rM  s     r:  rP  zcolumn_stack.<locals>.<genexpr>Å  sY   è è € ð ð Ø;<ˆQŒV�aŠZˆZˆˆ˜QŸYšY¨¯ª©	¬	°1 ~Ñ6Ô6ðð ð ð ð ð r<  rU  )re  rÔ   ©r½  Úaligned_tensorss     r:  rÖ   rÖ   Ã  s?   € åð ð Ø@Gðñ ô ñ ô €Oõ ˆ Ñ"Ô"Ð"r<  c                 ó–   — t          j        | j        ¦  «        s| S | j        rt	          j        | ¦  «        S t          j        | ¦  «        S rK  )r�  rÄ  rÅ  Ú	is_sparser`  r;   r¶  r×   rÆ  s    r:  r×   r×   Ë  sG   € ÝÔ! %¤+Ñ.Ô.ð ØˆØ„ð *ÝÔ" 5Ñ)Ô)Ð)ÝŒ:�eÑÔÐr<  Úpadc           	      óþ  ‡‡
‡‡‡‡— t          j        t          ‰¦  «        dz  dk    ˆfd„¦  «         | j        Št          ‰¦  «        Št          ‰¦  «        dz  }‰|z
  Št          j        ‰|k    ˆˆfd„¦  «         | }t	          ‰‰¦  «        D ]ˆŠ
d‰‰
z
  dz
  z  Š‰‰         dk     r2|                     ‰
‰‰          |j        ‰
         ‰‰         z   ¦  «        }‰‰dz            dk     r.|                     ‰
d|j        ‰
         ‰‰dz            z   ¦  «        }Œ‰t          j        d„ ‰D ¦   «         ¦  «        r|                     ¦   «         S t          ‰d ‰…         ¦  «        }t	          |¦  «        D ]oŠ
t          ‰¦  «        ‰
dz   dz  z
  Š‰‰‰
z            ‰‰         z   ‰‰dz            z   }t          j        |dk    ˆ
ˆˆˆˆfd„¦  «         | 
                    |¦  «         Œpt          j        | ¦  «        }t          j        || j        | j        | j        |¬¦  «        }|dk    r| j        t           j        k    rd	}t          j        ||¦  «        }|}	t	          ‰‰¦  «        D ]‡Š
d‰‰
z
  dz
  z  Š‰‰         dk    r1|	                     ‰
‰‰         |	j        ‰
         ‰‰         z
  ¦  «        }	‰‰dz            dk    r.|	                     ‰
d|	j        ‰
         ‰‰dz            z
  ¦  «        }	Œˆt'          j        |	|¦  «         |S )
Nr6  r   c                  ó(   •— dt          ‰ ¦  «        › �S )Nz1Length of pad must be even but instead it equals rW  )rÝ  s   €r:  rT  z!constant_pad_nd.<locals>.<lambda>Û  s   ø€ ÐNÅCÈÁHÄHÐNÐN€ r<  c                  ó0   •— dt          ‰¦  «        › d‰ › d�S )Nz`Length of pad should be no more than twice the number of dimensions of the input. Pad length is z while the input has ú dimensions.rW  )Úl_inprÝ  s   €€r:  rT  z!constant_pad_nd.<locals>.<lambda>æ  s/   ø€ ð Ý25°c±(´(ðð àðð ð € r<  rU  c              3   ó"   K  — | ]
}|d k     V — ŒdS r0  rR  )rN  Úps     r:  rP  z"constant_pad_nd.<locals>.<genexpr>ý  s&   è è € Ð'Ð'˜a�A˜’EÐ'Ð'Ð'Ð'Ð'Ð'r<  c            	      óX   •— d‰‰‰ z            › d‰‰         › d‰‰dz            › d‰‰ z   › d�	S )NzThe input size z, plus negative padding r¦  rU  zG resulted in a negative output size, which is invalid. Check dimension z of your input.rR  )r3  Úinput_sizesÚl_diffrÝ  Úpad_idxs   €€€€€r:  rT  z!constant_pad_nd.<locals>.<lambda>  sf   ø€ ð M k°&¸1±*Ô&=ð Mð MØ�7Œ|ðMð MØ"% g°¡kÔ"2ðMð Mà17¸!±ðMð Mð M€ r<  rÑ  F)r`  rk  rX  rY  rj  rì   r@  r·   r³   rU  r±  r�  rÂ  r  rÅ  r9  rÏ  r†  rH   r¶  r´   )rÂ  rÝ  rÔ  Úl_padÚc_inputÚ	new_shapeÚnew_dimr  rC  Úc_outputr3  ræ  rç  râ  rè  s    `        @@@@@r:  rØ   rØ   Ô  sz  øøøøøø€ õ
 
„LÝˆC‰Œ�1‰˜ÒØNÐNÐNÐNñô ð ð
 ”+€KÝ�ÑÔ€Eå�‰HŒH˜‰M€EØ�U‰]€Få	„LØ�Šð	ð 	ð 	ð 	ð 	ñô ð ð €GÝ�6˜5Ñ!Ô!ð Pð PˆØ�u˜q‘y 1‘}Ñ%ˆØˆwŒ<˜!ÒÐØ—n’n Q¨¨W¬¨°w´}ÀQÔ7GÈ#ÈgÌ,Ñ7VÑWÔWˆGàˆw˜‰{Ô˜aÒÐØ—n’n Q¨¨7¬=¸Ô+;¸cÀ'ÈAÁ+Ô>NÑ+NÑOÔOˆGøõ „|Ð'Ð' 3Ð'Ñ'Ô'Ñ'Ô'ð Ø�}Š}‰ŒÐå�[  & Ô)Ñ*Ô*€Iå�5‰\Œ\ð 	"ð 	"ˆÝ�c‘(”(˜q 1™u¨™kÑ*ˆØ˜f q™jÔ)¨C°¬LÑ8¸3¸wÈ¹{Ô;KÑKˆÝŒØ�qŠLðMð Mð Mð Mð Mð Mð Mð Mñ	
ô 	
ð 	
ð 	×Ò˜Ñ!Ô!Ð!Ð!åÔ/°Ñ6Ô6€MÝŒ[ØØŒkØŒ|ØÔ)Ø#ðñ ô €Fð �‚z€z�e”k¥U¤ZÒ/Ð/ØˆåŒZ˜ Ñ&Ô&€Fà€HÝ�6˜5Ñ!Ô!ð Sð SˆØ�u˜q‘y 1‘}Ñ%ˆØˆwŒ<˜1ÒÐØ—’Ø�3�w”< ¤°Ô!2°S¸´\Ñ!Añô ˆHð ˆw˜‰{Ô˜qÒ Ð Ø—’ q¨!¨X¬^¸AÔ->ÀÀWÈqÁ[ÔAQÑ-QÑRÔRˆHøå	„M�(˜GÑ$Ô$Ð$Ø€Mr<  c                óœ   — t          j        |t           j        k    d„ ¦  «         t          | |¬¦  «        r| S t          j        | |¬¦  «        S )Nc                  ó   — dS )Nz@preserve memory format is unsupported by the contiguous operatorrR  rR  r<  r:  rT  zcontiguous.<locals>.<lambda>.  s   € ÐR€ r<  r  )r`  rk  r  r   r³   )rp  r  s     r:  rÙ   rÙ   )  sZ   € õ 
„LØ�Ô.Ò.ØRÐRñô ð õ 0°ÀÐOÑOÔOð ØˆåŒ;�q¨Ð6Ñ6Ô6Ð6r<  c                 ó‚   — t          j        t          | ¦  «        dk    d„ ¦  «         t          | Ž }t	          |d¦  «        S )Nr   c                  ó   — dS )Nz%dstack expects a non-empty TensorListrR  rR  r<  r:  rT  zdstack.<locals>.<lambda>:  ó   € Ð+R€ r<  r6  )r`  rk  rX  rÌ   rÔ   rÙ  s     r:  rà   rà   8  ó=   € å	„L•�W‘” Ò!Ð#RÐ#RÑSÔSÐSÝ  'Ð*€OÝˆ Ñ"Ô"Ð"r<  )Úimplicitrô  c                ó  ‡‡— ddl m}m}m}m} t
          j        j        j        j	        }t          |¦  «        dk    r0t          |d         t          ¦  «        rt          |d         ¦  «        }t          j        t          |¦  «        t          | j        ¦  «        k    d„ ¦  «         t          |¦  «        t          | j        ¦  «        z
  }t!          |¦  «        }	t#          | j        ¦  «        D ]Á\  }
Š|
|z   }||         Š |‰dk    ¦  «        r‰|	|<   Œ'|rP |‰¦  «        rE |‰¦  «        r: |‰¦  «        } |‰¦  «        }|dk    r|dk    rt          j        ‰dk    ¦  «         t          j         |‰dk    ‰‰k    ¦  «        ˆˆfd„¦  «         t          j        ‰dk    ¦  «         ‰|	|<   ŒÂt%          j        |	¦  «         t)          j        | |	t          t-          |t          | j        ¦  «        |z   ¦  «        ¦  «        ¦  «        S )Nr   )rF  rG  rH  rz  rU  c                  ó   — dS )Nz3expand: the requested shape has too few dimensions!rR  rR  r<  r:  rT  zexpand.<locals>.<lambda>R  s   € ÐE€ r<  rZ  c                  ó   •— d‰› d‰ › d�S )Nz3expand: attempting to expand a dimension of length ú -> r€  rR  )Úrequested_lengthrO  s   €€r:  rT  zexpand.<locals>.<lambda>|  s   ø€ ÐhÈaÐhÐhÐUeÐhÐhÐh€ r<  )r_  rF  rG  rH  rz  r`  ra  rb  rc  rd  rX  r@  r   re  rk  rY  rU  ri  r�  Úvalidate_shaper¶  r>  rj  )rp  rô  rY  rF  rG  rH  rz  rn  r…  Úshape_r^  Ú
offset_idxÚx_hintÚrequested_hintrù  rO  s                 @@r:  rá   rá   ?  s]  øø€ ðð ð ð ð ð ð ð ð ð ð ð õ ”Ô%Ô-ÔC€Iõ
 ˆ5�z„z�Q‚€�: e¨A¤hµÑ9Ô9€Ý�e˜A”h‘”ˆå	„LÝˆE‰
Œ
•c˜!œ'‘l”lÒ"ØEÐEñô ð õ
 �‰ZŒZ�#˜aœg™,œ,Ñ&€FÝ�%‰[Œ[€FÝ˜AœGÑ$Ô$ð (2ð (2‰ˆˆQØ˜6‘\ˆ
Ø  Ô,Ðð ˆ>Ð*¨bÒ0Ñ1Ô1ð 	2Ø!"ˆF�:ÑÐð ð)à%Ð% aÑ(Ô(ð)ð &Ð%Ð&6Ñ7Ô7ð)ð
 0Ð/°Ñ2Ô2�Ø!7Ð!7Ð8HÑ!IÔ!I�Ø˜Q’;�; >°QÒ#6Ð#6Ý”L  a¢Ñ(Ô(Ð(åŒLØ��q˜A’vÐ/°1Ò4Ñ5Ô5ØhÐhÐhÐhÐhñô ð õ ŒLÐ)¨QÒ.Ñ/Ô/Ð/Ø!1ˆF�:ÑÐõ 
Ô˜Ñ Ô Ð åÔ!Ø	ˆ6•5�˜v¥s¨1¬7¡|¤|°fÑ'<Ñ=Ô=Ñ>Ô>ñô ð r<  c                 ó6   — |                       |j        ¦  «        S rK  )rá   rY  rI  s     r:  râ   râ   Š  s   € Ø�8Š8�A”GÑÔÐr<  Úchunksc                 ó¦  ‡ ‡‡— |dk    rd|› d�}t          |¦  «        ‚t          j        ‰ j        ‰¦  «        Š‰ j        ‰         }t          j        ||z  ¦  «        Št          j        |‰z  ¦  «        }|‰z  }ˆ ˆˆfd„t          |¦  «        D ¦   «         }|dk    r(| 	                    t          ‰ ‰|‰z  |¦  «        ¦  «         t          |¦  «        S )Nr   z%Expected at least one chunk, but got r€  c                 ó:   •— g | ]}t          ‰‰|‰z  ‰¦  «        ‘ŒS rR  )rì   )rN  r3  rp  Ú
chunk_sizerú  s     €€€r:  r7  zchunk.<locals>.<listcomp>™  s+   ø€ ÐUÐUÐU¸Q�f�Q˜˜Q ™^¨ZÑ8Ô8ÐUÐUÐUr<  )rl  r�  rÓ  r;  rY  r)  r:   rJ   rj  r±  rì   re  )	rp  r   rú  rÛ  ÚlengthÚfull_chunksÚtail_chunk_sizer  r  s	   ` `     @r:  rÕ   rÕ   Ž  sÝ   øøø€ Ø�‚{€{Ø?°fÐ?Ð?Ð?ˆÝ˜‰oŒoÐå
Ô
  ¤¨Ñ
-Ô
-€CØŒW�SŒ\€FÝ”˜6 F™?Ñ+Ô+€JÝ”*˜V jÑ0Ñ1Ô1€KØ˜zÑ)€OàUÐUÐUÐUÐUÐUÅ%ÈÑBTÔBTÐUÑUÔU€Fà˜!ÒÐØ�Š•f˜Q  [°:Ñ%=¸ÑOÔOÑPÔPÐPå�‰=Œ=Ðr<  rZ  Ú	start_dimÚend_dimc                 ó"  — t          j        | j        |¦  «        }t          j        | j        |¦  «        }||k    r| j        dk    r| S t          j        | ||d ¬¦  «        \  }}|�t          j        | ||¦  «        S t          j        | ||¦  «        S )Nr   ©Úmust_be_valid)r�  rÓ  r;  r¶  Ú_collapse_view_helperÚcollapse_viewÚcollapse)rp  r  r  rë  Ú_new_stridess        r:  rä   rä   ¤  s    € ÝÔ& q¤v¨yÑ9Ô9€IÝÔ$ Q¤V¨WÑ5Ô5€Gð �GÒÐ ¤¨!¢ Øˆõ
 $Ô9Ø	ˆ9�g¨Tðñ ô Ñ€Iˆ|ð ÐÝÔ" 1 i°Ñ9Ô9Ð9õ Œ>˜!˜Y¨Ñ0Ô0Ð0r<  c                 ó8  — t          |t          ¦  «        s$t          |t          ¦  «        st          d¦  «        ‚t	          j        | j        |¦  «        }t	          j        |¦  «         | j        dk    rt          j	        | ¦  «        S t          j        | |¦  «        S )Nz!dims has to be a sequence of intsr   )r@  re  rU  rl  r�  Úcanonicalize_dimsr;  Úvalidate_no_repeating_dimsr`  r³   r¶  Úrev)rp  rF  s     r:  rå   rå   ¹  s†   € õ �d�EÑ"Ô"ð >­:°d½DÑ+AÔ+Að >ÝÐ<Ñ=Ô=Ð=ÝÔ" 1¤6¨4Ñ0Ô0€DÝ	Ô$ TÑ*Ô*Ð*Ø„v�‚{€{ÝŒ{˜1‰~Œ~ÐÝŒ9�Q˜ÑÔÐr<  c                 óV   — | j         dk     rt          d¦  «        ‚t          | d¦  «        S )Nr6  zInput must be >= 2-d.r6  ©r;  rg  rå   r‘  s    r:  ræ   ræ   Æ  ó*   € Ø„v�‚z€zÝÐ2Ñ3Ô3Ð3å��4‰=Œ=Ðr<  c                 óV   — | j         dk     rt          d¦  «        ‚t          | d¦  «        S )NrU  zInput must be >= 1-d.rÐ  r  r‘  s    r:  rç   rç   Î  r  r<  r¿  r  c                 ó~  ‡‡‡— t          ‰t          ¦  «        rYt          j        ‰                     ¦   «         dk    ot          j        ‰j        ¦  «        d„ ¦  «         ‰                     ¦   «         Št          t          ‰¦  «        Št          j        |                      ¦   «         dk    d„ ¦  «         t          j        ‰dk    d„ ¦  «         t          j        | j        |¦  «        }|                      |¦  «        Št          j        t          ‰ ‰k    o‰‰k    ˆˆfd„¦  «         ‰dk     r‰‰z   Št          j        ‰‰‰z
  k    ˆˆˆfd„¦  «         t!          | j        ¦  «        }‰||<   |                      ||                      ¦   «         |                      ¦   «         |                      |¦  «        ‰z  z   ¦  «        S )Nr   c                  ó   — dS )Nz'start must be an 0-dim integral Tensor.rR  rR  r<  r:  rT  znarrow.<locals>.<lambda>Þ  s   € Ð=€ r<  c                  ó   — dS )Nz-narrow() cannot be applied to a 0-dim tensor.rR  rR  r<  r:  rT  znarrow.<locals>.<lambda>â  s   € Ð&U€ r<  c                  ó   — dS )Nz&narrow(): length must be non-negative.rR  rR  r<  r:  rT  znarrow.<locals>.<lambda>ã  s   € Ð&N€ r<  c                  ó   •— d‰  › d‰ › d‰› d�S )Nz0start out of range (expected to be in range of [ú, z], but got ú)rR  )Ú
dim_lengthr¿  s   €€r:  rT  znarrow.<locals>.<lambda>é  s'   ø€ ÐqÀJÀ;ÐqÐqÐR\ÐqÐqÐinÐqÐqÐq€ r<  c                  ó   •— d‰› d‰› d‰ › d�S )Nzstart (z) + length (z) exceeds dimension size (z).rR  )r  r  r¿  s   €€€r:  rT  znarrow.<locals>.<lambda>ï  s#   ø€ Ð]˜%Ð]Ð]¨VÐ]Ð]ÈzÐ]Ð]Ð]€ r<  )r@  r'   r`  rk  rú  r�  r  rÅ  rµ   r   rŸ  rÓ  r;  r?  Ú_check_withÚ
IndexErrorrU  rY  rÍ   r<  rA  )rp  rú  r¿  r  rë  r  s     `` @r:  rì   rì   Ö  s²  øøø€ õ
 �%�Ñ$Ô$ð ÝŒØ�IŠI‰KŒK˜1ÒÐD¥Ô!7¸¼Ñ!DÔ!DØ=Ð=ñ	
ô 	
ð 	
ð —
’
‘”ˆÝ•�eÑÔ€EÝ	„L�—’‘”˜1’ÐUÐUÑVÔVÐVÝ	„L�˜1’ÐNÐNÑOÔOÐOÝ
Ô
  ¤¨Ñ
-Ô
-€CØ—’˜‘”€JÝ	ÔÝØ	ˆ�uÒÐ4 ¨*Ò!4ØqÐqÐqÐqÐqñô ð ð
 ˆq‚y€yØ˜
Ñ"ˆÝ	„LØ�˜fÑ$Ò$Ø]Ð]Ð]Ð]Ð]Ð]ñô ð õ �Q”W‘”€IØ€Iˆc�NØ�<Š<Ø�1—8’8‘:”:˜q×/Ò/Ñ1Ô1°A·H²H¸S±M´MÀEÑ4IÑIñô ð r<  Ú	norm_dimsÚepsc                 ón  — t          j        | j        |¦  «        }t          j        | j        ¦  «        }t          | |¦  «        }t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚t          j        ||dd¬¦  «        \  }}t          j        ||z   ¦  «        }||z
  |z  }|||fS )a¼  Computes mean and 1/std of a tensor along norm_dims.

    Used as a helper function for normalization layers.

    Args:
        a (Tensor): input tensor
        norm_dims (DimsType): dimensions to normalize over
        eps (float): epsilon for numerical stability

    Returns:
        out (Tensor): normalized tensor.
        mean (Tensor): mean of the tensor along norm_dims.
        rstd (Tensor): 1/std of the tensor along norm_dims.
    za_acc must be TensorLike, got FT©rú  rr  rý  )r�  r  r;  rþ  rÅ  r+   r@  r'   rÙ  r7  r`  rÆ   rø   )	rp  r#  r$  r   Úa_accÚ
biased_varr½   Úrstdr«  s	            r:  Ú
_normalizer*  ø  s¿   € õ$ Ô'¨¬°	Ñ:Ô:€IÝÔ3°A´GÑ<Ô<ÐÝ# AÐ'8Ñ9Ô9€EÝ�e�ZÑ(Ô(ð MÝÐK½dÀ5¹k¼kÐKÐKÑLÔLÐLÝ”~Ø�9 u°dðñ ô Ñ€J�õ Œ;�z CÑ'Ñ(Ô(€DØ�4‰<˜4Ñ
€CØ��dˆ?Ðr<  Ú
dimensionsc                 óT   — t          |¦  «        D ]}t          j        | |¦  «        } Œ| S rK  )Úsortedr`  r  )rO  r+  rú  s      r:  Ú_unsqueeze_multipler.    s1   € Ý�jÑ!Ô!ð $ð $ˆÝŒO˜A˜sÑ#Ô#ˆˆØ€Hr<  ÚweightÚbiasÚ
batch_sizeÚnum_channelsÚflattened_inner_sizeÚ
num_groupsc                 óx  ‡ ‡— t          j        ‰ j        dk    ˆ fd„¦  «         t          j        |‰z  dk    ˆ ˆfd„¦  «         t          j        ‰ j        ¦  «        }t          ‰ |¦  «        }	ddg}
t          j        |	|‰|‰z  |g¦  «        }t          j        |j        |
¦  «        }
t          j	        ||
dd¬¦  «        \  }}t          j
        ||z   ¦  «        }‰ j        j        d	k    rï|�ít          j        |d
‰|‰z  d
g¦  «        }||z  }| |z  }|�!t          j        |d
‰|‰z  d
g¦  «        }||z   }|                     ¦   «                              ||g|d
g¦  «        }|                     ¦   «                              ||g|d
g¦  «        }t          t!          d‰ j        ¦  «        ¦  «        }t#          ||¦  «        }t#          ||¦  «        }|	|z  |z   }nv||z
  |z  }|                     ‰ j        ¦  «        }dgt          t!          d‰ j        ¦  «        ¦  «        z   }|�t#          ||¦  «        }||z  }|�t#          ||¦  «        }||z   }t          |‰ j        ¦  «        }t          |‰ j        ¦  «        }t          |‰ j        ¦  «        }t          j        ||
¦  «        }t          j        ||
¦  «        }|||fS )Nr6  c                  ó   •— d‰ j         › �S )Nz=Expected at least 2 dimensions for input tensor but received r”  rÆ  s   €r:  rT  z#native_group_norm.<locals>.<lambda>+  s   ø€ Ð\ÐPUÔPZÐ\Ð\€ r<  r   c                  ó$   •— dd‰ j         › d‰› �z   S )NzDExpected number of channels in input to be divisible by num_groups, zbut got input of shape z and num_groups = r1  )rÂ  r4  s   €€r:  rT  z#native_group_norm.<locals>.<lambda>/  s#   ø€ ÐVØ
O E¤KÐ
OÐ
OÀ:Ð
OÐ
OñP€ r<  r³  FTr&  r~  rU  )r`  rk  r;  r�  rþ  rÅ  r+   rô   r  rÆ   rø   r9  r7  rÙ   rÍ   rU  rj  r.  r
  rY  rü   )rÂ  r/  r0  r1  r2  r3  r4  r$  r   Ú	input_accr<  Úinput_reshapedr(  r½   r)  Úweight_reshapedÚwrq  Úbias_reshapedrA  Úunsqueeze_wÚunsqueeze_br«  Úunsqueeze_weightÚunsqueeze_biass   `     `                  r:  rî   rî     s  øø€ õ 
„LØŒ
�aŠØ\Ð\Ð\Ð\ñô ð õ 
„LØ�zÑ! QÒ&ð	Pð 	Pð 	Pð 	Pð 	Pñô ð õ Ô3°E´KÑ@Ô@ÐÝ'¨Ð/@ÑAÔA€Ià˜�V€NÝ”]ØØ	�Z °Ñ!;Ð=QÐRñô €Nõ Ô,¨^Ô-@À.ÑQÔQ€NÝ”~Ø˜N°UÀDðñ ô Ñ€J�õ Œ;�z CÑ'Ñ(Ô(€DØ„|Ô˜EÒ!Ð! fÐ&8Ýœ-Ø�Q˜
 L°JÑ$>ÀÐBñ
ô 
ˆð �?Ñ"ˆØˆE�A‰IˆØÐÝ!œMØ�q˜* l°jÑ&@À!ÐDñô ˆMð �MÑ!ˆAØ�LŠL‰NŒN×%Ò% z°<Ð&@À<ÐQRÐBSÑTÔTˆØ�LŠL‰NŒN×%Ò% z°<Ð&@À<ÐQRÐBSÑTÔTˆÝ�e A u¤zÑ2Ô2Ñ3Ô3ˆÝ)¨!¨^Ñ<Ô<ˆÝ)¨!¨^Ñ<Ô<ˆØ˜+Ñ%¨Ñ3ˆˆà Ñ$¨Ñ,ˆØ�hŠh�u”{Ñ#Ô#ˆØ˜�t¥E¨!¨U¬ZÑ$8Ô$8Ñ9Ô9Ñ9ˆØÐÝ2°6¸>ÑJÔJÐØÐ(Ñ(ˆCØÐÝ0°°~ÑFÔFˆNØ˜Ñ&ˆCå
! # u¤{Ñ
3Ô
3€CÝ" 4¨¬Ñ5Ô5€DÝ" 4¨¬Ñ5Ô5€Dõ Œ=˜˜~Ñ.Ô.€DÝŒ=˜˜~Ñ.Ô.€DØ��tÐÐr<  Úout2Únormalized_shapec                 ó
  ‡ ‡‡‡— ddl m} t          ‰¦  «        }t          j        |dk    ˆfd„¦  «         t          j        ‰d u p |‰j        t          ‰¦  «        ¦  «        ˆˆfd„¦  «         t          j        ‰d u p |‰j        t          ‰¦  «        ¦  «        ˆˆfd„¦  «         t          j        ‰ j        |k    o- |‰ j        ‰ j        |z
  d …         t          ‰¦  «        ¦  «        ˆ ˆfd„¦  «         t          j        ‰                      ¦   «          d„ ¦  «         t          ‰ ¦  «        Š ‰�t          ‰¦  «        Š‰�t          ‰¦  «        Š‰ j        |z
  }t          t          |‰ j        ¦  «        ¦  «        }t          ‰ ||¦  «        \  }	}
}‰€‰�|	‰z   }	n‰�‰€|	‰z  }	n‰�
‰�|	‰z  ‰z   }	t          |	‰ j        ¦  «        }	‰ j        j        d	v r*t          |
‰ j        ¦  «        }
t          |‰ j        ¦  «        }|	|
|fS )
Nr   ©Úsym_eqrU  c                  ó(   •— dt          ‰ ¦  «        z   S )NzzExpected normalized_shape to be at least 1-dimensional, i.e., containing at least one element, but got normalized_shape = )rƒ  )rB  s   €r:  rT  z#native_layer_norm.<locals>.<lambda>t  s   ø€ ð Iå
ÐÑ
Ô
ñ € r<  c                  óX   •— dt          ‰j        ¦  «        z   dz   t          ‰ ¦  «        z   S )NzQExpected weight to be of same shape as normalized_shape, but got weight of shape ú and normalized_shape = ©rƒ  rY  )rB  r/  s   €€r:  rT  z#native_layer_norm.<locals>.<lambda>~  s9   ø€ ð å
ˆfŒlÑ
Ô
ñð %ñ%õ ÐÑ
Ô
ñ	 € r<  c                  óX   •— dt          ‰ j        ¦  «        z   dz   t          ‰¦  «        z   S )NzMExpected bias to be of same shape as normalized_shape, but got bias of shape rH  rI  )r0  rB  s   €€r:  rT  z#native_layer_norm.<locals>.<lambda>‡  s7   ø€ ð å
ˆdŒj‰/Œ/ñð %ñ%õ ÐÑ
Ô
ñ	 € r<  c                  ó~   •— dt          ‰¦  «        z   dz   t          ‰¦  «        z   dz   t          ‰ j        ¦  «        z   S )NzGiven normalized_shape=z, expected input with shape z, but got input of size rI  )rÂ  rB  s   €€r:  rT  z#native_layer_norm.<locals>.<lambda>“  sR   ø€ Ð)Ý
ÐÑ
Ô
ñ à
(ñ)õ ÐÑ
Ô
ñ ð %ñ	%õ
 ˆeŒkÑ
Ô
ñ€ r<  c                  ó   — dS )Nz1native_layer_norm does not support complex inputsrR  rR  r<  r:  rT  z#native_layer_norm.<locals>.<lambda>œ  s   € ÐC€ r<  )r~  Úmtia)r_  rE  rX  r`  rk  rY  re  r;  r0  rÙ   rU  rj  r*  r+   rÅ  r9  r7  )rÂ  rB  r/  r0  r$  rE  Únormalized_ndimÚaxisr<  r«  r½   r)  s   ````        r:  rï   rï   f  sž  øøøø€ ð =Ð<Ð<Ð<Ð<Ð<åÐ*Ñ+Ô+€OÝ	„LØ˜1Òð	 ð 	 ð 	 ð 	 ñô ð õ 
„Là�$ˆÐG˜&˜& ¤­uÐ5EÑ/FÔ/FÑGÔGð	 ð 	 ð 	 ð 	 ð 	 ñô ð õ 
„Là�ˆÐC˜˜˜tœz­5Ð1AÑ+BÔ+BÑCÔCð	 ð 	 ð 	 ð 	 ð 	 ñô ð õ 
„LØŒ
�oÒ%ð 	
ØˆFØŒK˜œ oÑ5Ð8Ð8Ô9ÝÐ"Ñ#Ô#ñ
ô 
ð	ð 	ð 	ð 	ð 	ñô ð õ 
„LØ×ÒÑÔÐØCÐCñô ð õ
 �uÑÔ€EØÐÝ˜FÑ#Ô#ˆØÐÝ˜$ÑÔˆàŒ:˜Ñ'€DÝ�%  e¤jÑ1Ô1Ñ2Ô2€NÝ  ¨¸Ñ<Ô<�O€Cˆˆtà€~˜$Ð*Ø�D‰jˆˆØ	Ð	  Ø�F‰lˆˆØ	Ð	 Ð 0Ø�F‰l˜TÑ!ˆå
! # u¤{Ñ
3Ô
3€CØ„|Ô˜OÐ+Ð+Ý& t¨U¬[Ñ9Ô9ˆÝ& t¨U¬[Ñ9Ô9ˆØ��tÐÐr<  c                 ó   — t          |Ž S rK  )rï   )Ú	fake_modeÚfuncr‡  rŸ  s       r:  Únative_layer_norm_fakerS  ·  s   € å˜dÐ#Ð#r<  c                 ó„   — t          j        | j        t          j        |¦  «        ¦  «        }t	          j        | |¦  «        S rK  )r�  r  r;  Úextract_dims_from_varargsr¶  r  )rp  rF  Ú_permutations      r:  rð   rð   ¾  s:   € åÔ*Ø	Œ•Ô/°Ñ5Ô5ñô €Lõ Œ?˜1˜lÑ+Ô+Ð+r<  rä  Úmaxnormc                 ó\  ‡‡	— t          j        t          |t          ¦  «         d„ ¦  «         t          j        |dk    d„ ¦  «         t          j        t          ‰t          ¦  «         d„ ¦  «         t          j        ‰dk    ˆfd„¦  «         | j        Š	t          j        ‰	dk    ˆ	fd„¦  «         t          j        ‰	|¦  «        }t          t          ‰	¦  «        ¦  «        }||= t          j	        | j
        ¦  «        }|| j
        k    r%t           j                             | ||d|¬	¦  «        }n#t           j                             | ||d¬
¦  «        }d}t          j        |‰k    ‰||z   z  d¦  «        }|| j
        k    rt          j        || j
        ¦  «        }| |z                       ¦   «         S )Nc                  ó   — dS )Nzrenorm: p must be real-valuedrR  rR  r<  r:  rT  zrenorm.<locals>.<lambda>Ë  s   € Ð5T€ r<  r   c                  ó   — dS )Nz'renorm: non-positive norm not supportedrR  rR  r<  r:  rT  zrenorm.<locals>.<lambda>Ì  s   € Ð I€ r<  c                  ó   — dS )Nz#renorm: maxnorm must be real-valuedrR  rR  r<  r:  rT  zrenorm.<locals>.<lambda>Î  s   € Ð2W€ r<  c                  ó   •— d‰ › �S )Nz,renorm: expected maxnorm to be >= 0 but got rR  )rW  s   €r:  rT  zrenorm.<locals>.<lambda>Ñ  s   ø€ ÐVÈWÐVÐV€ r<  rU  c                  ó   •— d‰ › d�S )Nz/renorm: input needs at least 2 dimensions, got ú dimensionsrR  r”  s   €r:  rT  zrenorm.<locals>.<lambda>Ö  s   ø€ ÐSÀ$ÐSÐSÐS€ r<  T)rý  rÅ  rü  gH¯¼šò×z>rv  )r`  rk  r@  r¾  r;  r�  rÓ  rU  rj  rþ  rÅ  ÚlinalgÚvector_normr²   r¶  r°  rÙ   )
rÂ  rä  rú  rW  ri  Úacc_typerc   r$  Únorm_factorr;  s
      `     @r:  r1  r1  Æ  s¼  øø€ õ
 
„L•Z ¥7Ñ+Ô+Ð+Ð-TÐ-TÑUÔUÐUÝ	„L��Q’ÐIÐIÑJÔJÐJÝ	„LÝ�w¥Ñ(Ô(Ð(Ð*WÐ*Wñô ð õ 
„LØ�1ŠÐVÐVÐVÐVñô ð ð Œ:€DÝ	„LØˆqŠØSÐSÐSÐSñô ð õ
 Ô
   sÑ
+Ô
+€CÝ•u˜T‘{”{Ñ#Ô#€KØ�CÐõ Ô*¨5¬;Ñ7Ô7€HØ�5”;ÒÐÝŒ|×'Ò'Ø�1�k¨4°xð (ñ 
ô 
ˆˆõ Œ|×'Ò'¨¨q°+ÀtÐ'ÑLÔLˆà
€CÝ”+˜d Wšn¨g¸À¹Ñ.DÀcÑJÔJ€KØ�5”;ÒÐÝÔ0°¸e¼kÑJÔJˆØ�KÑ×+Ò+Ñ-Ô-Ð-r<  ÚreflectÚn_fftÚ
hop_lengthÚ
win_lengthÚwindowÚcenterÚpad_modeÚ
normalizedÚonesidedÚreturn_complexÚalign_to_windowc                 ó®  ‡ ‡‡‡‡‡— t          j        ‰d u p‰j        ‰ j        k    ˆ ˆfd„¦  «         t          j        | p|
d u d„ ¦  «         |�|n‰dz  Š|�|n‰Š|	€H‰                      ¦   «         p‰d uot	          j        ‰j        ¦  «        }t          j        |d„ ¦  «         n|	}t          j        t	          j        ‰ j        ¦  «        pt	          j        ‰ j        ¦  «        d„ ¦  «         t          j        d‰ j        cxk    odk    nc d„ ¦  «         ‰ j        }|dk    r‰  	                    d	¦  «        Š |r�d
‰ j        z
  }‰dz  }g t          j        d|¦  «        ¢‰ j        ¢}t                               ‰                      |¦  «        ||g|¦  «        Š ‰                      ‰                      ¦   «         |d …         ¦  «        Š ‰                      d¦  «        Št          j        d	‰cxk     o‰k    nc ˆˆfd„¦  «         t          j        ‰d	k    ˆfd„¦  «         t          j        d	‰cxk     o‰k    nc ˆfd„¦  «         t          j        ‰d u p‰j        ‰fk    ˆˆfd„¦  «         ‰‰k     rN‰€!t          j        ‰‰ j        ‰ j        ¬¦  «        Š‰‰z
  dz  }t                               ‰|‰‰z
  |z
  g¦  «        Š|s(|
r&‰‰z
  dz  }t                               ‰ ||g|¦  «        Š ‰                      d‰‰¬¦  «        Š ‰�‰ ‰z  Š t	          j        ‰ j        ¦  «        }|�|n| }|rdnd }|r:t          j        | d„ ¦  «         t           j                             ‰ d|¬¦  «        }n"t           j                             ‰ d|¬¦  «        }|                     dd¦  «         |dk    r|                     d	¦  «        }|r|nt          j        |¦  «        S )Nc                  ó.   •— d‰ j         › �d‰j         › �z   S )NzAstft input and window must be on the same device but got self on ú and window on r8  ©rÂ  rg  s   €€r:  rT  zstft.<locals>.<lambda>ÿ  s)   ø€ Ø^ÐPUÔP\Ð^Ð^Ø/ ¤Ð/Ð/ñ0ð r<  c                  ó   — dS )Nz6stft only supports align_to_window for center = False.rR  rR  r<  r:  rT  zstft.<locals>.<lambda>  s   € ÐH€ r<  é   c                  ó   — dS )Nz“stft requires the return_complex parameter be given for real inputs, and will further require that return_complex=True in a future PyTorch release.rR  rR  r<  r:  rT  zstft.<locals>.<lambda>  s   € ðcð r<  c                  ó   — dS )Nz:stft expected a tensor of floating point or complex valuesrR  rR  r<  r:  rT  zstft.<locals>.<lambda>  s   € ÐL€ r<  rU  r6  c                  ó   — dS )Nzstft expected a 1D or 2D tensorrR  rR  r<  r:  rT  zstft.<locals>.<lambda>  s   € Ð/P€ r<  r   r³  c                  ó   •— d‰ › d‰› �S )Nzstft expected 0 < n_fft <= z, but got n_fft=rR  )r  rd  s   €€r:  rT  zstft.<locals>.<lambda>.  s   ø€ ÐM¨fÐMÐMÀeÐMÐM€ r<  c                  ó   •— d‰ › �S )Nz0stft expected hop_length > 0 but got hop_length=rR  )Úhop_length_s   €r:  rT  zstft.<locals>.<lambda>2  s   ø€ ÐPÀ;ÐPÐP€ r<  c                  ó   •— d‰ › �S )Nz9stft expected 0 < win_length <= n_fft but got win_length=rR  )Úwin_length_s   €r:  rT  zstft.<locals>.<lambda>6  s   ø€ ÐYÈKÐYÐY€ r<  c                  ó&   •— d‰ › d�d‰j         › �z   S )Nz8expected a 1D window tensor of size equal to win_length=r  zbut got window with size r1  )r{  rg  s   €€r:  rT  zstft.<locals>.<lambda>:  s(   ø€ ØVÀ{ÐVÐVÐVØ8¨&¬,Ð8Ð8ñ9ð r<  rl  rZ  )Ú	dimensionr?  ÚstepÚorthoc                  ó   — dS )Nz9Cannot have onesided output if window or input is complexrR  rR  r<  r:  rT  zstft.<locals>.<lambda>U  ó   € ÐO€ r<  ©rú  rc   )r`  rk  r9  r0  r�  rÄ  rÅ  ræ  r;  r  Ú	itertoolsró   rY  r¯  rÝ  r
  r?  r&  rØ   r  ÚfftÚrfftÚ
transpose_Úsqueeze_Úview_as_real)rÂ  rd  re  rf  rg  rh  ri  rj  rk  rl  rm  Úreturn_complex_Úoriginal_ndimÚ
extra_dimsÚ
pad_amountÚextended_shapeÚleftÚinput_pad_amountÚcomplex_fftrc   r«  ry  r  r{  s   ``  `                @@@r:  r2  r2  ï  s®  øøøøøø€ õ 
„LØ�$ˆÐ7˜&œ-¨5¬<Ò7ð	
ð 	
ð 	
ð 	
ð 	
ñô ð õ 
„LØˆ
Ð-�o¨Ð-ØHÐHñô ð ð
 !+Ð 6�*�*¸EÀQ¹J€KØ *Ð 6�*�*¸E€KàÐØ×*Ò*Ñ,Ô,ð 
Ø˜$ÐÐG¥5Ô#9¸&¼,Ñ#GÔ#Gð 	õ 	ŒØðð ñ	
ô 	
ð 	
ð 	
ð )ˆå	„LÝÔ˜Uœ[Ñ)Ô)ÐP­UÔ-CÀEÄKÑ-PÔ-PØLÐLñô ð õ 
„L��e”jÐ%Ð%Ò%Ð% AÒ%Ð%Ð%Ð%Ð'PÐ'PÑQÔQÐQà”J€MØ˜ÒÐØ—’ Ñ"Ô"ˆàð 6Ø˜œ‘^ˆ
Ø˜a‘Zˆ
ØI�9Ô+¨A¨zÑ:Ô:ÐI¸U¼[ÐIˆÝ—’˜Ÿš NÑ3Ô3°jÀ*Ð5MÈxÑXÔXˆØ—
’
˜5Ÿ:š:™<œ<¨
¨¨Ô4Ñ5Ô5ˆà�ZŠZ˜‰]Œ]€FÝ	„LØ	ˆEÐÐÒÐ�VÒÐÐÐØMÐMÐMÐMÐMñô ð õ 
„LØ�aŠØPÐPÐPÐPñô ð õ 
„LØ	ˆKÐ Ð Ò Ð ˜5Ò Ð Ð Ð ØYÐYÐYÐYñô ð õ 
„LØ�$ˆÐ8˜&œ,¨;¨.Ò8ð	
ð 	
ð 	
ð 	
ð 	
ñô ð ð �UÒÐØˆ>Ý”Z °5´;ÀuÄ|ÐTÑTÔTˆFØ˜Ñ#¨Ñ)ˆÝ×%Ò% f¨t°U¸[Ñ5HÈ4Ñ5OÐ.PÑQÔQˆàð P�oð PØ! KÑ/°AÑ5ÐÝ—’˜Ð!1Ð3CÐ DÀhÑOÔOˆà�LŠL 2¨E¸ˆLÑDÔD€EàÐØ˜‘ˆåÔ(¨¬Ñ5Ô5€KØ#Ð/ˆxˆx¸°_€HØ Ð*ˆ7ˆ7 d€DØð 6ÝŒØˆOØOÐOñ	
ô 	
ð 	
õ Œi�nŠn˜U¨°ˆnÑ6Ô6ˆˆåŒi�mŠm˜E r°ˆmÑ5Ô5ˆà‡N‚N�1�aÑÔÐà˜ÒÐØ�lŠl˜1‰oŒoˆà!Ð>ˆ3ˆ3¥uÔ'9¸#Ñ'>Ô'>Ð>r<  c
                 óˆ
  ‡ ‡‡— t          j        ‰d u p‰j        ‰ j        k    ˆ ˆfd„¦  «         |�|n|dz  }
|�|n|}t          j        t          j        ‰ j        ¦  «        ˆ ˆfd„¦  «         ‰                      d¦  «        }‰                      d¦  «        Š||
|dz
  z  z   }t          j        ‰                      ¦   «         dk    d„ ¦  «         t          j        d	‰ j        cxk    od
k    nc ˆ fd„¦  «         |�|n‰|k    }|r#t          j        |d	z  dz   ‰k    ˆfd„¦  «         nt          j        |‰k    ˆfd„¦  «         t          j        d|
cxk     o|k    nc d„ ¦  «         t          j        d|cxk     o|k    nc d„ ¦  «         t          j        ‰d u p‰j	        |fk    d„ ¦  «         ‰€6t          j
        ‰ j        ¦  «        }t          j        ||‰ j        ¬¦  «        }n‰}||k    r,||z
  d	z  }t                               ||||z
  |z
  fd¦  «        }‰ j        }‰ j        d	k    r‰                      d¦  «        Š ‰                      dd	¦  «        Š |rdnd }|	r:t          j        | d„ ¦  «         t           j                             ‰ d|¬¦  «        Š ntt          j        ‰d u pt          j        ‰j        ¦  «         d„ ¦  «         |s‰                      dd|d	z  dz   ¬¦  «        Š t           j                             ‰ d|¬¦  «        Š ‰                      d	¦  «        |k    r(t)          d‰                      d	¦  «        › d|› �¦  «        ‚‰ |                     dd|g¦  «        z  }t                               ||                     d¦  «        |fd||
¬¦  «        }t                               |                     d	¦  «                             d||f¦  «        |                     d¦  «        |fd||
¬¦  «        }||                     d¦  «        k    r)t)          d|› d|                     d¦  «        › d�¦  «        ‚||                     d¦  «        k    r)t)          d|› d|                     d¦  «        › d�¦  «        ‚|r|d	z  nd}|�||z   }n|r	||d	z  z
  }n|}t          j                             |d||d¦  «        }t          j                             |d||d¦  «        }||z  }|d	k    r|                     d¦  «        }||k    r7t9          j        dd	¬¦  «         t                               |d||z
  fd¦  «        }|S ) Nc                  ó.   •— d‰ j         › �d‰j         › �z   S ©NzBistft input and window must be on the same device but got self on rp  r8  rq  s   €€r:  rT  zistft.<locals>.<lambda>s  s)   ø€ Ø_ÐQVÔQ]Ð_Ð_Ø/ ¤Ð/Ð/ñ0ð r<  rs  c                  ó,   •— d‰ j         › d‰j         › �z   S r“  r8  rq  s   €€r:  rT  zistft.<locals>.<lambda>~  s%   ø€ ØPØ”Ð=Ð=¨f¬mÐ=Ð=ñ>ð r<  rZ  éþÿÿÿrU  r   c                  ó   — dS )Nz"istft input tensor cannot be emptyrR  rR  r<  r:  rT  zistft.<locals>.<lambda>‡  s   € Ð,P€ r<  r6  r³  c                  ó   •— d‰ j         › �S )Nz8istft expected a tensor with 2 or 3 dimensions, but got r”  rÆ  s   €r:  rT  zistft.<locals>.<lambda>Š  s   ø€ ÐWÈ5Ì:ÐWÐW€ r<  c                  ó   •— dd‰ › �z   S )NúMistft expected the frequency dimension (3rd to the last) of the input tensor z3to match n_fft / 2 + 1 when onesided=True, but got rR  ©Úfft_sizes   €r:  rT  zistft.<locals>.<lambda>‘  s   ø€ Ø_ØRÈÐRÐRñSð r<  c                  ó   •— dd‰ › �z   fS )Nr™  z,to match n_fft when onesided=False, but got rR  rš  s   €r:  rT  zistft.<locals>.<lambda>™  s   ø€ Ø_ØKÀÐKÐKñLð€ r<  c                  ó   — dS )Nz+istft expected 0 < hop_length <= win_lengthrR  rR  r<  r:  rT  zistft.<locals>.<lambda>¡  r8  r<  c                  ó   — dS )Nz&istft expected 0 < win_length <= n_fftrR  rR  r<  r:  rT  zistft.<locals>.<lambda>¤  s   € Ð*R€ r<  c                  ó   — dS )NzDInvalid window shape. window has to be 1D and length of `win_length`rR  rR  r<  r:  rT  zistft.<locals>.<lambda>¨  s   € ÐV€ r<  rl  r  c                  ó   — dS )Nz9cannot have onesided output if window or input is complexrR  rR  r<  r:  rT  zistft.<locals>.<lambda>¾  r�  r<  r‚  c                  ó   — dS )Nz:Complex windows are incompatible with return_complex=FalserR  rR  r<  r:  rT  zistft.<locals>.<lambda>Ä  ó   € ÐP€ r<  )rú  r¿  r  z%Expected input.size(2) == n_fft, got z != )ræ  rú  r?  r~  zexpected_output_signal_len (z) != y.size(1) (r  z) != window_envelop.size(1) (zšThe length of signal is shorter than the length parameter. Result is being padded with zeros in the tail. Please check your center and hop_length settings©Ú
stacklevel)r`  rk  r9  r�  rÄ  rÅ  r?  r  r;  rY  Úcorresponding_real_dtyper&  r¯  rØ   r  r  r„  Úifftrì   ÚirfftrÙ  r
  Úunfold_backwardr¢   rá   ÚslicerT  rü   ÚwarningsÚwarn)rÂ  rd  re  rf  rg  rh  rj  rk  r  rl  ry  r{  Ún_framesÚexpected_output_signal_lenÚ	onesided_Ú
real_dtypeÚwindow_rŽ  rŠ  rc   Úy_tmpr}  Úwindow_envelopr¿  Úendr›  s   `   `                    @r:  r3  r3  d  s}  øøø€ õ 
„LØ�$ˆÐ7˜&œ-¨5¬<Ò7ð	
ð 	
ð 	
ð 	
ð 	
ñô ð ð !+Ð 6�*�*¸EÀQ¹J€KØ *Ð 6�*�*¸E€Kå	„LÝÔ˜uœ{Ñ+Ô+ð	
ð 	
ð 	
ð 	
ð 	
ñô ð ð �zŠz˜"‰~Œ~€HØ�zŠz˜"‰~Œ~€Hà!&¨¸À1¹Ñ)EÑ!EÐÝ	„L�—’‘” Ò"Ð$PÐ$PÑQÔQÐQÝ	„LØ	ˆUŒZÐÐÒÐ˜1ÒÐÐÐØWÐWÐWÐWñô ð ð %Ð0��°hÀ%Ò6G€Iàð 
ÝŒØ�Q‰J˜‰N˜hÒ&ðð ð ð ñ	
ô 	
ð 	
ð 	
õ 	ŒØ�XÒðð ð ð ñ	
ô 	
ð 	
õ 
„LØ	ˆKÐ&Ð&Ò&Ð&˜;Ò&Ð&Ð&Ð&Ø=Ð=ñô ð õ 
„LØ	ˆKÐ Ð Ò Ð ˜5Ò Ð Ð Ð Ð"RÐ"Rñô ð õ 
„LØ�$ˆÐ8˜&œ,¨;¨.Ò8ØVÐVñô ð ð
 €~ÝÔ3°E´KÑ@Ô@ˆ
Ý”*˜[°
À5Ä<ÐPÑPÔPˆˆàˆà�eÒÐØ˜Ñ#¨Ñ)ˆÝ×&Ò& w°°u¸{Ñ7JÈTÑ7QÐ0RÐTUÑVÔVˆà”J€MØ„z�Q‚€Ø—’ Ñ"Ô"ˆà�OŠO˜A˜qÑ!Ô!€EØ Ð*ˆ7ˆ7 d€DØð :ÝŒØˆMØOÐOñ	
ô 	
ð 	
õ ”	—’˜u¨"°4�Ñ8Ô8ˆˆåŒØ�dˆNÐF¥%Ô"8¸¼Ñ"FÔ"FÐFØPÐPñ	
ô 	
ð 	
ð ð 	IØ—L’L R¨q¸À!¹Àa¹�LÑHÔHˆEÝ”	—’ ¨2°D�Ñ9Ô9ˆà‡z‚z�!�}„}˜ÒÐÝØN°E·J²J¸q±M´MÐNÐNÀuÐNÐNñ
ô 
ð 	
ð �G—L’L ! Q¨ Ñ/Ô/Ñ/€EÝ×ÒØØ—Z’Z ‘]”]Ð$>Ð?ØØØð 	ñ 	ô 	€Aõ ×)Ò)Ø�Š�A‰Œ×Ò˜q (¨EÐ2Ñ3Ô3Ø—Z’Z ‘]”]Ð$>Ð?ØØØð *ñ ô €Nð " Q§V¢V¨A¡Y¤YÒ.Ð.ÝØcÐ+EÐcÐcÐWX×W]ÒW]Ð^_ÑW`ÔW`ÐcÐcÐcñ
ô 
ð 	
ð " ^×%8Ò%8¸Ñ%;Ô%;Ò;Ð;ÝØ}Ð+EÐ}Ð}Ðdr×dwÒdwÐxyÑdzÔdzÐ}Ð}Ð}ñ
ô 
ð 	
ð !Ð'ˆE�Q‰JˆJ a€EØÐØ�f‰nˆˆØ	ð )Ø(¨5°A©:Ñ5ˆˆà(ˆåŒ
×Ò˜!˜Q  s¨AÑ.Ô.€AÝ”Z×&Ò& ~°q¸%ÀÀaÑHÔH€Nà	ˆNÑ€AØ˜ÒÐØ�IŠI�a‰LŒLˆà
Ð'Ò'Ð'ÝŒð`àð	
ñ 	
ô 	
ð 	
õ
 × Ò   Q¨Ð.HÑ(HÐ$IÈ1ÑMÔMˆØ€Hr<  Úa_shapeÚa_strider}  r~  c                 óö  ‡‡‡	‡
— t          | ¦  «        }t          j        ||d¬¦  «        Š	|dk    rdn| ‰	         Š
|dk    rdn|‰	         }t          j        ‰‰
k    ˆ	ˆ
ˆfd„¦  «         t          j        ‰dk    ˆfd„¦  «         t          | ¦  «        }t          |¦  «        }|                     ‰¦  «         |                     |¦  «         ‰	|k     r$|‰	         ‰z
  ‰z  dz   |‰	<   |‰	xx         ‰z  cc<   ||fS )NT)Úwrap_scalarr   rU  c                  ó   •— d‰ › d‰› d‰› �S )Nz%Maximum size for tensor at dimension z is z but size is rR  )rú  Úmax_sizer?  s   €€€r:  rT  z*_get_unfold_shape_stride.<locals>.<lambda>  s!   ø€ Ð^¸Ð^Ð^ÀÐ^Ð^ÐX\Ð^Ð^€ r<  c                  ó   •— d‰ › d�S )NzStep is z but must be > 0rR  ©r~  s   €r:  rT  z*_get_unfold_shape_stride.<locals>.<lambda>  s   ø€ Ð1˜4Ð1Ð1Ð1€ r<  )rX  r�  rÓ  r`  rk  rU  r±  )r´  rµ  r}  r?  r~  Úa_ndimÚlast_striderY  Ústridesrú  r¹  s      ``    @@r:  Ú_get_unfold_shape_strider¿    s,  øøøø€ õ �‰\Œ\€FÝ
Ô
  ¨ÀÐ
EÑ
EÔ
E€CØ˜a’K�Kˆqˆq W¨S¤\€HØ ’{�{�!�!¨°¬€Kå	„LØ�ÒØ^Ð^Ð^Ð^Ð^Ð^ñô ð õ
 
„LØˆqŠØ1Ð1Ð1Ð1ñô ð õ
 �‰MŒM€EÝ�8‰nŒn€GØ	‡L‚L�ÑÔÐØ‡N‚N�;ÑÔÐØ
ˆV‚|€|Ø˜C”j 4Ñ'¨DÑ0°1Ñ4ˆˆc‰
Ø�ˆˆŒ˜Ñˆˆ‰Ø�'ˆ>Ðr<  c                 ó  — t          j        |d¬¦  «        }t          j        t	          |¦  «        t	          | j        ¦  «        k    d„ ¦  «         t	          |¦  «        dk    rt          j        | ¦  «        S t	          |¦  «        | j        z
  }dg|z  }| j        D ]}|                     |¦  «         Œt          d„ t          ||¦  «        D ¦   «         ¦  «        }d|v r:t          j        || j        | j        | j        t          j        | ¦  «        ¬¦  «        S |}t          j        |¦  «        }t#          |¦  «        D ])\  }}t%          ||||t'          |d¦  «        ¦  «        \  }}Œ*t)          t#          |¦  «        ¦  «        }	|	                     t-          j        d¦  «        d¬	¦  «         t          |	Ž \  }
}|                      |¦  «        }t          j        |¦  «        }|                     |
¦  «        }|                     |¦  «        S )
NFr]  c                  ó   — dS )Nzbrepeat: Number of dimensions of repeat dims can not be smaller than number of dimensions of tensorrR  rR  r<  r:  rT  zrepeat.<locals>.<lambda>$  s   € Ðt€ r<  r   rU  c              3   ó&   K  — | ]\  }}||z  V — Œd S rK  rR  )rN  Úpadded_sizeÚrepeat_sizes      r:  rP  zrepeat.<locals>.<genexpr>/  s?   è è € ð ð á$ˆK˜ð 	�kÑ!ðð ð ð ð ð r<  rÑ  T)ÚkeyÚreverse)r�  re  r`  rk  rX  rY  r³   r;  r±  re  r|  r  rÅ  r9  rÏ  rÂ  Úmake_contiguous_strides_forri  r¿  rh  rU  Úsortr„  Ú
itemgetterrá   rð   rô   )rp  Úrepeat_shapeÚnum_new_dimensionsÚpadded_shapeÚdim_sizeÚtarget_shapeÚurtensor_shapeÚurtensor_striderú  Úenumerated_strideÚpermute_orderÚ_sorted_strideÚrepeat_xtensorÚcloned_resultÚpermuted_results                  r:  ró   ró     s+  € õ Ô3°LÈ5ÐQÑQÔQ€LÝ	„LÝˆLÑÔ�S ¤™\œ\Ò)ØtÐtñô ð õ
 ˆ<ÑÔ˜AÒÐÝŒ{˜1‰~Œ~Ðå˜\Ñ*Ô*¨Q¬VÑ3ÐØ�3Ð+Ñ+€LØ”Gð &ð &ˆØ×Ò˜HÑ%Ô%Ð%Ð%åð ð å(+¨L¸,Ñ(GÔ(Gðñ ô ñ ô €Lð 	ˆLÐÐÝŒ{ØØ”'Ø”8Øœ/ÝÔ5°aÑ8Ô8ð
ñ 
ô 
ð 	
ð "€NÝÔ7¸ÑEÔE€OÝ" <Ñ0Ô0ð 
ð 
‰ˆˆXå*BØ˜O¨S°(½CÀÈ!Ñ<LÔ<Lñ+
ô +
Ñ'ˆ˜˜õ
 �Y Ñ7Ô7Ñ8Ô8ÐØ×Ò�xÔ2°1Ñ5Ô5¸tÐÑDÔDÐDÝ$'Ð):Ð$;Ñ!€M�>ð —X’X˜nÑ-Ô-€Nõ ”K Ñ/Ô/€Mð $×+Ò+¨MÑ:Ô:€Oð ×"Ò" <Ñ0Ô0Ð0r<  Ú
allow_copyc                 óp  ‡
‡— dŠ| Š
|D �]E}‰‰
j         k    rJ|dk    rt          d|› d�¦  «        ‚‰
j         dz
  }t          j        ‰
|‰
j        |         ¦  «        Š
‰dz   ŠŒX|‰
j        ‰         k    r‰dz   ŠŒo‰
j        ‰         }‰}||z  dk    r|dz  }|‰
j        |         z  }||z  dk    °|‰k    ryt          j        ‰
‰|d ¬¦  «        \  }}|€K|rt          j        | |¦  «        c S d| j        › d|                      ¦   «         › d|› d	�}	t          |	¦  «        ‚t          ‰
‰|¦  «        Š
||k    rt          j        ‰
‰|¦  «        Š
‰dz   Š�ŒG‰‰
j         k     rCt          j        ‰
j        ‰         dk    ˆ
ˆfd
„¦  «         t          ‰
‰¦  «        Š
‰‰
j         k     °C‰
| u rt          j        | ¦  «        S ‰
S )Nr   rU  z'Cannot unsqueeze dimension with length z, expected 1r
  z Cannot view a tensor with shape z and strides ú as a tensor with shape r€  c                  ó*   •— d‰› d‰ j         ‰         › �S )Nza.size(z) expected to be 1 but got r1  )r  r^  s   €€r:  rT  z/_reshape_view_helper_core_alg.<locals>.<lambda>£  s   ø€ ÐM˜cÐMÐM¸b¼hÀs¼mÐMÐM€ r<  )r;  rÙ  r¶  Ú	split_dimrY  r  rô   r<  rl  rä   r`  rk  rü   rh  )rp  rY  r×  r  Úlast_dimÚaccumr³  rë  r  rÛ  r  r^  s             @@r:  Ú_reshape_view_helper_core_algrÞ  X  s7  øø€ ð( €CØ	
€BØð /ñ /ˆà�"”'Š>ˆ>Ø˜Š{ˆ{Ý$ØR¸fÐRÐRÐRñô ð ð ”w ‘{ˆHõ ”  X¨r¬x¸Ô/AÑBÔBˆBØ˜‘'ˆCØð �R”X˜c”]Ò"Ð"Ø˜‘'ˆCØà”˜”ˆØˆØ�f‰n Ò!Ð!Ø�1‰HˆCØ�R”X˜c”]Ñ"ˆEð �f‰n Ò!Ð!ð �#Š:ˆ:õ ',Ô&AØ�C˜¨Dð'ñ 'ô 'Ñ#ˆI�|ð Ð Øð 3Ý œ=¨¨EÑ2Ô2Ð2Ð2Ð2à{¸¼Ð{Ð{ÈqÏxÊxÉzÌzÐ{Ð{ÐsxÐ{Ð{Ð{�Ý  ‘o”oÐ%å˜˜S #Ñ&Ô&ˆBð �FŠ?ˆ?Ý”  S¨&Ñ1Ô1ˆBà�A‰gˆ‰ð �”Š-ˆ-ÝŒØŒH�SŒM˜QÒØMÐMÐMÐMÐMñ	
ô 	
ð 	
õ �R˜ÑÔˆð �”Š-ˆ-ð 
ˆQ€w€wÝŒ}˜QÑÔÐàˆ	r<  c                óT  ‡ ‡— t          j        ‰d¬¦  «        Št          j        ‰‰                      ¦   «         ¦  «        Š‰                      ¦   «         dk    r#t	          ‰ ‰t          j        ‰¦  «        ¦  «        S ‰ j        dk    rI‰ }‰D ]*}|dk    rt          d|› �¦  «        ‚t          |d¦  «        }Œ+|‰ u rt          j
        ‰ ¦  «        S |S t          ‰¦  «        dk    rN‰ }‰ j        D ]*}|dk    rt          d|› �¦  «        ‚t          |d¦  «        }Œ+|‰ u rt          j
        ‰ ¦  «        S |S t          ‰ ¦  «        r�t          ‰¦  «        dk    r5‰ j        dk    r*t          j        ‰ ‰                      ¦   «         gdg¦  «        S t          ‰¦  «        dk    r5‰ j        dk    r*‰d         }‰d         }t          j        ‰ ||g|dg¦  «        S t!          t"          j        ‰d¦  «        }t          j        ‰                      ¦   «         |k    ˆ ˆfd	„¦  «         t)          ‰ ‰|¦  «        S )
NFr]  r   rU  z<Cannot reshape 0-dim tensor: shape dimension must be 1, got rZ  z?Cannot reshape to 0-dim tensor: shape dimension must be 1, got r6  c                  ó    •— d‰ j         › d‰› d�S )Nz&Could not reshape a tensor with shape rÙ  r€  r1  ra  s   €€r:  rT  z&_reshape_view_helper.<locals>.<lambda>á  s   ø€ Ðb¸¼ÐbÐbÐZ_ÐbÐbÐb€ r<  )r�  re  Ú
infer_sizer  rÍ   rÇ  r;  rÙ  r  r¶  rh  rX  rY  rü   r   r`  r   r„  rŸ   rk  rÞ  )rp  r×  rY  Ú_ar  Údim0Údim1Úshape_numels   ` `     r:  Ú_reshape_view_helperræ  ­  sH  øø€ åÔ,¨U¸UÐCÑCÔC€Eõ Ô˜U A§G¢G¡I¤IÑ.Ô.€Eð 	‡w‚w�y„y�A‚~€~Ý˜!˜U¥EÔ$EÀeÑ$LÔ$LÑMÔMÐMð 	„v�‚{€{ØˆØð 	#ð 	#ˆFØ˜Š{ˆ{Ý$Ø[ÐSYÐ[Ð[ñô ð õ ˜2˜rÑ"Ô"ˆBˆBØ�ˆ7ˆ7Ý”= Ñ#Ô#Ð#àˆIõ ˆ5�z„z�Q‚€ØˆØ”gð 	!ð 	!ˆFØ˜Š{ˆ{Ý$Ø^ÐV\Ð^Ð^ñô ð õ ˜˜R‘”ˆBˆBØ�ˆ7ˆ7Ý”= Ñ#Ô#Ð#àˆIå˜aÑ Ô ð @åˆu‰:Œ:˜Š?ˆ?˜qœv¨šz˜zÝÔ# A¨¯ª©	¬	 {°Q°CÑ8Ô8Ð8åˆu‰:Œ:˜Š?ˆ?˜qœv¨š{˜{Ø˜”8ˆDØ˜”8ˆDÝÔ# A¨¨d |°d¸A°YÑ?Ô?Ð?å�œ u¨aÑ0Ô0€KÝ	„LØ	�Š‰	Œ	�[Ò ØbÐbÐbÐbÐbñô ð õ )¨¨E°:Ñ>Ô>Ð>r<  rY  c                 ó"   — t          | g|¢R ddiŽS )Nr×  T)ræ  ra  s     r:  rô   rô   ì  s    € Ý Ð; EÐ;Ð;Ð;°dÐ;Ð;Ð;r<  c                 óP   — |                       |                     ¦   «         ¦  «        S rK  )rô   r?  ©r  r  s     r:  rõ   rõ   ñ  s   € Ø�<Š<˜Ÿ
š
™œÑ%Ô%Ð%r<  rR  Úshiftsc                 ó`  — t          j        | j        |¦  «        }t          |t          ¦  «        s|f}t          |t          ¦  «        s|f}|                      ¦   «         dk    r|                      ¦   «         S |                      ¦   «         dk    r,t          |¦  «        dk    rt          d|d         › d�¦  «        ‚t          |¦  «        }t          |¦  «        }|dk    s|dk    rá|dk    rt          d¦  «        ‚|dk    rF|dk    r@t          j        t          j        | ¦  «        |d¦  «                             | j        ¦  «        S ||k    rt          d|› d|› �¦  «        ‚|dk    rt!          d|› �¦  «        ‚|dd	…         }|dd	…         }t          j        | |d         f|d         ¦  «        }t          j        |||¦  «        S |d         }| j        |         }	|	|d         z
  |	z  }
t          j        |	| j        ¬
¦  «        }|                      |t          j        |
|z   |	¦  «        ¦  «        S )z/Reference implementation of :func:`torch.roll`.r   zDimension specified as z but tensor has no dimensionsrU  z`shifts` requiredz*shifts and dimensions must align. shifts: z, dims: zExpected len_dims > 1, got Nr8  )r�  r  r;  r@  r   r  r³   rú  rX  r"  rg  r`  rö   rä   r
  rY  rÙ  r  r9  rP   r‰   )rp  rê  rF  Ú
len_shiftsÚlen_dimsÚtail_shiftsÚ	tail_dimsÚfirst_dim_rolledrú  r?  r¿  r^  s               r:  rö   rö   õ  s7  € õ
 Ô" 1¤6¨4Ñ0Ô0€Då�f�hÑ'Ô'ð Ø�ˆÝ�d�HÑ%Ô%ð Øˆwˆð 	‡w‚w�y„y�A‚~€~à�wŠw‰yŒyÐð 	‡u‚u�w„w�!‚|€|�˜D™	œ	 Aš˜ÝàL d¨1¤gÐLÐLÐLñ
ô 
ð 	
õ �V‘”€Jå�4‰yŒy€HØ�Q‚€˜( aš-˜-Ø˜Š?ˆ?ÝÐ2Ñ3Ô3Ð3ð �qŠ=ˆ=˜Z¨1š_˜_Ý”:�eœm¨AÑ.Ô.°¸Ñ:Ô:×?Ò?ÀÄÑHÔHÐHØ˜Ò!Ð!ÝØ[¸ZÐ[Ð[ÐQYÐ[Ð[ñô ð ð �qŠ=ˆ=Ý Ð!I¸xÐ!IÐ!IÑJÔJÐJà˜Q˜R˜R”jˆà˜˜˜”Hˆ	õ !œ: a¨&°¬)¨°t¸A´wÑ?Ô?ÐÝŒzÐ*¨K¸ÑCÔCÐCð
 ˆqŒ'€CØŒ7�3Œ<€Dà�F˜1”IÑ Ñ%€EÝ
Œ,�t A¤HÐ
-Ñ
-Ô
-€CØ�>Š>˜#�uœz¨%°#©+°tÑ<Ô<Ñ=Ô=Ð=r<  ©r   rU  Úkc                 óÌ  — t          |¦  «        dk    rt          dt          |¦  «        › �¦  «        ‚| j        dk     rt          d| j        › �¦  «        ‚t          j        | j        |¦  «        }|d         |d         k    r!t          d|d         › d|d         › �¦  «        ‚|dz  }|dk    r<t          j        t          j        | |d         f¦  «        |d         |d         ¦  «        S |dk    rt          j        | |¦  «        S |d	k    r<t          j        t          j        | |d         f¦  «        |d         |d         ¦  «        S |                      t
          j	        ¬
¦  «        S )z0Reference implementation of :func:`torch.rot90`.r6  z2expected total rotation dims == 2, but got dims = z/expected total dims >= 2, but got total dims = r   rU  z7expected rotation dims to be different, but got dim0 = z and dim1 = rs  r³  r  )
rX  rg  r;  r�  r  r`  r  rå   r³   rH  )rp  rò  rF  s      r:  r÷   r÷   2  s`  € õ ˆ4�y„y�A‚~€~ÝØLÅÀTÁÄÐLÐLñ
ô 
ð 	
ð 	„v�‚z€zÝÐUÈQÌVÐUÐUÑVÔVÐVõ Ô" 1¤6¨4Ñ0Ô0€DàˆA„w�$�q”'ÒÐÝØdÀdÈ1ÄgÐdÐdÐ[_Ð`aÔ[bÐdÐdñ
ô 
ð 	
ð 	
ˆA‰€AØˆA‚v€vÝŒ�uœz¨!¨d°1¬g¨ZÑ8Ô8¸$¸q¼'À4ÈÄ7ÑKÔKÐKØ	
ˆaŠˆÝŒz˜!˜TÑ"Ô"Ð"Ø	
ˆaŠˆÝŒ�uœz¨!¨d°1¬g¨ZÑ8Ô8¸$¸q¼'À4ÈÄ7ÑKÔKÐKà�wŠw¥UÔ%<ˆwÑ=Ô=Ð=r<  c                 óÈ   ‡— ddl m} | d         j        Št          dt	          | ¦  «        ¦  «        D ]/}t          j         || |         j        ‰¦  «        ˆfd„¦  «         Œ0d S )Nr   rD  rU  c                  ó   •— d‰ › d�S )Nz4stack expects each tensor to be equal size, but got z at entry 0 rR  )Úentry_shapes   €r:  rT  z%_check_stack_inputs.<locals>.<lambda>Y  s   ø€ ÐdÈ;ÐdÐdÐd€ r<  )r_  rE  rY  rj  rX  r`  rk  )r½  rE  r3  rö  s      @r:  Ú_check_stack_inputsr÷  R  s…   ø€ Ø<Ð<Ð<Ð<Ð<Ð<à˜!”*Ô"€KÝ�1•c˜'‘l”lÑ#Ô#ð 
ð 
ˆÝŒØˆF�7˜1”:Ô# [Ñ1Ô1ØdÐdÐdÐdñ	
ô 	
ð 	
ð 	
ð
ð 
r<  c                 óÞ  ‡— t          | ¦  «        dk    rt          d¦  «        ‚t          j        | d         j        dz   |¦  «        Š‰| d         j        k     rvt          | ¦  «         t          | d         j        ¦  «        }|                     ‰t          | ¦  «        ¦  «         t          j
        | ‰¦  «        }|                     |¦  «        S t          j
        ˆfd„| D ¦   «         |¦  «        S )Nr   z$stack expects a non-empty TensorListrU  c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS rR  )r  )rN  rþ   Úwrapped_dims     €r:  r7  zstack.<locals>.<listcomp>l  s%   ø€ Ð@Ð@Ð@°1�a—k’k +Ñ.Ô.Ð@Ð@Ð@r<  )rX  rÙ  r�  rÓ  r;  r÷  rU  rY  Úinsertr`  rÔ   r
  )r½  rú  Úresult_sizesr«  rú  s       @r:  rú   rú   ]  sÝ   ø€ õ ˆ7�|„|�qÒÐÝÐCÑDÔDÐDÝÔ(¨°¬¬¸1Ñ)<¸cÑBÔB€Kà�W˜Q”Z”_Ò$Ð$Ý˜GÑ$Ô$Ð$Ý˜G AœJÔ,Ñ-Ô-ˆØ×Ò˜K­¨W©¬Ñ6Ô6Ð6ÝŒi˜ Ñ-Ô-ˆØ�xŠx˜Ñ%Ô%Ð%õ Œ9Ð@Ð@Ð@Ð@¸Ð@Ñ@Ô@À#ÑFÔFÐFr<  c           
      óP  — |p| j         }t          j        |¦  «        }t          | |¦  «        }|                      ¦   «         dk    rt          |¦  «        }n$t          ||d¬¦  «        }t          ||z
  ¦  «        }t          t          |t          ||d¬¦  «        ¦  «        |¦  «        S )Nr   Trü  )	rÅ  r�  rþ  r+   r  rD   r¸   rª   rÂ   )rp  rú  rÅ  rÿ  r   r  Úa_expÚa_maxs           r:  rr   rr   p  s£   € ð Ð#˜AœG€LÝÔ3°LÑAÔAÐÝ	  Ð$5Ñ	6Ô	6€BØ‡w‚w�y„y�A‚~€~Ý�B‘”ˆˆå�R˜ dÐ+Ñ+Ô+ˆÝ�B˜‘J‘”ˆÝ"å�E�3˜u c°4Ð8Ñ8Ô8Ñ9Ô9Øñô ð r<  c                 óÄ   — t          j        t          | ¦  «        dk    d„ ¦  «         t          | Ž }|d         j        dk    rt          |d¦  «        S t          |d¦  «        S )Nr   c                  ó   — dS )Nz%hstack expects a non-empty TensorListrR  rR  r<  r:  rT  zhstack.<locals>.<lambda>ˆ  rò  r<  rU  )r`  rk  rX  rÊ   r;  rÔ   rÙ  s     r:  ré   ré   †  s`   € å	„L•�W‘” Ò!Ð#RÐ#RÑSÔSÐSÝ  'Ð*€OØ�qÔÔ !Ò#Ð#Ý�? AÑ&Ô&Ð&Ýˆ Ñ"Ô"Ð"r<  c                 ó‚   — t          j        t          | ¦  «        dk    d„ ¦  «         t          | Ž }t	          |d¦  «        S )Nr   c                  ó   — dS )Nz%vstack expects a non-empty TensorListrR  rR  r<  r:  rT  zvstack.<locals>.<lambda>’  rò  r<  )r`  rk  rX  rË   rÔ   rÙ  s     r:  r  r  �  ró  r<  rD  c                 óB  — t          j        | j        |¦  «        }t          j        t          |¦  «        dk    d„ ¦  «         |                      t          | j        d |…         ¦  «        t          |¦  «        z   t          | j        |dz   d …         ¦  «        z   ¦  «        S )Nr   c                  ó   — dS )Nz"unflatten: sizes must be non-emptyrR  rR  r<  r:  rT  zunflatten.<locals>.<lambda>š  s   € Ð*N€ r<  rU  )	r�  rÓ  r;  r`  rk  rX  r
  re  rY  )rp  rú  rD  s      r:  r  r  ˜  s�   € Ý
Ô
  ¤¨Ñ
-Ô
-€CÝ	„L•�U‘”˜q’Ð"NÐ"NÑOÔOÐOØ�6Š6•%˜œ   œÑ&Ô&­¨u©¬Ñ5½¸a¼gÀcÈAÁgÀiÀiÔ>PÑ8QÔ8QÑQÑRÔRÐRr<  rþ   c                 ó*  ‡— t          j        | j        ‰¦  «        Št          j        t          | j        ¦  «        dk    d„ ¦  «         | j        ‰         dk    rdS t          ˆfd„t          j        | | j        ‰         ‰¦  «        D ¦   «         ¦  «        S )Nr   c                  ó   — dS )Nz5Dimension specified as 0 but tensor has no dimensionsrR  rR  r<  r:  rT  zunbind.<locals>.<lambda>£  s   € ÐG€ r<  rR  c              3   óB   •K  — | ]}t          j        |‰¦  «        V — Œd S rK  )r`  rü   )rN  Úsrú  s     €r:  rP  zunbind.<locals>.<genexpr>«  s@   øè è € ð 
ð 
Ø&'�EŒM˜!˜SÑ!Ô!ð
ð 
ð 
ð 
ð 
ð 
r<  )	r�  rÓ  r;  r`  Ú_check_indexrX  rY  re  r  )rþ   rú  s    `r:  r  r  ž  s§   ø€ å
Ô
  ¤¨Ñ
-Ô
-€CÝ	ÔÝˆAŒG‰Œ�qÒØGÐGñô ð ð 	„wˆs„|�qÒÐØˆråð 
ð 
ð 
ð 
Ý+0Ô+=¸aÀÄÈÄÈsÑ+SÔ+Sð
ñ 
ô 
ñ 
ô 
ð 	
r<  r!  rÕ  c                 ól   — |                       t          j        ¬¦  «                             |||¦  «        S r  )r³   r`  rH  rO   )rO  rú  r!  rÕ  s       r:  rN   rN   °  s2   € à�7Š7¥Ô!8ˆ7Ñ9Ô9×EÒEØˆU�Fñô ð r<  c                 óú   ‡— t          j        | j        |¦  «        }t          j        ‰j        dk    ˆfd„¦  «         | j        dk    r|                      d¦  «        n| }t          d ¦  «        f|z  ‰fz   }|||<   | S )NrU  c                  ó   •— d‰ j         › d�S ©Nz(Index should have dimension 1 or 0 (got r  r”  ©r!  s   €r:  rT  zindex_copy_.<locals>.<lambda>»  ó   ø€ ÐH¸5¼:ÐHÐHÐH€ r<  r   )r�  r  r;  r`  rk  r  r©  )rO  rú  r!  rÕ  r}  r^  s     `   r:  rO   rO   ·  s†   ø€ Ý
Ô
! !¤&¨#Ñ
.Ô
.€CÝ	„LØŒ
�aŠØHÐHÐHÐHñô ð ð
 œ& Aš+˜+ˆ�Š�A‰Œˆ¨1€AÝ�‰;Œ;ˆ.˜3Ñ
 % Ñ
)€CØ€A€c�FØ€Hr<  c                 ó*   — t          | |||d¬¦  «        S )NF©Úinplace©Ú_index_fill©rO  rú  r!  rÔ  s       r:  rQ   rQ   Ä  s   € õ
 �q˜#˜u e°UÐ;Ñ;Ô;Ð;r<  c                 ó*   — t          | |||d¬¦  «        S )NTr  r  r  s       r:  rR   rR   Ì  s   € õ �q˜#˜u e°TÐ:Ñ:Ô:Ð:r<  r  c                óD  ‡‡— t          j        ‰j        dk    ˆfd„¦  «         t          ‰t          ¦  «        r"t          j        ‰j        dk    ˆfd„¦  «         n't          j        ‰| j        | j        | j        ¬¦  «        Š| j        dk    }|r|  	                    d¦  «        n| }t          |j        ¦  «        }‰                     ¦   «         ||<   ‰                     |¦  «        Š|rt          j        nt           j        } |||‰‰¦  «        }	|r| S |r'|	                     d¦  «                             ¦   «         }	|	                     ¦   «         |                      ¦   «         k    r;t)          j        | ¦  «        r't-          j        |	|                      ¦   «         ¦  «        }	|	S )NrU  c                  ó   •— d‰ j         › d�S r  r”  r  s   €r:  rT  z_index_fill.<locals>.<lambda>Ý  r  r<  r   c                  ó   •— d‰ j         › d�S )Nz<Only supports 0-dimensional value tensor. Got a tensor with rá  r”  rã  s   €r:  rT  z_index_fill.<locals>.<lambda>â  s   ø€ ð :Ø!&¤ð:ð :ð :€ r<  )rÅ  r  r9  )r`  rk  r;  r@  r'   r)  rÅ  r  r9  r  rU  rY  r  rá   rT  rO   rN   rü   r³   r<  r�  Ú%is_non_overlapping_and_dense_or_falser¶  Úcopy_strided)
rO  rú  r!  rÔ  r  Úzero_dimr}  rY  rN   r«  s
     ``      r:  r  r  Ó  s¥  øø€ õ 
„LØŒ
�aŠØHÐHÐHÐHñô ð õ �%�Ñ$Ô$ð 
ÝŒØŒJ˜!ŠOð:ð :ð :ð :ñ	
ô 	
ð 	
ð 	
õ Ô#ØØ”'Ø”8Ø”8ð	
ñ 
ô 
ˆð Œv˜Š{€HØ"Ð)ˆ�Š�A‰Œˆ¨€Aå�”‰MŒM€EØ—’‘”€Eˆ#�JØ�LŠL˜ÑÔ€EØ'.ÐD•Ô#Ð#µEÔ4D€JØ
ˆ*�Q˜˜U EÑ
*Ô
*€CØð Øˆàð 	)à—+’+˜a‘.”.×&Ò&Ñ(Ô(ˆCð �:Š:‰<Œ<˜1Ÿ8š8™:œ:Ò%Ð%­%Ô*UØñ+
ô +
Ð%õ Ô$ S¨!¯(ª(©*¬*Ñ5Ô5ˆCØˆ
r<  c                óp   — |                       t          j        ¬¦  «                             ||||¬¦  «        S )Nr  r[  )r³   r`  rH  Ú
index_add_)rO  rú  r!  rÕ  r\  s        r:  rM   rM     s?   € ð �7Š7¥Ô!8ˆ7Ñ9Ô9×DÒDØØØØð	 Eñ ô ð r<  c                 óÒ  ‡— t          j        | j        |¦  «        }t          j        ‰j        dk    ˆfd„¦  «         ‰j        dk    r‰                     d¦  «        Š| j        dk    r<t          j        | ¦  «                             d‰|                      ‰¦  «        ¦  «        S t          d ¦  «        f|z  ‰fz   }| |          
                    t          j        | ¦  «        ¬¦  «        S )NrU  c                  ó   •— d‰ j         › d�S r  r”  r  s   €r:  rT  zindex_select.<locals>.<lambda>  r  r<  r   r  )r�  r  r;  r`  rk  r  r  rN   râ   r©  rÙ   rÂ  )rO  rú  r!  r^  s     ` r:  rP   rP     sÛ   ø€ õ Ô
! !¤&¨#Ñ
.Ô
.€CÝ	„LØŒ
�aŠØHÐHÐHÐHñô ð ð „z�Q‚€Ø—’ Ñ"Ô"ˆØ„v�‚{€{õ Ô Ñ"Ô"×-Ò-¨a°¸¿ºÀEÑ8JÔ8JÑKÔKÐKå�‰;Œ;ˆ.˜3Ñ
 % Ñ
)€CØˆSŒ6×Ò­5Ô+FÀqÑ+IÔ+IÐÑJÔJÐJr<  c                 óü  ‡ ‡— ddl mŠ |€Vt          d„ t          ‰ j        ¦  «        D ¦   «         ¦  «        }|rt          j        ‰ |¦  «        nt          j        ‰ ¦  «        S ‰ j        }t          j
        ||¦  «        }t          |t          ¦  «        r|fn|}|dk    r?t          |¦  «        dk    s|dk    st          d|› �¦  «        ‚t          j        ‰ ¦  «        S t          ˆ ˆfd„|D ¦   «         ¦  «        }t          |¦  «        dk    rt          j        ‰ ¦  «        S t          |¦  «        dk    rt          j        ‰ |¦  «        S t          |¦  «        }t!          |d¬	¦  «        }|D ]}t          ‰ |¦  «        Š Œ‰ S )
Nr   rÇ  c              3   ó,   K  — | ]\  }}|d k    ¯|V — ŒdS rc  rR  )rN  r^  r?  s      r:  rP  zsqueeze.<locals>.<genexpr>/  s*   è è € ÐJÐJ™Y˜S $ÀÈÂ	À	�SÀ	À	À	À	ÐJÐJr<  rÐ  z8Expected dims to be empty or (0,) for 0-dim tensor, got c              3   óP   •K  — | ] } ‰‰j         |         d k    ¦  «        ¯|V — Œ!dS rc  r1  )rN  Údrp  rF  s     €€r:  rP  zsqueeze.<locals>.<genexpr>@  s<   øè è € ÐDÐD�q N N°1´7¸1´:À²?Ñ$CÔ$CÐD�ÐDÐDÐDÐDÐDÐDr<  rU  T)rÆ  )r_  rF  re  ri  rY  r¶  rü   rh  r;  r�  r  r@  r   rX  rÙ  rU  r-  )rp  rú  rF  r;  Ú	dims_listr3  rF  s   `     @r:  rü   rü   *  s�  øø€ àDÐDÐDÐDÐDÐDà
€{ÝÐJÐJ­)°A´GÑ*<Ô*<ÐJÑJÔJÑJÔJˆØ)-ÐC�uŒ}˜Q Ñ%Ô%Ð%µ5´=ÀÑ3CÔ3CÐCàŒ6€Då
Ô
! $¨Ñ
,Ô
,€CÝ ¥SÑ)Ô)Ð2ˆCˆ6ˆ6¨s€Dàˆq‚y€yÝ�D‘	”	˜Q’� $¨$¢, ,Ý ØQÈ4ÐQÐQñô ð õ Œ}˜QÑÔÐõ ÐDÐDÐDÐDÐD˜DÐDÑDÔDÑDÔD€DÝ
ˆ4�y„y�A‚~€~ÝŒ}˜QÑÔÐÝ
ˆ4�y„y�A‚~€~ÝŒ}˜Q Ñ%Ô%Ð%Ý�T‘
”
€IÝ�y¨$Ð/Ñ/Ô/€IØð ð ˆÝ�A�q‰MŒMˆˆØ€Hr<  Úsplit_sizesc                 ó,  ‡ ‡‡— t          t          ‰¦  «        ¦  «        D ]"}t          j        ‰|         dk    d„ ¦  «         Œ#t          j        t
          t          j        ‰¦  «        ‰ j        ‰         k    ˆˆ ˆfd„¦  «         g }‰  	                    ¦   «         }‰D ]w}t          ‰ j        ¦  «        }||‰<   |                     ‰                      |‰                      ¦   «         |¦  «        ¦  «         |‰                      ¦   «         ‰         |z  z   }Œx|S )Nr   c                  ó   — dS )NzCsplit_with_sizes expects split_sizes have only non-negative entriesrR  rR  r<  r:  rT  z"split_with_sizes.<locals>.<lambda>U  s   € ÐY€ r<  c                  óN   •— dt          j        ‰¦  «        › d‰j        ‰          › �S )NzSplit sizes add up to z but got the tensor's size of )r@  rÂ   rY  )rú  r  r'  s   €€€r:  rT  z"split_with_sizes.<locals>.<lambda>Z  s,   ø€ Ðs­¬°kÑ)BÔ)BÐsÐsÐbfÔblÐmpÔbqÐsÐs€ r<  )rj  rX  r`  rk  r!  rl  r@  rÂ   rY  rA  rU  r±  rÍ   r<  )r  r'  rú  r3  Úsplitsr…  Ú
split_sizerë  s   ```     r:  rù   rù   L  s#  øøø€ õ •3�{Ñ#Ô#Ñ$Ô$ð 
ð 
ˆÝŒØ˜ŒN˜aÒØYÐYñ	
ô 	
ð 	
ð 	
õ 
ÔÝÝŒ�[Ñ!Ô! T¤Z°¤_Ò4ØsÐsÐsÐsÐsÐsñô ð ð €FØ× Ò Ñ"Ô"€Fà!ð :ð :ˆ
Ý˜œÑ$Ô$ˆ	Ø#ˆ	�#‰ð 	�Š�d—o’o i°·²±´ÀÑGÔGÑHÔHÐHØ˜$Ÿ+š+™-œ-¨Ô,¨zÑ9Ñ9ˆˆØ€Mr<  Úindices_or_sectionsc                 óÜ  ‡— t          j        | j        |¦  «        }| j        dk    rd}t          |¦  «        ‚t	          |t
          ¦  «        rW|j        j        dk    rd|j        › �}t          |¦  «        ‚|j        t          j
        k    rd|j        › �}t          |¦  «        ‚t	          |t          ¦  «        s t	          |t
          ¦  «        rÙ|j        dk    rÎt	          |t          ¦  «        r|n|                     ¦   «         }|dk    rd|› �}t          |¦  «        ‚| j        |         }t          j        ||z  ¦  «        }||z  }g }	t#          |¦  «        D ]$}
|
|k     r|dz   n|}|	                     |¦  «         Œ%t'          t(                               | |	|¬¦  «        ¦  «        S |Št	          |t
          ¦  «        r9|j        dk    rd	|j        › d
�}t          |¦  «        ‚|                     ¦   «         Šdgt/          ‰¦  «        z   | j        |         gz   Šˆfd„t#          t1          ‰¦  «        dz
  ¦  «        D ¦   «         }	t'          t(                               | |	|¬¦  «        ¦  «        S )Nr   zXtensor_split: received a rank zero tensor, but expected a tensor of rank one or greater!r~  z\tensor_split: if indices_or_sections is a tensor it must be on the CPU, but received one on zgtensor_split: if indices_or_sections is a tensor it must have long dtype,  but received one with dtype zAtensor_split: number of sections must be greater than 0, but was rU  ©rú  zntensor_split: non-scalar indices_or_sections tensors must have only one dimension, but received a tensor with r^  c                 ó8   •— g | ]}‰|d z            ‰|         z
  ‘ŒS r6  rR  )rN  r3  Úindicess     €r:  r7  z tensor_split.<locals>.<listcomp>¯  s*   ø€ ÐTÐTÐT°q�w˜q 1™u”~¨°¬
Ñ2ÐTÐTÐTr<  )r�  rÓ  r;  rl  r@  r'   r9  r7  rÅ  r`  Úlongr   r!   rµ   rY  r)  rJ   rj  r±  re  r¯  rù   ÚtolistrU  rX  )rp  r-  rú  Ú_dimrÛ  ÚsectionsrÍ  Úmin_split_sizeÚnum_splits_one_extrar'  Ú	split_idxr,  r1  s               @r:  r  r  l  sÊ  ø€ õ
 Ô! !¤&¨#Ñ.Ô.€DØ„v�‚{€{ØhˆÝ˜‰oŒoÐõ Ð%¥zÑ2Ô2ð "ØÔ%Ô*¨eÒ3Ð3ðDØ':Ô'AðDð Dð õ ˜S‘/”/Ð!ØÔ$­¬
Ò2Ð2ðLØ0CÔ0IðLð Lð õ ˜S‘/”/Ð!õ Ð%¥wÑ/Ô/ð *FÝÐ&­
Ñ3Ô3ð*FØ8KÔ8PÐTUÒ8UÐ8Uõ Ð-­vÑ6Ô6ð,ÐÐà$×)Ò)Ñ+Ô+ð 	ð �qŠ=ˆ=Ø`ÐV^Ð`Ð`ˆCÝ˜S‘/”/Ð!à”7˜4”=ˆÝœ H¨xÑ$7Ñ8Ô8ˆØ'¨(Ñ2ÐàˆÝ˜x™œð 	+ð 	+ˆIð Ð 4Ò4Ð4ð  Ñ"Ð"à#ð ð
 ×Ò˜zÑ*Ô*Ð*Ð*å•T×*Ò*¨1¨k¸tÐ*ÑDÔDÑEÔEÐEð &ˆÝÐ)­:Ñ6Ô6ð 	3Ø"Ô'¨1Ò,Ð,ðXØ2EÔ2JðXð Xð Xð õ ! ‘o”oÐ%à)×0Ò0Ñ2Ô2ˆGà�#�˜W™œÑ%¨¬°¬¨Ñ7ˆØTÐTÐTÐT½EÅ#ÀgÁ,Ä,ÐQRÑBRÑ<SÔ<SÐTÑTÔTˆÝ•T×*Ò*¨1¨k¸tÐ*ÑDÔDÑEÔEÐEr<  c                 ó¨  ‡ ‡‡‡— t          j        ‰ j        dk    ˆ fd„¦  «         ‰ j        dk    rdndŠt          ‰t          ¦  «        rE‰Št          j        ‰dk    o‰ j        ‰         ‰z  dk    ˆ ˆˆfd„¦  «         t          ‰ ‰‰¦  «        S t          j        t          ‰t          t          f¦  «        ˆfd„¦  «         ‰}t          ‰ |‰¦  «        S )NrU  c                  ó8   •— dt          ‰ j        ¦  «        z   dz   S )NzPtorch.hsplit requires a tensor with at least 1 dimension, but got a tensor with ú dimensions!©rƒ  r;  r‘  s   €r:  rT  zhsplit.<locals>.<lambda>¹  ó#   ø€ Ø^Ý�!”&‰kŒkñàñð r<  r   c                  ó�   •— dt          ‰¦  «        z   dz   t          ‰ j        ‰         ¦  «        z   dz   t          ‰¦  «        z   dz   S )Nz0torch.hsplit attempted to split along dimension z , but the size of the dimension ú$ is not divisible by the split_size r€  rI  )rp  rú  r,  s   €€€r:  rT  zhsplit.<locals>.<lambda>Å  s]   ø€ ØBÝ�c‘(”(ñà4ñ5õ �a”g˜c”lÑ#Ô#ñ$ð 9ñ	9õ
 �j‘/”/ñ"ð ñð r<  c                  ó(   •— dt          ‰ ¦  «        › �S )Nz“hsplit(): received an invalid combination of arguments. Expected indices_or_sections to be of type int, list of ints or tuple of ints but got type r6  ©r-  s   €r:  rT  zhsplit.<locals>.<lambda>Ô  ó#   ø€ ð8å Ð!4Ñ5Ô5ð8ð 8ð r<  ©
r`  rk  r;  r@  r   rY  r  Ú_check_typerU  re  )rp  r-  r'  rú  r,  s   `` @@r:  rè   rè   ´  s  øøøø€ õ 
„LØ	Œ�!Šð	
ð 	
ð 	
ð 	
ñô ð ð Œv˜Š{ˆ{ˆ!ˆ! €CÝÐ%¥wÑ/Ô/ð 0Ø(ˆ
ÝŒà˜1Š_Ð? ¤¨¤°
Ñ!:¸aÒ!?ðð ð ð ð ð ñ	
ô 	
ð 	
õ ˜A˜z¨3Ñ/Ô/Ð/å	ÔÝÐ&­­u¨Ñ6Ô6ð	
ð 	
ð 	
ð 	
ñô ð ð &€KÝ˜˜;¨Ñ,Ô,Ð,r<  c                 ó†  ‡ ‡‡— t          j        ‰ j        dk    ˆ fd„¦  «         t          ‰t          ¦  «        rD‰Št          j        ‰dk    o‰ j        d         ‰z  dk    ˆ ˆfd„¦  «         t          ‰ ‰d¦  «        S t          j        t          ‰t          t          f¦  «        ˆfd„¦  «         ‰}t          ‰ |d¦  «        S )Nr6  c                  ó8   •— dt          ‰ j        ¦  «        z   dz   S )NzPtorch.vsplit requires a tensor with at least 2 dimension, but got a tensor with r;  r<  r‘  s   €r:  rT  zvsplit.<locals>.<lambda>å  r=  r<  r   c                  ó,   •— d‰ j         d         › d‰› d�S )NzQtorch.vsplit attempted to split along dimension 0, but the size of the dimension r   r?  r€  r1  )rp  r,  s   €€r:  rT  zvsplit.<locals>.<lambda>ð  s4   ø€ ðà”7˜1”:ðð ð ð	ð ð ð r<  c                  ó(   •— dt          ‰ ¦  «        › �S )Nz“vsplit(): received an invalid combination of arguments. Expected indices_or_sections to be of type int, list of ints or tuple of ints but got type r6  rA  s   €r:  rT  zvsplit.<locals>.<lambda>þ  rB  r<  rC  )rp  r-  r'  r,  s   `` @r:  r  r  à  s  øøø€ õ 
„LØ	Œ�!Šð	
ð 	
ð 	
ð 	
ñô ð õ Ð%¥wÑ/Ô/ð .Ø(ˆ
ÝŒà˜1Š_Ð= ¤¨¤¨jÑ!8¸AÒ!=ðð ð ð ð ñ	
ô 	
ð 	
õ ˜A˜z¨1Ñ-Ô-Ð-å	ÔÝÐ&­­u¨Ñ6Ô6ð	
ð 	
ð 	
ð 	
ñô ð ð &€KÝ˜˜;¨Ñ*Ô*Ð*r<  r…  c                 óÀ   ‡— |                       ¦   «         Št          j        ‰dv ˆfd„¦  «         ‰dk    rt          j        | |¦  «        S t          j        | |¦  «        S )N)rU  r6  c                  ó   •— d‰ › d�S )Nz'diag(): Supports 1D or 2D tensors. Got ÚDrR  r”  s   €r:  rT  zdiag.<locals>.<lambda>  s   ø€ Ð QÈ$Ð QÐ QÐ Q€ r<  rU  )rú  r`  rk  rÚ   rÝ   )r  r…  r;  s     @r:  rÛ   rÛ   	  sj   ø€ ð �8Š8‰:Œ:€DÝ	„LØ�ˆÐQÐQÐQÐQñô ð ð ˆq‚y€yÝÔ  fÑ-Ô-Ð-åÔ" 4¨Ñ0Ô0Ð0r<  rä  Údim2c                 ó@  ‡‡— ddl m}m} t          j        | ¦  «        }|                     |||¦  «        Št          j        ‰j        ‰j        k    o0 | |d„ t          ‰j
        ‰j
        ¦  «        D ¦   «         Ž ¦  «         ˆˆfd„¦  «         t          ‰‰¦  «         |S )Nr   )rF  rz  c              3   ó(   K  — | ]\  }}||k    V — Œd S rK  rR  )rN  Úd1Úd2s      r:  rP  z#diagonal_scatter.<locals>.<genexpr>*  s*   è è € ÐGÐG¡& " b�R˜2’XÐGÐGÐGÐGÐGÐGr<  c                  ó(   •— d‰j         › d‰ j         › �S )NzCexpected src to have a size equal to the diagonal of the input.Got z for a diagonal of shape r1  )rÛ   r·  s   €€r:  rT  z"diagonal_scatter.<locals>.<lambda>,  s-   ø€ ð @ØŒyð@ð @Ø37´:ð@ð @€ r<  )r_  rF  rz  r�  Úclone_preserve_stridesrÜ   r`  rk  r;  r|  rY  r´   )	rÂ  r·  r…  rä  rL  rF  rz  r«  rÛ   s	    `      @r:  rÞ   rÞ     sÙ   øø€ ð MÐLÐLÐLÐLÐLÐLÐLå
Ô
& uÑ
-Ô
-€CØ�<Š<˜  dÑ+Ô+€Då	„LØŒ	�S”XÒð 	
Ø�ØˆFÐGÐG­C°´
¸C¼IÑ,FÔ,FÐGÑGÔGÐHñ
ô 
ð 
ð	@ð 	@ð 	@ð 	@ð 	@ñô ð õ ˆD�#ÑÔÐØ€Jr<  c                 ó`  ‡‡— |                       ¦   «         }t          j        ‰|¬¦  «        Št          j        ‰|¬¦  «        Št          j        ‰‰k    ˆˆfd„¦  «         |                      ¦   «         }|dk    rrt          t          |                      ¦   «         ‰         |                      ¦   «         ‰         |z
  ¦  «        d¦  «        }|||  	                    ¦   «         ‰         z  z  }nqt          t          |                      ¦   «         ‰         |z   |                      ¦   «         ‰         ¦  «        d¦  «        }|||  	                    ¦   «         ‰         z  z  }ˆˆfd„t          |                      ¦   «         ¦  «        D ¦   «         }|                     |¦  «         ˆˆfd„t          |  	                    ¦   «         ¦  «        D ¦   «         }|                     |  	                    ¦   «         ‰         |  	                    ¦   «         ‰         z   ¦  «         |                      |||¬¦  «        }	|	S )z4
    Reference implementation of torch.diagonal
    )r^  Úrankc                  ó   •— d‰ › d‰› �S ©Nz(diagonal dimensions cannot be identical r  rR  ©rä  rL  s   €€r:  rT  zdiagonal.<locals>.<lambda>B  ó   ø€ ÐWÈÐWÐWÐQUÐWÐW€ r<  r   c                 ó&   •— g | ]\  }}|‰‰fv¯|‘ŒS rR  rR  ©rN  r3  r	  rä  rL  s      €€r:  r7  zdiagonal.<locals>.<listcomp>O  s+   ø€ ÐKÐKÐK‘4�1�a°Q¸tÀT¸lÐ5JÐ5JˆQÐ5JÐ5JÐ5Jr<  c                 ó&   •— g | ]\  }}|‰‰fv¯|‘ŒS rR  rR  rZ  s      €€r:  r7  zdiagonal.<locals>.<listcomp>R  s+   ø€ ÐOÐOÐO‘T�Q˜¸À4ÈÀ,Ð9NÐ9NˆqÐ9NÐ9NÐ9Nr<  )r?  r<  rA  )rú  r�  rÓ  r`  rk  rA  r   r   r?  r<  ri  r±  rÍ   )
r  r…  rä  rL  Únum_dimsrA  Ú	diag_sizerD  r¾  r  s
     ``      r:  rÜ   rÜ   3  sè  øø€ ð �xŠx‰zŒz€HÝÔ! d°Ð:Ñ:Ô:€DÝÔ! d°Ð:Ñ:Ô:€Då	„LØ�ŠÐWÐWÐWÐWÐWñô ð ð ×(Ò(Ñ*Ô*€Nð �‚{€{Ý�G D§I¢I¡K¤K°Ô$5°t·y²y±{´{À4Ô7HÈ6Ñ7QÑRÔRÐTUÑVÔVˆ	Ø˜& 4§;¢;¡=¤=°Ô#6Ñ6Ñ6ˆˆå�G D§I¢I¡K¤K°Ô$5¸Ñ$>ÀÇ	Â	ÁÄÈDÔ@QÑRÔRÐTUÑVÔVˆ	Ø˜& 4§;¢;¡=¤=°Ô#6Ñ6Ñ6ˆàKÐKÐKÐKÐK�9 T§Y¢Y¡[¤[Ñ1Ô1ÐKÑKÔK€EØ	‡L‚L�ÑÔÐàOÐOÐOÐOÐO�Y t§{¢{¡}¤}Ñ5Ô5ÐOÑOÔO€GØ‡N‚N�4—;’;‘=”= Ô&¨¯ª©¬°tÔ)<Ñ<Ñ=Ô=Ð=à�_Š_ %°Èˆ_ÑWÔW€Fà€Mr<  r•  c                 ó
  ‡‡‡— | j         dz   }t          j        |‰¬¦  «        Št          j        |‰¬¦  «        Š‰‰k    r‰‰cŠŠ| }t          j        ‰‰k    ˆˆfd„¦  «         |                      d¦  «        Š|dk    rˆt          | j        ¦  «        }t          j	        |¦  «        |d<   t          j
        || j        | j        d¬¦  «        }|dk    r|| fn| |f}t          j        |d¬¦  «        } ‰t          j	        |¦  «        z  Š|                      ‰¦  «                             d‰¦  «        } t          j        ‰| j        t          j        ¬	¦  «        }t          j        |‰|z   | j        t          j        ¬	¦  «        }	||	                     d¦  «        k    }
ˆˆˆfd
„t%          t'          | j        ¦  «        ¦  «        D ¦   «         }|
                     |¦  «        }
t          j        |
| ¦  «                             ¦   «         S )z6
    Reference implementation of torch.diag_embed
    rU  )rT  r^  c                  ó   •— d‰ › d‰› �S rV  rR  rW  s   €€r:  rT  zdiag_embed.<locals>.<lambda>q  rX  r<  rZ  r   F©rÅ  r9  rÏ  r/  ©r9  rÅ  c                 ó$   •— g | ]}|‰‰fv r‰nd ‘ŒS r6  rR  )rN  r3  rä  rL  rÜ  s     €€€r:  r7  zdiag_embed.<locals>.<listcomp>Œ  s+   ø€ ÐTÐTÐT¸1˜a D¨$ <Ð/Ð/�(�(°QÐTÐTÐTr<  )r;  r�  rÓ  r`  rk  r?  rU  rY  r@  r2   r+  rÅ  r9  rÔ   r  rë   r  rY  rj  rX  rô   Úmask_tensorrÙ   )rþ   r…  rä  rL  rT  Út_shapeÚzÚpairÚa_rangeÚb_rangeÚcondÚ
cond_shaperÜ  s     ``        @r:  rÚ   rÚ   Z  sü  øøø€ ð Œ6�A‰:€DÝÔ! t°Ð6Ñ6Ô6€DÝÔ! t°Ð6Ñ6Ô6€Dð ˆd‚{€{Ø˜4ˆ
ˆˆdØ�ˆå	„LØ�ŠÐWÐWÐWÐWÐWñô ð ð
 �vŠv�b‰zŒz€Hà�‚{€{å�q”w‘-”-ˆÝ”l 6Ñ*Ô*ˆ�‰ÝŒK˜ q¤w°q´xÈuÐUÑUÔUˆØ !š˜��1ˆvˆv¨!¨Q¨ˆÝŒI�d Ð#Ñ#Ô#ˆà•H”L Ñ(Ô(Ñ(ˆð 	
�Š�DÑÔ×!Ò! " dÑ+Ô+€Aõ Œl˜8¨A¬H½E¼KÐHÑHÔH€GÝŒlØ�˜6Ñ!¨!¬(½%¼+ðñ ô €Gð
 �g×'Ò'¨Ñ+Ô+Ò+€DØTÐTÐTÐTÐTÐTÅÅcÈ!Ì'ÁlÄlÑ@SÔ@SÐTÑTÔT€JØ�<Š<˜
Ñ#Ô#€Dõ Ô˜T 1Ñ%Ô%×0Ò0Ñ2Ô2Ð2r<  c                 óT  ‡	‡
‡— d„ | D ¦   «         }t          j        d„ |D ¦   «         ¦  «        }|d         j        Š	g }d}t          |¦  «        D ]Å\  Š
Št	          j        ‰                     ¦   «         dk    ˆ
ˆfd„¦  «         t	          j        ‰j        ‰	k    ˆ	ˆ
ˆfd„¦  «         ‰j        \  }}t	          j        ||f‰	‰j	        ¬¦  «        }t	          j        |||z
  |z
  f‰	‰j	        ¬¦  «        }|t	          j
        |‰|fd¬	¦  «        gz  }||z  }ŒÆt	          j
        |d¬	¦  «        S )
z6
    Reference implementation of torch.block_diag
    c                 ón   — g | ]2}|                      ¦   «         d k    r|                     d d¦  «        n|‘Œ3S )rU  rZ  )rú  r
  ©rN  rÕ  s     r:  r7  z(_block_diag_iterable.<locals>.<listcomp>š  sJ   € ð ð ð Ø@F˜fŸjšj™lœl¨aÒ/Ð/ˆ�Š�A�rÑÔÐ°Vðð ð r<  c              3   ó0   K  — | ]}|j         d          V — ŒdS rc  r1  rm  s     r:  rP  z'_block_diag_iterable.<locals>.<genexpr>ž  s(   è è € ÐBÐB¨V˜œ aœÐBÐBÐBÐBÐBÐBr<  r   r6  c                  ó:   •— d‰ › d‰                      ¦   «         › d�S )Nz5Input tensors must have 2 or fewer dimensions. Input z has r^  r/  )r3  rÕ  s   €€r:  rT  z&_block_diag_iterable.<locals>.<lambda>§  s1   ø€ ð 7Øð7ð 7Ø#ŸZšZ™\œ\ð7ð 7ð 7€ r<  c                  ó&   •— d‰ › d‰› d‰j         › d�S )NzCInput tensors must all be on the same device. Input 0 is on device z and input z is on device rq  r8  )r9  r3  rÕ  s   €€€r:  rT  z&_block_diag_iterable.<locals>.<lambda>¬  s@   ø€ ð YØ$*ðYð YØ78ðYð YØHNÌðYð Yð Y€ r<  ra  rU  r/  )r@  rÂ   r9  ri  r`  rk  rú  rY  r+  rÅ  rÔ   )r½  Ú
tensors_2dÚncolsr  Ú	col_startÚrowÚcolrŽ  Úrightr9  r3  rÕ  s            @@@r:  Ú_block_diag_iterablerw  ”  s“  øøø€ ðð ØJQðñ ô €Jõ ŒLÐBÐB°zÐBÑBÔBÑBÔB€EØ˜Œ]Ô!€Fà€Fà€IÝ˜zÑ*Ô*ð ð ‰	ˆˆ6ÝŒØ�JŠJ‰LŒL˜AÒð7ð 7ð 7ð 7ð 7ñ	
ô 	
ð 	
õ
 	ŒØŒM˜VÒ#ðYð Yð Yð Yð Yð Yñ	
ô 	
ð 	
ð
 ”<‰ˆˆSÝŒ{˜C Ð+°FÀ&Ä,ÐOÑOÔOˆÝ”Ø�%˜)Ñ# cÑ)Ð*°6ÀÄð
ñ 
ô 
ˆð 	•5”9˜d F¨EÐ2¸Ð:Ñ:Ô:Ð;Ñ;ˆØ�SÑˆ	ˆ	åŒ9�V Ð#Ñ#Ô#Ð#r<  c                  ó    — t          | ¦  «        S )z¶
    This is used as an input to PythonRefInfo. `torch.block_diag`
    expects arguments splatted, but `aten.block_diag` expects only
    one argument that is a list of Tensors.
    )rw  r¼  s    r:  rÐ   rÐ   º  s   € õ   Ñ(Ô(Ð(r<  r5  c                 ó  — | j         dk     rt          d| j         › d�¦  «        ‚t          |t          ¦  «        r>|dk    s| j        d         |z  dk    r$t          dd| j        d         › d|› d	�z   ¦  «        ‚t          | |d¦  «        S )
Nr³  zPtorch.dsplit requires a tensor with at least 3 dimension, but got a tensor with r;  r   r6  z3torch.dsplit attempted to split along dimension 2, zbut the size of the dimension r?  r€  )r;  rg  r@  r   rY  r  )rp  r5  s     r:  rß   rß   Ä  s¯   € Ø„v�‚z€zÝØsÐ_`Ô_eÐsÐsÐsñ
ô 
ð 	
õ �(�GÑ$Ô$ð 
¨(°aª-¨-¸1¼7À1¼:ÈÑ;PÐTUÒ;UÐ;UÝØAØj¨q¬w°q¬zÐjÐjÐ_gÐjÐjÐjñkñ
ô 
ð 	
õ ˜˜8 QÑ'Ô'Ð'r<  c                 óŽ   — | j         dk    rt          d| j         › d�¦  «        ‚t          j        | d| j         dk     rdnd¦  «        S )Nr6  z7t() expects a tensor with <= 2 dimensions, but self is rK  r   rU  )r;  rg  r`  r  r‘  s    r:  rþ   rþ   Ò  sU   € ð 	„v�‚z€zÝØOÀaÄfÐOÐOÐOñ
ô 
ð 	
õ Œ?˜1˜a a¤f¨q¢j j  °aÑ8Ô8Ð8r<  c                 ód   — t          j        | j        dv d„ ¦  «         |                      ¦   «         S )N)r   r6  c                  ó   — dS )NzcThe use of `x.T` on tensors of dimension other than 0 or 2 to reverse their shape is not supported.rR  rR  r<  r:  rT  zT.<locals>.<lambda>é  s   € ð7ð r<  )r`  rk  r;  rþ   r‘  s    r:  r   r   å  s9   € å	„LØ	Œ�&Ðð	
ð 	
ñô ð ð �3Š3‰5Œ5€Lr<  c                 ó*   — t          j        | ¦  «        S rK  )r¶  rh  r‘  s    r:  rÈ   rÈ   ñ  rÌ  r<  rã  c                 ó   — t          j        | j        ||f¦  «        \  }}| j        dk    s||k    rt          j                             | ¦  «        S t          t          | j        ¦  «        ¦  «        }|||<   |||<   t          j	        | |¦  «        S r   )
r�  r  r;  r¯  rÈ   ÚdefaultrU  rj  r`  rð   )rp  rã  rä  Ú_dim0Ú_dim1rV  s         r:  r  r  ö  s‚   € åÔ*¨1¬6°D¸$°<Ñ@Ô@�L€Eˆ5à„v�‚{€{�d˜d’l�lÝŒz×!Ò! !Ñ$Ô$Ð$å�˜aœf™œÑ&Ô&€LØ€L�ÑØ€L�ÑÝŒ=˜˜LÑ)Ô)Ð)r<  c                 óˆ   — t          | j        |                      ¦   «         |||¦  «        \  }}|                      ||¦  «        S rK  )r¿  rY  r<  rÍ   )r  r}  r?  r~  rY  r¾  s         r:  r  r    sB   € õ .ØŒ
�D—K’K‘M”M 9¨d°Dñô �N€Eˆ7ð �?Š?˜5 'Ñ*Ô*Ð*r<  c                 ól   — |                       |||¦  «                             t          j        ¬¦  «        S r  )r  r³   r`  rH  )r  r}  r?  r~  s       r:  r  r    s7   € ð �;Š;�y $¨Ñ-Ô-×3Ò3ÝÔ-ð 4ñ ô ð r<  c                óÜ  — |j         }t          j        ||¦  «        }|dk    r" | |                     d¦  «        d||¬¦  «        S |                     |dz   ¦  «        }t	          j        |j        |         |j        ¬¦  «        }|                     d¦  «        |k    }t          ||z
  dz
  ¦  «        D ]}	|                     d¦  «        }Œt	          j	        |||¦  «        }
 | |
|||¬¦  «        S )Nr   )rú  rÅ  r«  rU  r8  rZ  )
r;  r�  rÓ  r  r`  r  rY  r9  rj  r²   )rR  Úinitrp  rú  rÅ  r«  r;  ÚrgrŠ  r¬  Úmasked_as              r:  Ú_cumsumprod_commonrˆ    sì   € ð Œ6€DÝ
Ô
   sÑ
+Ô
+€CØˆq‚y€yØˆt�A—K’K ‘N”N¨°¸CÐ@Ñ@Ô@Ð@Ø	�Š�C˜!‘GÑÔ€AÝ	Œ�a”g˜c”l¨1¬8Ð	4Ñ	4Ô	4€BØ�<Š<˜‰?Œ?˜bÒ €DÝ�4˜#‘: ‘>Ñ"Ô"ð "ð "ˆØ�~Š~˜bÑ!Ô!ˆˆÝŒ{˜4  DÑ)Ô)€HØˆ4�˜c¨°CÐ8Ñ8Ô8Ð8r<  c                ó6   — t          t          d| |||¬¦  «        S )Nr   ©rR  r…  rp  rú  rÅ  r«  )rˆ  rÂ   ©rp  rú  rÅ  r«  s       r:  r»   r»   1  s   € õ ¥3¨Q°!¸ÀEÈsÐSÑSÔSÐSr<  c                ó6   — t          t          d| |||¬¦  «        S )NrU  rŠ  )rˆ  rÄ   r‹  s       r:  r¼   r¼   <  s    € õ ¥4¨a°1¸#ÀUÐPSÐTÑTÔTÐTr<  c                 óp   — | j         dz   }t          j        ||¦  «        }t          j        | |f|¬¦  «        S )NrU  r”  )r;  r�  rÓ  r¶  Úexpand_dims)rp  rú  r;  s      r:  r  r  H  s;   € ð Œ6�A‰:€DÝ
Ô
   sÑ
+Ô
+€CÝÔ˜Q  ¨TÐ2Ñ2Ô2Ð2r<  c                 ó  — ddl m}m} t          j        t          t          t          t                   z  |¦  «        d¬¦  «        }t          j	        j
        j        j        s || |¦  «        r || |¦  «        S t          | g|¢R ddiŽS )Nr   )Ú_view_has_unbacked_inputÚ_view_unbacked_metaFr]  r×  )Útorch._subclasses.fake_implsr�  r‘  r�  re  r   r%   re  r`  ra  rb  rc  rd  ræ  )rp  rY  r�  r‘  Úshape_tuples        r:  r
  r
  U  s¿   € ðð ð ð ð ð ð ð õ Ô2Ý�Y��yÔ)Ñ)¨5Ñ1Ô1¸Eðñ ô €Kõ „xÔÔ$Ô:ð 3Ð>VÐ>VØ	Øñ?ô ?ð 3ð #Ð" 1 kÑ2Ô2Ð2Ý Ð< EÐ<Ð<Ð<°eÐ<Ð<Ð<r<  c                 óP   — |                       |                     ¦   «         ¦  «        S rK  )r
  r?  ré  s     r:  r  r  k  s   € Ø�9Š9�U—Z’Z‘\”\Ñ"Ô"Ð"r<  c                 ó"   — t          | d¦  «        S )N)rZ  )rô   r‘  s    r:  rò   rò   p  s   € Ý�1�eÑÔÐr<  r1  c                 ó  ‡ ‡— t          j        ‰ j        ‰j        k    ˆ ˆfd„¦  «         t          j        t          j        ‰j        ¦  «        ˆfd„¦  «         |€<t          j        ‰                      d¦  «        d‰                     d¦  «        ¦  «        S t          ‰ j	        ¦  «        }‰ 
                    |¦  «        ||<   t          j        |‰ 
                    ¦   «         ¦  «        }t          ‰|¦  «        }t          ‰j	        ¦  «        }‰  
                    |¦  «        ||<   t          j        |‰  
                    ¦   «         ¦  «        }t          ‰ |¦  «        }| 
                    |¦  «        }||z  }t          j        |||¦  «        S )Nc                  ó*   •— d‰ j         › d‰j         › d�S )Nz]torch.take_along_dim(): input and indices should have the same number of dimensions, but got z dimensions for input, and z dimensions for indicesr”  )rp  r1  s   €€r:  rT  z take_along_dim.<locals>.<lambda>|  s0   ø€ ð5Ø-.¬Vð5ð 5àŒ|ð5ð 5ð 5ð r<  c                  ó   •— d‰ j         › d�S )Nz?torch.take_along_dim(): dtype of indices should be int but got z insteadrå  )r1  s   €r:  rT  z take_along_dim.<locals>.<lambda>…  s!   ø€ ð'ØŒ}ð'ð 'ð 'ð r<  rZ  r   )r`  rk  r;  r�  r  rÅ  Úgatherr
  rU  rY  r?  Úinfer_size_shapesrÓ   )	rp  r1  rú  Ú
self_sizesÚbroadcast_shapeÚindices_broadcastÚindices_sizesÚself_broadcastrÍ  s	   ``       r:  r  r  v  sw  øø€ õ 
„LØ	Œ�'”,Òð	
ð 	
ð 	
ð 	
ð 	
ñô ð õ 
„LÝÔ˜wœ}Ñ-Ô-ð	
ð 	
ð 	
ð 	
ñô ð ð €{ÝŒ|˜AŸFšF 2™JœJ¨¨7¯<ª<¸Ñ+;Ô+;Ñ<Ô<Ð<å˜!œ'‘]”]ˆ
Ø!Ÿ,š, sÑ+Ô+ˆ
�3‰ÝÔ1°*¸g¿lºl¹n¼nÑMÔMˆÝ(¨°/ÑBÔBÐå˜Wœ]Ñ+Ô+ˆØŸVšV C™[œ[ˆ�cÑÝÔ1°-ÀÇÂÁÄÑJÔJˆÝ% a¨Ñ9Ô9ˆð "×&Ò& sÑ+Ô+ˆØ-°Ñ8ÐåŒ|˜N¨CÐ1BÑCÔCÐCr<  ©rÅ  r  r9  rÏ  r  r  rÏ  c           	      ó²  ‡— t          j        ‰t           j        k    d„ ¦  «         t          j        |¦  «        }‰t           j        k    rt          j        |¦  «        }n_‰t           j        k    rt          j        |¦  «        }n:t          j        ‰t           j	        k    ˆfd„¦  «         t          j
        |¦  «        }t          j        ||| ||||¬¦  «        S )Nc                  ó   — dS )Nz8torch.empty: the Preserve memory format is not supportedrR  rR  r<  r:  rT  zempty.<locals>.<lambda>«  s   € ÐJ€ r<  c                  ó   •— d‰ › d�S )Nz/torch.empty: received an unknown memory format r€  rR  r  s   €r:  rT  zempty.<locals>.<lambda>¸  s   ø€ ÐVÀmÐVÐVÐV€ r<  ©rÅ  r  r9  r  rÏ  )r`  rk  r  r�  re  rH  rÇ  Úchannels_last_3dÚ!make_channels_last_3d_strides_forÚchannels_lastÚ!make_channels_last_2d_strides_forr  )rÅ  r  r9  rÏ  r  r  rY  r¾  s        `  r:  r  r  Ÿ  sè   ø€ õ 
„LØ�Ô.Ò.ØJÐJñô ð õ
 Ô,¨UÑ3Ô3€Eà�Ô/Ò/Ð/ÝÔ3°EÑ:Ô:ˆˆØ	�%Ô0Ò	0Ð	0åÔ9¸%Ñ@Ô@ˆˆåŒØ�UÔ0Ò0ØVÐVÐVÐVñ	
ô 	
ð 	
õ
 Ô9¸%Ñ@Ô@ˆåÔØØØØØØØ#ðñ ô ð r<  c                 ó4   — t          j        | ||||¬¦  «        S )Nr`  )r¶  r  )rY  Úphysical_layoutrÅ  r  r9  rÏ  r  s          r:  r  r  È  s-   € õ ÔØØØØØ#ðñ ô ð r<  ©rÅ  r  r9  r  c                óv   — |€| j         n|}|€| j        n|}|€| j        n|}t          j        |||||¬¦  «        S )N©rÅ  r9  r  r  )rÅ  r  r9  r`  r  )rp  r?  rÅ  r  r9  r  s         r:  r!  r!  Û  sY   € ð �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€FåŒ;ØØØØØðñ ô ð r<  c                óx   — |€| j         n|}|€| j        n|}|€| j        n|}t          j        ||||||¬¦  «        S )zD
    Reference implementation of torch.Tensor.new_empty_strided
    Nr­  )rÅ  r  r9  r`  r  )rp  r?  r<  rÅ  r  r9  r  s          r:  r"  r"  ó  s]   € ð  �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€FåÔØØØØØØðñ ô ð r<  r¤  c           	      ó®   — t          j        |¦  «        }| €t          j        ¦   «         } t          j        || t          j        k    rdnd| ||||¬¦  «        S ©NFr   r¤  ©r�  re  r`  r±  r  r†  ©rÅ  r  r9  r  rÏ  r?  s         r:  r+  r+    se   € õ Ô+¨DÑ1Ô1€Dà€}ÝÔ'Ñ)Ô)ˆåŒ:ØØ�%œ*Ò$Ð$ˆˆ¨!ØØØØØ#ðñ ô ð r<  c          	      ó¬   — |€| j         n|}|€| j        n|}|€| j        n|}t          j        ||p| j         t          j        k    rdnd|||||¬¦  «        S r°  ©rÅ  r  r9  r`  r  r†  ©rp  r?  rÅ  r  r9  r  rÏ  s          r:  r%  r%  +  sv   € ð �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€FåŒ:ØØÐ"˜1œ7¥u¤zÒ1Ð1ˆˆ°qØØØØØ#ðñ ô ð r<  c           	      ó®   — t          j        |¦  «        }| €t          j        ¦   «         } t          j        || t          j        k    rdnd| ||||¬¦  «        S ©NTrU  r¤  r±  r²  s         r:  r&  r&  F  se   € õ Ô+¨DÑ1Ô1€Dà€}ÝÔ'Ñ)Ô)ˆåŒ:ØØ�œÒ#Ð#ˆˆ¨ØØØØØ#ðñ ô ð r<  c          	      ó¬   — |€| j         n|}|€| j        n|}|€| j        n|}t          j        ||p| j         t          j        k    rdnd|||||¬¦  «        S r·  r´  rµ  s          r:  r$  r$  `  sv   € ð �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€FåŒ:ØØÐ!˜!œ'¥e¤jÒ0Ð0ˆˆ°aØØØØØ#ðñ ô ð r<  Ú
fill_valuec                óx   — |€| j         n|}|€| j        n|}|€| j        n|}t          j        ||||||¬¦  «        S )Nr«  )rÅ  r  r9  r`  r  )rp  r?  r¹  rÅ  r  r9  r  s          r:  r#  r#  {  s\   € ð �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€FåŒ:ØØØØØØðñ ô ð r<  c                 ó(   — t          || |¦  «         |S rK  )r,   )r?  r«  r  s      r:  Ú	empty_outr¼  •  s   € õ �c˜4 Ñ/Ô/Ð/Ø€Jr<  )rÅ  r9  r  r  rÏ  r  c          	      ó  — |€| j         n|}|€| j        n|}|€| j        n|}|t          j        k    r t          j        | j        ||||||¬¦  «        S t          j        | ¦  «        \  }}t          j	        | j        ||||||¬¦  «        S )Nr   r¤  )
rÅ  r  r9  r`  r  r  rY  r�  Ú3compute_elementwise_output_logical_to_physical_permr  )	rp  rÅ  r9  r  r  rÏ  r  Úlogical_to_physical_permr¬  s	            r:  r  r  Ÿ  s¼   € ð �}ˆAŒGˆG¨%€EØ˜ˆQŒXˆX¨V€FØ˜ˆQŒXˆX¨V€Fà�Ô-Ò-Ð-ÝŒ{ØŒGØØØØ'Ø!Ø'ð
ñ 
ô 
ð 	
õ 	ÔAÀ!ÑDÔDñ  Ð˜aõ ÔØ	ŒØ ØØØØØ#ðñ ô ð r<  r³  c                ó6  ‡ ‡‡— t          j        |¦  «         t          j        |¦  «         t          j        t          j        |¦  «        ¦  «        }t          ‰ t          ¦  «        rt          d¦  «        ‚t          ‰t          ¦  «        rt          d¦  «        ‚t          ‰t          ¦  «        rt          d¦  «        ‚‰€‰ ŠdŠ t          j	        ‰dk    d„ ¦  «         ‰dk    rt          j	        ‰‰ k    d„ ¦  «         n ‰dk     rt          j	        ‰‰ k    d„ ¦  «         d„ }t          j	         |‰ ¦  «        o
 |‰¦  «        ˆˆ fd	„¦  «         t          j	         |‰¦  «        ˆfd
„¦  «         ‰ ‰‰f}	t          j        d„ |	D ¦   «         ¦  «        }
|€!|
rt          j        nt          j        ¦   «         }t          j        |¦  «        }|s|
r-t          ‰ ¦  «        }t          ‰¦  «        }t          ‰¦  «        }|t          j        k    s|
rPt          j        |dk    d„ ¦  «         t#          |dk    ¦  «        t#          |dk     ¦  «        z
  }||z
  |z   |z
  |z  }nt%          j        ‰‰ z
  ‰z  ¦  «        }|rt)          j        ||||||¬¦  «        S t)          j        |ddt          j        |d¬¦  «        }|
rt          j        nt          j        ||¦  «        }t1          ||¦  «        }‰ ‰|z  z   }t1          ||¦  «        }|r|                     d¦  «         |S )Nz%arange does not support complex startz#arange does not support complex endz$arange does not support complex stepr   c                  ó   — dS ©Nzstep must be nonzerorR  rR  r<  r:  rT  zarange.<locals>.<lambda>æ  s   € Ð$:€ r<  c                  ó   — dS ©Nz7upper bound and lower bound inconsistent with step signrR  rR  r<  r:  rT  zarange.<locals>.<lambda>ê  ó   € ÐM€ r<  c                  ó   — dS rÄ  rR  rR  r<  r:  rT  zarange.<locals>.<lambda>ï  rÅ  r<  c                 óV   — t          | t          ¦  «         pt          j        | ¦  «        S rK  )r@  r   r)  rS   rS  s    r:  Ú	is_finitezarange.<locals>.is_finiteò  s%   € Ý˜aÕ!5Ñ6Ô6Ð6ÐJ½$¼-ÈÑ:JÔ:JÐJr<  c                  ó   •— d‰› d‰ › �S )Nzunsupported range: rø  rR  )r³  r¿  s   €€r:  rT  zarange.<locals>.<lambda>÷  s   ø€ Ð6 eÐ6Ð6°Ð6Ð6€ r<  c                  ó   •— d‰ › �S )Nzstep must be finite but got rR  r»  s   €r:  rT  zarange.<locals>.<lambda>û  s   ø€ Ð5¨tÐ5Ð5€ r<  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rK  rL  ©rN  r¡  s     r:  rP  zarange.<locals>.<genexpr>ÿ  s,   è è € ÐIÐI¸S¥
¨3µÑ 8Ô 8ÐIÐIÐIÐIÐIÐIr<  c                  ó   — dS rÂ  rR  rR  r<  r:  rT  zarange.<locals>.<lambda>  s   € Ð/E€ r<  )r¿  r~  rÅ  r9  rÏ  rU  FT)r�  Úcheck_layoutÚcheck_pin_memoryr`  r9  Údevice_or_defaultr@  r¾  rÙ  rk  r@  r·   rY  r±  r  r   rP  r†  r)  r:   r¶  Úiotar2  Úget_acc_typer+   Úrequires_grad_)r¿  r³  r~  rÅ  r  r9  r  rÏ  rÈ  r‡  Úinteger_argsÚ
is_integerÚxstartÚxendÚxsteprl   r  r!  r   r  s   ```                 r:  r  r  Ê  s‡  øøø€ õ 
Ô�vÑÔÐÝ	Ô˜:Ñ&Ô&Ð&ÝŒ\�%Ô1°&Ñ9Ô9Ñ:Ô:€Få�%�Ñ!Ô!ð FÝÐDÑEÔEÐEÝ�#•wÑÔð DÝÐBÑCÔCÐCÝ�$�Ñ Ô ð EÝÐCÑDÔDÐDð €{ØˆØˆÝ	„L�˜’Ð:Ð:Ñ;Ô;Ð;Øˆa‚x€xÝŒØ�5ŠLØMÐMñ	
ô 	
ð 	
ð 	
ð 
�ŠˆÝŒØ�5ŠLØMÐMñ	
ô 	
ð 	
ð
Kð Kð Kõ 
„LØˆ	�%ÑÔÐ+˜Y˜Y s™^œ^Ø6Ð6Ð6Ð6Ð6ñô ð õ 
„LØˆ	�$‰ŒØ5Ð5Ð5Ð5ñô ð ð
 �3˜Ð€DÝ”<ÐIÐIÀDÐIÑIÔIÑIÔI€Là€}Ø+ÐJ•”�µÔ1HÑ1JÔ1JˆåÔ'¨Ñ.Ô.€JØð �\ð Ý˜‘”ˆÝ�s‰|Œ|ˆÝ˜‘”ˆð •”ÒÐ˜|ÐÝÔ˜5 Aš:Ð'EÐ'EÑFÔFÐFå�5˜1’9‰oŒo¥ U¨Q¢Y¡¤Ñ/ˆØ˜‘- %Ñ'¨#Ñ-°%Ñ7ˆˆå”˜C %™K¨4Ñ/Ñ0Ô0ˆàð 
ÝŒzØØØØØØ'ð
ñ 
ô 
ð 	
õ ŒJØØØÝŒkØØðñ ô €Eð #ÐI�Œ
ˆ
­Ô(:¸5À&Ñ(IÔ(Ið õ $ EÐ+<Ñ=Ô=€EØ�T˜E‘\Ñ!€FÝ$ V¨UÑ3Ô3€Fàð $Ø×Ò˜dÑ#Ô#Ð#Ø€Mr<  )r¿  r³  r/  c                 ó<  — | |g}t          |t          ¦  «        r|                      d|¦  «        }n|                     |¦  «         t          |t          ¦  «        st          dt          |¦  «        › �¦  «        ‚|                     ¦   «         dk    }t          j	        ||dz
  |¦  «        }t          j	        ||| ¦  «        }||| z
  z  |z   }t          j        t          |Ž Ž }|                     ¦   «         |k    rt          j        ||¦  «        }t!          ||¦  «        S )NrR  z)weight must be Tensor at this point, got rw  rU  )r@  r!   r#  r±  rT  rÙ  r7  r2   r`  r²   r�  Ú"compute_elementwise_output_stridesrˆ  r<  r¶  r  rD  )	r¿  r³  r/  rÃ  rŠ  ÚcoeffÚbaserC  r<  s	            r:  rZ   rZ   3  s  € ð �Sˆ\€FÝ�&�&Ñ!Ô!ð Ø—’  FÑ+Ô+ˆˆà�Š�fÑÔÐÝ�f�fÑ%Ô%ð YÝÐWÍÈfÉÌÐWÐWÑXÔXÐXð �:Š:‰<Œ<˜3Ò€DÝŒK˜˜f q™j¨&Ñ1Ô1€EÝŒ;�t˜S %Ñ(Ô(€DØ�c˜E‘kÑ" TÑ)€FåÔ5Õ7GÈÐ7PÐQ€FØ‡}‚}�„˜&Ò Ð ÝÔ# F¨FÑ3Ô3ˆå'¨°Ñ7Ô7Ð7r<  )rÅ  r9  r  r  rÏ  Ústepsc          
      óà  ‡ ‡‡‡‡— t          ‰ t          ¦  «        rIt          j        ‰                      ¦   «         dk    d„ ¦  «         t          ‰ t          |¦  «        ¦  «        Š t          ‰t          ¦  «        rIt          j        ‰                     ¦   «         dk    d„ ¦  «         t          ‰t          |¦  «        ¦  «        Št          j        d„ ‰ ‰‰fD ¦   «         ¦  «        rVt          j
        t          j        ¦   «         ¦  «        Š‰€‰ŠnAt          j        t          j        ‰¦  «        ˆˆfd„¦  «         n‰pt          j        ¦   «         Št          ‰t          j        ¦  «        st          dt          ‰¦  «        › �¦  «        ‚t          j        t          ‰t"          ¦  «        ˆˆ ˆfd„¦  «         t          ‰t"          ¦  «        st          dt          ‰¦  «        › �¦  «        ‚t          j        ‰dk    d	„ ¦  «         ||||d
œ}‰dk    rt          j        dd‰i|¤ŽS ‰dk    rjt          ‰ t          ¦  «        r?t          j        ‰ffd‰i|¤Ž}	t          j        j        j                             |	‰ ¦  «        S t          j        ‰f‰ fd‰i|¤ŽS t          j        d‰fi |¤Ž}
t          j        ‰¦  «        st          j        ‰¦  «        rt          j        n‰}t          j        |
t:          j        |¦  «        \  }}t?          t
          |¬¦  «        }‰‰ z
  ‰dz
  z  }t          j         |
‰dz  k     ‰ | ||
¦  «        z  z   ‰| |‰dz
  |
z
  ¦  «        z  z
  ¦  «        }t          |‰¦  «        S )Nr   c                  ó   — dS ©Nz:linspace only supports 0-dimensional start and end tensorsrR  rR  r<  r:  rT  zlinspace.<locals>.<lambda>c  r¢  r<  c                  ó   — dS rà  rR  rR  r<  r:  rT  zlinspace.<locals>.<lambda>i  r¢  r<  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rK  ©r@  r¾  rÌ  s     r:  rP  zlinspace.<locals>.<genexpr>m  ó,   è è € ÐLÐL°•J˜s¥GÑ,Ô,ÐLÐLÐLÐLÐLÐLr<  c                  ó   •— d‰ › d‰› �S )Nzlinspace(): inferred dtype z& can't be safely cast to passed dtype rR  )Údefault_complex_dtyperÅ  s   €€r:  rT  zlinspace.<locals>.<lambda>v  s   ø€ ÐzÐ6KÐzÐzÐsxÐzÐz€ r<  údtype must be torch.dtype, got c                  óˆ   •— dt          ‰¦  «        j        › dt          ‰ ¦  «        j        › dt          ‰¦  «        j        › d�S )Nz4received an invalid combination of arguments - got (r  r  )r7  r™  )r³  r¿  rÝ  s   €€€r:  rT  zlinspace.<locals>.<lambda>€  sY   ø€ ð HÝ€u�+„+ÔðHð HÝ˜s™)œ)Ô,ðHð HÝ04°U±´Ô0DðHð Hð H€ r<  zsteps must be IntLike, got c                  ó   — dS )Nz$number of steps must be non-negativerR  rR  r<  r:  rT  zlinspace.<locals>.<lambda>…  s   € Ð%K€ r<  )r  r9  r  rÏ  rÐ  rÅ  rU  rå  r6  )rÐ  r   )!r@  r(   r`  rk  rú  r+   r1   r@  rº   r�  rC  r±  rÄ  rÅ  rÙ  r7  rD  r   r  r  Úopsr¯  r
  r  r  r  r  rY  r=  r$   rZ  r   r²   )r¿  r³  rÝ  rÅ  r9  r  r  rÏ  Úfactory_kwargsÚempty_tensorr†  Ú	dtype_redr   r¬  Úcast_rgr~  r«  ræ  s   ````             @r:  r  r  S  s×  øøøøø€ õ �%�Ñ(Ô(ð PÝŒØ�IŠI‰KŒK˜1ÒØPÐPñ	
ô 	
ð 	
õ (¨Õ/FÀvÑ/NÔ/NÑOÔOˆÝ�#•~Ñ&Ô&ð LÝŒØ�GŠG‰IŒI˜ŠNØPÐPñ	
ô 	
ð 	
õ & cÕ+BÀ6Ñ+JÔ+JÑKÔKˆå„|ÐLÐL¸ÀÀUÐ8KÐLÑLÔLÑLÔLð 3Ý %Ô AÝÔ#Ñ%Ô%ñ!
ô !
Ðð ˆ=Ø)ˆEˆEåŒLÝÔ& uÑ-Ô-ØzÐzÐzÐzÐzñô ð ð ð
 Ð2�Ô0Ñ2Ô2ˆÝ�e�Uœ[Ñ)Ô)ð NÝÐL½tÀE¹{¼{ÐLÐLÑMÔMÐMõ 
ÔÝ�5�'Ñ"Ô"ð	Hð 	Hð 	Hð 	Hð 	Hð 	Hñô ð õ
 �e�WÑ%Ô%ð JÝÐH½4À¹;¼;ÐHÐHÑIÔIÐIÝ	„L�˜!’ÐKÐKÑLÔLÐLð ØØ Ø&ð	ð €Nð �‚z€zÝŒzÐAÐA¨ÐA°.ÐAÐAÐAØ�‚z€zÝ�e�^Ñ,Ô,ð 	NÝ œ;¨ xÐOÐO°uÐOÀÐOÐOˆLÝ”9”>Ô&×.Ò.¨|¸UÑCÔCÐCå”:˜u˜h¨ÐMÐM°UÐM¸nÐMÐMÐMõ 
Œ�a˜Ð	1Ð	1 .Ð	1Ð	1€Bõ
 Ô" 5Ñ)Ô)ð	Ý-2Ô-CÀEÑ-JÔ-Jð	�Œˆàð õ
 !Ô1Ø
Õ&Ô+¨Yñô ÑÐ�qõ Õ-Ð5FÐGÑGÔG€Gð �%‰K˜E A™IÑ&€Då
Œ+Ø
ˆU�Q‰YŠØ��w�w˜r‘{”{Ñ"Ñ"Øˆd�W�W˜e a™i¨2Ñ-Ñ.Ô.Ñ.Ñ.ñô €Cõ
 # 3¨Ñ.Ô.Ð.r<  r  rÜ  c          
      óð  — |€t          j        ¦   «         }t          j                             |¦  «        rìt          | t          ¦  «        rt          | ¦  «        } nQt          | t          ¦  «        r<t          j	        |  
                    ¦   «         dk    d„ ¦  «         t          | |¦  «        } t          |t          ¦  «        rt          |¦  «        }nQt          |t          ¦  «        r<t          j	        | 
                    ¦   «         dk    d„ ¦  «         t          ||¦  «        }t          j        d„ | ||fD ¦   «         ¦  «        r*t          j        t          j        ¦   «         ¦  «        }	|	}d }
nt           j        }
t          |t           ¦  «        rt#          dt%          |¦  «        › �¦  «        ‚|dk     rt&          ‚t          j        | |||
||||¬¦  «        }t          t          j        ||¦  «        |¦  «        S )Nr   c                  ó   — dS ©Nz:logspace only supports 0-dimensional start and end tensorsrR  rR  r<  r:  rT  zlogspace.<locals>.<lambda>È  ó   € ÐT€ r<  c                  ó   — dS rñ  rR  rR  r<  r:  rT  zlogspace.<locals>.<lambda>Ð  rò  r<  c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rK  rã  rÌ  s     r:  rP  zlogspace.<locals>.<genexpr>Ô  rä  r<  zbase must not be complex, got r¤  )r`  r±  r¶  r�  r  r@  r   r   r(   rk  rú  r+   r@  rº   rC  r{  r¾  rÙ  r7  r   r  r¢   )r¿  r³  rÝ  rÜ  rÅ  r9  r  r  rÏ  ræ  Ú_dtypeÚrets               r:  r   r   °  sï  € ð €}ÝÔ'Ñ)Ô)ˆõ „{×#Ò# EÑ*Ô*ð 6Ý�e�YÑ'Ô'ð 	:Ý˜E‘N”NˆEˆEÝ˜�~Ñ.Ô.ð 	:ÝŒLØ—	’	‘”˜qÒ ØTÐTñô ð õ ,¨E°5Ñ9Ô9ˆEÝ�c�9Ñ%Ô%ð 	6Ý˜#‘,”,ˆCˆCÝ˜�^Ñ,Ô,ð 	6ÝŒLØ—’‘	”	˜Q’ØTÐTñô ð õ *¨#¨uÑ5Ô5ˆCå„|ÐLÐL¸ÀÀUÐ8KÐLÑLÔLÑLÔLð Ý %Ô AÝÔ#Ñ%Ô%ñ!
ô !
Ðð &ˆØˆˆå”ˆå�$�Ñ Ô ð LÝÐJ½dÀ4¹j¼jÐJÐJÑKÔKÐKØˆa‚x€xÝ!Ð!Ý
Œ.ØØØØØØØØ#ð	ñ 	ô 	€Cõ #¥5¤9¨T°3Ñ#7Ô#7¸Ñ?Ô?Ð?r<  Úindexingc                 ó   — d S rK  rR  )r½  r÷  s     r:  rê   rê   î  s	   € ð 	€Dr<  c                 ó   — d S rK  rR  )r÷  r½  s     r:  rê   rê   ô  s   € à€Dr<  c                 óÀ  ‡ ‡— t          |d         t          t          f¦  «        rGt          |¦  «        dk    rt	          dt          |¦  «        › �¦  «        ‚t          |d         ¦  «        }t          j        t          j        d„ |D ¦   «         ¦  «        d„ ¦  «         t          j        t          |¦  «        dk    d„ ¦  «         t          t          |¦  «        dz
  ¦  «        D ]h}t          j        ||         j
        ||dz            j
        k    d„ ¦  «         t          j        ||         j        ||dz            j        k    d„ ¦  «         Œid	}‰ d
k    r1t          |¦  «        dk    }|r|d         |d         g|dd …         ¢R }nt          j        ‰ dk    ˆ fd„¦  «         g }|D ]‰Št          ‰t          ¦  «        st	          dt          ‰¦  «        › �¦  «        ‚t          j        ‰j        dk    p
‰j        dk    ˆfd„¦  «         |                     ‰                     ¦   «         ¦  «         ŒŠg }t#          |¦  «        D ]ƒ\  }Št          ‰t          ¦  «        st	          dt          ‰¦  «        › �¦  «        ‚‰j        dk    r‰                     d¦  «        Š|                     t'          j        ‰||f¦  «        ¦  «         Œ„|r|d         |d         c|d<   |d<   |S )Nr   rU  z*Expected exactly 1 tensor list/tuple, got c              3   ó@   K  — | ]}t          |t          ¦  «        V — Œd S rK  ©r@  r'   r¥  s     r:  rP  zmeshgrid.<locals>.<genexpr>	  s,   è è € Ð@Ð@°1•Z ¥:Ñ.Ô.Ð@Ð@Ð@Ð@Ð@Ð@r<  c                  ó   — dS )Nz)meshgrid expects its inputs to be tensorsrR  rR  r<  r:  rT  zmeshgrid.<locals>.<lambda>
  rÈ  r<  c                  ó   — dS )Nz'meshgrid expects a non-empty TensorListrR  rR  r<  r:  rT  zmeshgrid.<locals>.<lambda>  s   € Ð+T€ r<  c                  ó   — dS )Nz3meshgrid expects all tensors to have the same dtyperR  rR  r<  r:  rT  zmeshgrid.<locals>.<lambda>  s   € ÐI€ r<  c                  ó   — dS )Nz4meshgrid expects all tensors to have the same devicerR  rR  r<  r:  rT  zmeshgrid.<locals>.<lambda>  s   € ÐJ€ r<  FÚxyr6  Úijc                  ó   •— d‰ › �S )NzDtorch.meshgrid: indexing must be one of "xy" or "ij", but received: rR  )r÷  s   €r:  rT  zmeshgrid.<locals>.<lambda>!  s   ø€ ð,Ø!)ð,ð ,ð r<  zexpected TensorLike, got c                  ó   •— d‰ › �S )NzEtorch.meshgrid: Expected 0D or 1D tensor in the tensor list but got: rR  )rþ   s   €r:  rT  zmeshgrid.<locals>.<lambda>-  s   ø€ Ð_Ð\]Ð_Ð_€ r<  r6  )r@  rU  re  rX  rÙ  r`  rk  r@  r·   rj  rÅ  r9  r'   r7  r;  r±  r  ri  r
  r¶  r>  )r÷  r½  r3  Úswap_first_and_second_tensorsÚresult_shapeÚgridsrþ   s   `     @r:  rê   rê   ù  s&  øø€ õ �'˜!”*�t¥U˜mÑ,Ô,ð $Ýˆw‰<Œ<˜1ÒÐÝ ØK½SÀ¹\¼\ÐKÐKñô ð õ ˜ œ
Ñ#Ô#ˆå	„LÝŒÐ@Ð@¸Ð@Ñ@Ô@Ñ@Ô@Ø;Ð;ñô ð õ
 
„L•�W‘” Ò!Ð#TÐ#TÑUÔUÐUå•3�w‘<”< !Ñ#Ñ$Ô$ð 
ð 
ˆÝŒØ�AŒJÔ ¨¨A©¤Ô 4Ò4ØIÐIñ	
ô 	
ð 	
õ 	ŒØ�AŒJÔ ¨¨Q©¤Ô!6Ò6ØJÐJñ	
ô 	
ð 	
ð 	
ð
 %*Ð!Ø�4ÒÐÝ(+¨G©¬¸Ò(9Ð%Ø(ð 	=Ø˜q”z 7¨1¤:Ð<°¸¸¸´Ð<Ð<ˆGøåŒØ˜Òðð ð ð ñ	
ô 	
ð 	
ð !€LØð 'ð 'ˆÝ˜!�ZÑ(Ô(ð 	HÝ Ð!F½TÀ!¹W¼WÐ!FÐ!FÑGÔGÐGÝŒØŒF�aŠKÐ&˜1œ6 Qš;Ø_Ð_Ð_Ð_ñ	
ô 	
ð 	
ð 	×Ò˜AŸGšG™IœIÑ&Ô&Ð&Ð&à"$€EÝ˜'Ñ"Ô"ð Dð D‰ˆˆ1Ý˜!�ZÑ(Ô(ð 	HÝ Ð!F½TÀ!¹W¼WÐ!FÐ!FÑGÔGÐGØŒ6�QŠ;ˆ;Ø—’�t‘”ˆAØ�Š•UÔ+¨A¨|¸a¸TÑBÔBÑCÔCÐCÐCà$ð 0à" 1œX u¨Q¤xÐˆˆa‰�%˜‘(à€Lr<  ÚsourceÚdestinationc                 óÜ  ‡‡— t          ‰¦  «        t          u r‰fŠt          ‰¦  «        t          u r‰fŠt          j        t	          ‰¦  «        t	          ‰¦  «        k    ˆˆfd„¦  «         | j        }t          t          j        |‰¬¦  «        ¦  «        }t          t          j        |‰¬¦  «        ¦  «        }t          |¦  «        }t          |¦  «        }t          j        t	          |¦  «        t	          |¦  «        k    ˆfd„¦  «         t          j        t	          |¦  «        t	          |¦  «        k    ˆfd„¦  «         t          t          ||¦  «        ¦  «        }g }	d}
t          |¦  «        D ]V}|                     |¦  «        }|�|	                     |¦  «         Œ/|
|v r	|
dz  }
|
|v °	|	                     |
¦  «         |
dz  }
ŒWt          j        | t          |	¦  «        ¦  «        }|S )z3
    Reference implementation of torch.movedim
    c                  óJ   •— dt          ‰¦  «        › dt          ‰ ¦  «        › d�S )Nz5movedim: Invalid source or destination dims: source (z> dims) should contain the same number of dims as destination (z dims)©rU  )r	  r  s   €€r:  rT  zmovedim.<locals>.<lambda>R  s@   ø€ ðAÝ�V‘”ðAð Aå'+¨KÑ'8Ô'8ðAð Að Að r<  )rT  r1  c                  ó*   •— dt          ‰ ¦  «        › d�S )Nz#movedim: repeated dim in `source` (r  r  )r  s   €r:  rT  zmovedim.<locals>.<lambda>c  s   ø€ ÐEµd¸6±l´lÐEÐEÐE€ r<  c                  ó*   •— dt          ‰ ¦  «        › d�S )Nz(movedim: repeated dim in `destination` (r  r  )r	  s   €r:  rT  zmovedim.<locals>.<lambda>g  s   ø€ ÐO½4ÀÑ;LÔ;LÐOÐOÐO€ r<  r   NrU  )r7  rŸ  r`  rk  rX  r;  re  r�  r  ÚsetÚdictr|  rj  r'  r±  rð   )rÂ  r  r	  rT  ÚssÚdsÚsssÚdssr�  rF  ÚsiÚdir	  r  s    ``           r:  rë   rë   A  sò  øø€ õ ˆF�|„|•sÐÐØ�ˆÝˆKÑÔ�CÐÐØ"�nˆõ 
„LÝˆF‰Œ•s˜;Ñ'Ô'Ò'ð	
ð 	
ð 	
ð 	
ð 	
ñô ð ð Œ:€DÝ	�uÔ&¨D¸&ÐAÑAÔAÑ	BÔ	B€BÝ	�uÔ&¨D¸+ÐFÑFÔFÑ	GÔ	G€Bå
ˆb‰'Œ'€CÝ
ˆb‰'Œ'€Cõ 
„LÝˆB‰Œ•3�s‘8”8ÒØEÐEÐEÐEñô ð õ 
„LÝˆB‰Œ•3�s‘8”8ÒØOÐOÐOÐOñô ð õ
 	�S��R‰[Œ[ÑÔ€AØ€DØ	
€BÝ�D‰kŒkð ð ˆà�EŠE�"‰IŒIˆØˆ=à�KŠK˜‰NŒNˆNˆNð ˜�)�)Ø�a‘�ð ˜�)�)à�KŠK˜‰OŒOˆOØ�!‰GˆBˆBåŒ]˜5¥%¨¡+¤+Ñ.Ô.€Fà€Mr<  )rÅ  r9  r  rÏ  r  r¾  c                ó
  — t          j        |¦  «         t          j        |¦  «         t          j        | ¦  «        } |€t	          j        ¦   «         n|}|€t	          j        d¦  «        n|}t          j        | ||||¬¦  «        S )Nr~  r`  )	r�  rÎ  rÏ  re  r`  r±  r9  r¶  r  )rY  r¾  rÅ  r9  r  rÏ  r  s          r:  r  r  €  sŽ   € õ 
Ô�vÑÔÐÝ	Ô˜:Ñ&Ô&Ð&åÔ,¨UÑ3Ô3€EØ).¨�EÔ#Ñ%Ô%Ð%¸E€EØ$* N�UŒ\˜%Ñ Ô Ð ¸€FåÔØØØØØ#ðñ ô ð r<  Úvalc                 ó¨   — t           j        t           j        t           j        fD ]#}| t          j        |¦  «        j        k    r|c S Œ$t           j        S rK  )r`  rS  Úuint16r¸  Úiinforh  rY  )r  Úpossible_dtypes     r:  Ú_strength_reduce_integerr  �  sO   € Ý œ;­¬µe´kÐBð "ð "ˆØ•%”+˜nÑ-Ô-Ô1Ò1Ð1Ø!Ð!Ð!Ð!ð 2åŒ;Ðr<  Únr�  c                óž  ‡ ‡— ‰€‰ Št          j        ‰ dk    ˆ fd„¦  «         t          j        ‰dk    ˆfd„¦  «         t           j        }t          ‰ t          j        ¦  «        r7t          ‰t          j        ¦  «        rt          t          ‰ ‰¦  «        ¦  «        }t          j        ‰ ||d¬¦  «        }t          j        ‰||d¬¦  «        }	| 	                    d¦  «        |	k    }
|t           j
        dfv r*|s(|
                     |pt          j        ¦   «         ¦  «        S t          j        d||||d¬	¦  «        }t          j        |
|d¦  «        S )
z/
    Reference implementation of torch.eye
    Nr   c                  ó   •— d‰ › �S )Nz%n must be greater or equal to 0, got rR  )r  s   €r:  rT  zeye.<locals>.<lambda>¶  ó   ø€ Ð!LÈÐ!LÐ!L€ r<  c                  ó   •— d‰ › �S )Nz%m must be greater or equal to 0, got rR  )r�  s   €r:  rT  zeye.<locals>.<lambda>·  r!  r<  Fr`  rZ  r6  r¤  )r`  rk  rY  r@  r�  ÚIntWithoutSymIntr  rh  r  r  Ústridedr¶   r±  r&  r²   )r  r�  rÅ  r  r9  r  rÏ  Úrange_dtypeÚrange_nÚrange_mri  Úones   ``          r:  r  r  ¤  sR  øø€ ð 	€yØˆå	„L��a’ÐLÐLÐLÐLÑMÔMÐMÝ	„L��a’ÐLÐLÐLÐLÑMÔMÐMå”+€KÝ�!•UÔ+Ñ,Ô,ð :µ¸A½uÔ?UÑ1VÔ1Vð :Ý.­s°1°a©y¬yÑ9Ô9ˆÝŒl˜1 K¸ÈeÐTÑTÔT€GÝŒl˜1 K¸ÈeÐTÑTÔT€Gà×Ò˜RÑ Ô  GÒ+€DØ•%”- Ð&Ð&Ð&¨zÐ&Ø�wŠw�uÐ9¥Ô 7Ñ 9Ô 9Ñ:Ô:Ð:åŒjØØØØØ!Øð
ñ 
ô 
ˆõ Œ{˜4  aÑ(Ô(Ð(r<  c                ó   — t          j        |¦  «         t          j        |¦  «         |�|n t          j        t	          |¦  «        ¦  «        }|�|nt          j        d¦  «        }t          | |||||¬¦  «        }t          j        ||¦  «        S )Nr~  r¤  )	r�  rÎ  rÏ  rY  r7  r`  r9  r  rH   )rY  r¹  rÅ  r  r9  r  rÏ  Úes           r:  r  r  Ñ  s™   € õ 
Ô�vÑÔÐÝ	Ô˜:Ñ&Ô&Ð&àÐ&ˆEˆE­EÔ,?ÅÀZÑ@PÔ@PÑ,QÔ,Q€EØÐ)ˆVˆV­u¬|¸EÑ/BÔ/B€FåØØØØØØ#ð	ñ 	ô 	€Aõ Œ:�a˜Ñ$Ô$Ð$r<  ©rÅ  r  r9  r  rÏ  r  c          	      óX   — t          j        | ||||||¬¦  «        }t          ||¦  «        S )Nr+  )r`  r  rH   )	rp  r¹  rÅ  r  r9  r  rÏ  r  r*  s	            r:  r  r  î  sB   € õ 	ÔØ	ØØØØØ#Ø#ð	ñ 	ô 	€Aõ ��:ÑÔÐr<  c          
      ól   — t          j        | |p| j        t           j        k    rdnd||||||¬¦  «        S )NFr   r+  ©r`  r  rÅ  r†  ©rp  rÅ  r  r9  r  rÏ  r  s          r:  r,  r,    sL   € õ Œ?Ø	ØÐ"˜1œ7¥u¤zÒ1Ð1ˆˆ°qØØØØØ#Ø#ð	ñ 	ô 	ð 	r<  c          
      ól   — t          j        | |p| j        t           j        k    rdnd||||||¬¦  «        S )NTrU  r+  r.  r/  s          r:  r'  r'    sL   € õ Œ?Ø	ØÐ!˜!œ'¥e¤jÒ0Ð0ˆˆ°aØØØØØ#Ø#ð	ñ 	ô 	ð 	r<  c                 óÖ   — t          j        |¦  «         t          j        |¦  «        }t          j        | ¦  «        } t          j        |¦  «        }t          j        |dd| ||¬¦  «        S )Nr	  rv  )r½   rÀ   rÅ  r9  rÏ  )r�  rÏ  re  Údtype_or_defaultrÐ  r¶  rd   )rÅ  r9  r  rÏ  r  rY  rû  s          r:  r(  r(  5  sp   € õ 
Ô˜:Ñ&Ô&Ð&åÔ-¨eÑ4Ô4€FåÔ" 5Ñ)Ô)€EÝÔ$ VÑ,Ô,€FåŒ<ØØØØØØ#ðñ ô ð r<  c                óú   — t          j        |¦  «         t          j        |¦  «         |�|n t          j        t	          | ¦  «        ¦  «        }|�|nt          j        d¦  «        }t          j        | ||¬¦  «        S )Nr~  rl  )	r�  rÎ  rÏ  rY  r7  r`  r9  r¶  r)  )rp  rÅ  r  r9  r  s        r:  r)  r)  P  su   € õ 
Ô�vÑÔÐÝ	Ô˜:Ñ&Ô&Ð&ØÐ&ˆEˆE­EÔ,?ÅÀQÁÄÑ,HÔ,H€EØÐ)ˆVˆV­u¬|¸EÑ/BÔ/B€FÝÔ˜q¨°fÐ=Ñ=Ô=Ð=r<  rv  ÚlowÚhighc                ó  — t          j        | ¦  «         t          |t          ¦  «        st	          dt          |¦  «        › �¦  «        ‚t          |t          ¦  «        st	          dt          |¦  «        › �¦  «        ‚t          |¦  «        }t          |¦  «        }t          |t          j        ¦  «        st	          dt          |¦  «        › �¦  «        ‚t          j	        |¦  «        }t          j        | |||||¬¦  «        S )Nzlow must be Number, got zhigh must be Number, got rç  )r4  r5  rÅ  r9  r<  )r�  rú  r@  r!   rÙ  r7  r   r`  rÅ  Úcanonicalize_devicer¶  Ú_uniform_helper)rY  r4  r5  r<  rÅ  r9  s         r:  r8  r8  d  sô   € õ 
Ô˜ÑÔÐå�c�6Ñ"Ô"ð EÝÐC½¸S¹	¼	ÐCÐCÑDÔDÐDÝ�d�FÑ#Ô#ð GÝÐE½¸d¹¼ÐEÐEÑFÔFÐFÝ
�C‰.Œ.€CÝ�T‰?Œ?€Då�e�Uœ[Ñ)Ô)ð NÝÐL½tÀE¹{¼{ÐLÐLÑMÔMÐMÝÔ& vÑ.Ô.€FåÔ Ø�3˜T¨°vÀfðñ ô ð r<  rŠ  c                 óª  ‡‡— t          j        | j        ¦  «        Št          |t          ¦  «        rt          |¦  «        }n¡|j        Št          j        ‰dk    ˆfd„¦  «         | j	        j        dddt          j
                             ¦   «         dfv o|j	        j        dk    }t          j        |p|j	        | j	        k    d„ ¦  «         t          j        |j        ¦  «        }|t          u r+t          j        t          j        |‰¦  «        ˆfd	„¦  «         t          || j        ¦  «        }t          j        ||| ¦  «        }|                     ¦   «         S )
Nr   c                  ó   •— d‰ › d�S )Nz@only supports a 0-dimensional value tensor, but got tensor with z
 dimensionrR  )Ú
value_ndims   €r:  rT  zmasked_fill.<locals>.<lambda>‹  s   ø€ ÐmÐWaÐmÐmÐm€ r<  ÚcudaÚxpuÚmpsr5  r~  c                  ó   — dS )Nz,Expected `value` to be on same device as `a`rR  rR  r<  r:  rT  zmasked_fill.<locals>.<lambda>•  s   € ÐB€ r<  c                  ó   •— d‰ › d�S )Nzcould not convert to type z without overflowrR  )rÚ  s   €r:  rT  zmasked_fill.<locals>.<lambda>   s   ø€ ÐO°ÐOÐOÐO€ r<  )r�  r   rÅ  r@  r!   r7  r;  r`  rk  r9  Ú_CÚ_get_privateuse1_backend_namer¾  r    r+   r²   rÙ   )rp  rŠ  rÔ  Ú
value_typeÚis_cpu_scalarrÝ  rÚ  r;  s         @@r:  r°   r°     s^  øø€ õ Ô% a¤gÑ.Ô.€KÝ�%�Ñ Ô ð 6Ý˜%‘[”[ˆ
ˆ
ð ”Zˆ
ÝŒØ˜!ŠOØmÐmÐmÐmñ	
ô 	
ð 	
ð ŒHŒMØ˜˜u¥e¤h×&LÒ&LÑ&NÔ&NÐPUÐVðWð +à”Ô! UÒ*ð 	õ
 	ŒØÐ5˜Uœ\¨Q¬XÒ5ØBÐBñ	
ô 	
ð 	
õ Ô(¨¬Ñ5Ô5ˆ
à•WÐÐõ
 	ŒÝÔ'¨
°KÑ@Ô@ØOÐOÐOÐOñ	
ô 	
ð 	
õ $ E¨1¬7Ñ3Ô3€EÝŒ�D˜% Ñ#Ô#€Að �<Š<‰>Œ>Ðr<  c                 ó\   — t          j        | ||¦  «        }|                      |¦  «         | S rK  )r`  r°   Úcopy_)rp  rŠ  rÔ  rq  s       r:  r±   r±   ®  s,   € õ 	Ô˜!˜T 5Ñ)Ô)€AØ‡G‚GˆA�J„J€JØ€Hr<  c                 ó¾   — t          d| |||¬¦  «         t          t          j        t          j        | ||||¬¦  «        ¦  «                             ¦   «         ¦  «        S )z4
    Reference implementation of torch.allclose
    ztorch.allcloserª  )r¢  r£  r®  )r«  r†  r`  r·   r’   rµ   )rp  rq  r¢  r£  r®  s        r:  r-  r-  ¸  s^   € õ Ð+¨q°A¸DÀtÐLÑLÔLÐLåÝŒ	•%”-  1¨4°dÀiÐPÑPÔPÑQÔQ×VÒVÑXÔXñô ð r<  c                 óX  — t          j        | |d¬¦  «         t          j        | |¦  «         | j        |j        k    rdS t	          | j        |j        ¦  «        D ]\  }}||k    r dS Œ|                      ¦   «         dk    rdS t          t          t          | |¦  «        ¦  «        ¦  «        S )NFrý  r   T)
r�  r  Úcheck_same_dtyper;  r|  rY  r  rµ   r·   r„   )rp  rq  rO  r}  s       r:  r.  r.  É  s­   € Ý	Ô˜A˜q¸5ÐAÑAÔAÐAÝ	Ô˜1˜aÑ Ô Ð ð 	„v�”ÒÐØˆuå�A”G˜QœWÑ%Ô%ð ð ‰ˆˆ1Ø�Š6ˆ6Ø�5�5ð ð 	‡w‚w�y„y�A‚~€~Øˆtå••B�q˜!‘H”H‘”ÑÔÐr<  Úfrorå  c                óš  — |dk    r*|�*t          |t          ¦  «        st          |¦  «        dk    s|€d}t          |t          ¦  «        r|g}t          |t          ¦  «        rG|€!t	          t          | j        ¦  «        ¦  «        }t          j         	                    | ||||¬¦  «        S t          j         
                    | ||||¬¦  «        S )NrJ  r6  rå  )r@  r   rX  rƒ  re  rj  r;  r`  r_  Úmatrix_normr`  )rÂ  rä  rú  rý  rÅ  s        r:  rc   rc   Ü  sÃ   € ð 	
ˆUŠ
ˆ
˜˜¥z°#µsÑ';Ô';˜½sÀ3¹x¼xÈ1º}¸}Ø	
ˆØˆÝ�#•sÑÔð ØˆeˆÝ�!•SÑÔð Mð ˆ;Ý�˜eœjÑ)Ô)Ñ*Ô*ˆCÝŒ|×'Ò'¨¨q°#°wÀeÐ'ÑLÔLÐLåŒ|×'Ò'¨¨q°#°wÀeÐ'ÑLÔLÐLr<  c                 ó”   ‡ — t          j        ‰ j        dk    ˆ fd„¦  «         t          j        t          j        ‰ d¦  «        ¦  «        S )Nr6  c                  ó   •— d‰ j         › �S )Nz+expected a matrix, but got tensor with dim r”  r  s   €r:  rT  ztrace.<locals>.<lambda>ü  s   ø€ ÐI¸d¼iÐIÐI€ r<  r   )r`  rk  r;  rÂ   rÛ   r  s   `r:  rw   rw   ÷  sL   ø€ õ 
„LØŒ	�QŠØIÐIÐIÐIñô ð õ Œ9•U”Z  aÑ(Ô(Ñ)Ô)Ð)r<  c                 ó^   ‡ — dt           t          z  dt           t          z  dt           fˆ fd„}|S )Nrp  rq  rw  c                 ó   •—  ‰|| ¦  «        S rK  rR  )rp  rq  Úbase_ops     €r:  Úropz_make_r_binary_op.<locals>.rop  s   ø€ ð ˆw�q˜!‰}Œ}Ðr<  )r(   r"   )rQ  rR  s   ` r:  Ú_make_r_binary_oprS    sL   ø€ ðÝ�JÑ&ðå�JÑ&ðõ 
ðð ð ð ð ð ð €Jr<  rÜ   c                 ót  — t          j        | j        dk    d„ ¦  «         | j        dd …         \  }}t          j        || j        ¬¦  «                             d¦  «        t          j        || j        ¬¦  «                             d¦  «        z
  |k    }t          j        || ¦  «         	                    ¦   «         S )Nr6  c                  ó   — dS )Nz2triu: input tensor must have at least 2 dimensionsrR  rR  r<  r:  rT  ztriu.<locals>.<lambda>  ó   € ÐQ€ r<  r•  r8  rZ  ©
r`  rk  r;  rY  r  r9  r  r�  rc  rÙ   ©rp  rÜ   Úhr;  rŠ  s        r:  r  r    ó°   € õ 
„LØ	Œ�!ŠÐQÐQñô ð ð Œ7�2�3�3Œ<�D€A€qåŒ�Q˜qœxÐ(Ñ(Ô(×2Ò2°2Ñ6Ô6Ý
Œ,�q ¤Ð
*Ñ
*Ô
*×
4Ò
4°RÑ
8Ô
8ñ	9à	ò€Dõ Ô˜T 1Ñ%Ô%×0Ò0Ñ2Ô2Ð2r<  c                 ót  — t          j        | j        dk    d„ ¦  «         | j        dd …         \  }}t          j        || j        ¬¦  «                             d¦  «        t          j        || j        ¬¦  «                             d¦  «        z
  |k    }t          j        || ¦  «         	                    ¦   «         S )Nr6  c                  ó   — dS )Nz2tril: input tensor must have at least 2 dimensionsrR  rR  r<  r:  rT  ztril.<locals>.<lambda>%  rV  r<  r•  r8  rZ  rW  rX  s        r:  r  r  !  rZ  r<  rt  ru  c                 ó`  — | dk    s|dk    rdS |dk    rt          |d|z   ¦  «        nt          | |z   dk    ¦  «        }t          dt          || |z   ¦  «        ¦  «        }t          dt          | | |z   ¦  «        ¦  «        }||z
  dz   }||z   |z  dz  }||z
  }t          d||z  ¦  «        }	||	|fS )Nr   ©r   r   r   rU  r6  )r  rŸ  rh  )
rt  ru  r…  Úm_first_rowÚ
m_last_rowÚ	n_row_allÚn_row_trapezoidÚtrapezoid_sizeÚdiff_rowÚrectangle_sizes
             r:  Ú_get_tril_sizesrf  7  sÒ   € Ø
ˆa‚x€x�3˜!’8�8Øˆwà*0°1ª*¨*•#�c˜1˜v™:Ñ&Ô&Ð&½#¸cÀF¹lÈQÒ>NÑ:OÔ:O€KÝ�Q�˜C  v¡Ñ.Ô.Ñ/Ô/€JÝ�A•s˜3  f¡Ñ-Ô-Ñ.Ô.€IØ  ;Ñ.°Ñ2€Oð " JÑ.°/ÑAÀQÑF€Nà˜?Ñ*€HÝ˜˜H s™NÑ+Ô+€Nà˜>¨;Ð6Ð6r<  c                 óà   ‡ ‡‡‡— t          j        ‰dk    ˆfd„¦  «         t          j        ‰dk    ˆfd„¦  «         t          j        ‰t           j        t           j        fv ˆˆ fd„¦  «         d S )Nr   c                  ó   •— d‰ › �S )Nzrow must be non-negative, got rR  )rt  s   €r:  rT  z_trilu_checks.<locals>.<lambda>Q  ó   ø€ Ð#IÀCÐ#IÐ#I€ r<  c                  ó   •— d‰ › �S )Nzcol must be non-negative, got rR  )ru  s   €r:  rT  z_trilu_checks.<locals>.<lambda>R  ri  r<  c                  ó   •— d‰› d‰ › d�S )Nr`  z" not implemented for 'ú'rR  )rÅ  r§  s   €€r:  rT  z_trilu_checks.<locals>.<lambda>U  s   ø€ Ð;�TÐ;Ð;°5Ð;Ð;Ð;€ r<  )r`  rk  r¸  rY  )r§  rt  ru  rÅ  r  r  s   ````  r:  Ú_trilu_checksrm  I  s†   øøøø€ õ 
„L�˜’ÐIÐIÐIÐIÑJÔJÐJÝ	„L�˜’ÐIÐIÐIÐIÑJÔJÐJÝ	„LØ•%”+�uœ{Ð+Ð+Ø;Ð;Ð;Ð;Ð;ñô ð ð ð r<  r~  c                ó¦  — t          d| ||||¦  «         t          | ||¦  «        \  }}}	t          d| ¦  «        }
t          t          j        |||¬¦  «        } |d|t          j        ¬¦  «        }|	dz
  }t	          j        | t	          j        ||z  d|z  z   ¦  «        z   ¦  «        }t	          j        |d|	z  dz
  |z   |z  dz  z
  ¦  «        }t          ||
z   |¦  «        }t          ||¦  «        } |d||¬¦  «        }||z  ||	z
  dz   |
z   z   }||z  }t	          j
        t	          j        ||f¦  «        t	          j        ||f¦  «        f¦  «        S )Nr  r   ©r  r9  r  rå  rw  r6  rU  )rm  rf  rh  r   r`  r  r{  rJ   rs   r+   rú   rÔ   )rt  ru  r…  rÅ  r  r9  r  rc  re  r_  Ú
row_offsetÚ	arange_kwÚxs1rq  Ú	row_inds1Ú	col_inds1Úxs2Ú	row_inds2Ú	col_inds2s                      r:  r  r  Z  sz  € õ �. # s¨E°6¸:ÑFÔFÐFå2AÀ#ÀsÈFÑ2SÔ2SÑ/€N�N KÝ�Q˜˜‘”€JåÝŒ˜V¨F¸zðñ ô €Ið
 ˆ)�A�~­U¬]Ð
;Ñ
;Ô
;€CØ�cÑ€AÝ”˜Q˜B¥¤¨A°©E°A¸±G©OÑ!<Ô!<Ñ<Ñ=Ô=€IÝ”˜C 1 {¡?°QÑ#6¸Ñ#BÀiÑ"OÐRUÑ"UÑUÑVÔV€IÝ'¨	°JÑ(>ÀÑFÔF€IÝ'¨	°5Ñ9Ô9€Ið ˆ)�A�~¨UÐ
3Ñ
3Ô
3€CØ�s‘
˜c KÑ/°!Ñ3°jÑ@ÑA€IØ�c‘	€IåŒ;Ý	Œ�I˜yÐ)Ñ	*Ô	*­E¬I°yÀ)Ð6LÑ,MÔ,MÐNñô ð r<  c                 óò   — | dk    s|dk    rdS |dk    rt          d||z
  ¦  «        n|}t          dt          | | ¦  «        |z  ¦  «        }t          | ||dz
  ¦  «        \  }}}| |z  ||z   z
  }||z
  }	|	||fS )Nr   r^  rU  )rh  r  rf  )
rt  ru  r…  r_  re  Útrapezoid_size_trilÚrectangle_size_trilr¬  Ú	triu_sizerc  s
             r:  Ú_get_triu_sizesr|  …  s¨   € Ø
ˆa‚x€x�3˜!’8�8Øˆwà*0°1ª*¨*•#�a˜˜v™Ñ&Ô&Ð&¸#€Kõ ˜�C  f WÑ-Ô-°Ñ3Ñ4Ô4€Nõ 3BÀ#ÀsÈFÐUVÉJÑ2WÔ2WÑ/ÐÐ,¨aØ�c‘	Ð0Ð3FÑFÑG€IØ Ñ/€Nà˜>¨;Ð6Ð6r<  c                ó¤  — t          d| ||||¦  «         t          | ||¦  «        \  }}}	t          d|¦  «        }
t          t          j        |||¬¦  «        } |d||¬¦  «        }||z  }||z  } |d|t          j        ¬¦  «        }d|	z
  }t	          j        | t	          j        ||z  d|z  z
  ¦  «        z
  ¦  «        }t	          j        |d|	z  dz
  |z
  |z  dz  z
  ¦  «        }t          ||¦  «        }t          ||¦  «        }|r|||z  z   }||
z   }t	          j
        t	          j        ||f¦  «        t	          j        ||f¦  «        f¦  «        S )	Nr  r   ro  rå  g      à¿r6  rU  rw  )rm  r|  rh  r   r`  r  r{  rJ   rs   r+   rú   rÔ   )rt  ru  r…  rÅ  r  r9  r  rc  re  r_  Ú
col_offsetrq  ru  rv  rw  rr  rq  rs  rt  s                      r:  r  r  –  s€  € õ �. # s¨E°6¸:ÑFÔFÐFå2AÀ#ÀsÈFÑ2SÔ2SÑ/€N�N KÝ�Q˜‘”€JåÝŒ˜V¨F¸zðñ ô €Ið
 ˆ)�A�~¨UÐ
3Ñ
3Ô
3€CØ�s‘
€IØ�c‘	€Ið ˆ)�A�~­U¬]Ð
;Ñ
;Ô
;€CØˆ{Ñ€AÝ”˜Q˜B¥¤¨A°©E°A¸±G©OÑ!<Ô!<Ñ<Ñ=Ô=€IÝ”˜C A¨¡O°aÑ$7¸)Ñ$CÀyÑ#PÐTWÑ"WÑWÑXÔX€IÝ'¨	°5Ñ9Ô9€IÝ'¨	°5Ñ9Ô9€Ià
ð 8Ø °3Ñ!6Ñ7ˆ	Ø˜JÑ&€IåŒ;Ý	Œ�I˜yÐ)Ñ	*Ô	*­E¬I°yÀ)Ð6LÑ,MÔ,MÐNñô ð r<  )Ú	out_int32rv  Ú
boundariesr  rv  c                óÚ  ‡— t          j        ‰                     ¦   «         dk    ˆfd„¦  «         t          | t           j        ¦  «        r| nt          j        | ¦  «        } |rt           j        nt           j        }‰j        d         }|dk    rt          j	        | ¦  «        S t          j
        | j        | j        t           j        ¬¦  «        }||z   }|||z
  dz  z   }‰|         }	|r|	| k    }
n|	| k    }
t          j        |
||dz   ¦  «        }|dk    rÅt          j        | t           j        ¬¦  «        }t          t!          j        |¦  «        ¦  «        }t%          |¦  «        D ]t}t          j        |
|z  ||¦  «        }||k     }t          j        ||||z
  dz  z   d¦  «        }‰|         }	|r|	| k    }
n|	| k    }
t          j        |
 |z  |dz   |¦  «        }Œu|                     |¬¦  «        S )NrU  c                  ó4   •— d‰                       ¦   «         › d�S )Nz2boundaries tensor must be 1 dimension but got dim(r  r/  )r€  s   €r:  rT  zbucketize.<locals>.<lambda>Ì  s   ø€ ÐXÀZÇ^Â^ÑEUÔEUÐXÐXÐX€ r<  rZ  r   ra  r6  rå  )r`  rk  rú  r@  rT  rÕ  r¸  rY  rY  r,  r+  r9  r²   r'  r†  rŸ  r)  r^   rj  r¶   )rp  r€  r  rv  Ú	out_dtypeÚn_boundariesr¿  r³  ÚmidÚmid_valÚcond_midÚcond_updateÚnitersr¬  s    `            r:  r/  r/  Á  sû  ø€ õ 
„LØ�ŠÑÔ˜AÒØXÐXÐXÐXñô ð õ
 ˜�5œ<Ñ(Ô(Ð=ˆˆ­e¬l¸1©o¬o€AØ(Ð9•”�­e¬k€IØÔ# BÔ'€LØ�qÒÐÝÔ Ñ"Ô"Ð"õ
 ŒK˜œ¨¬½¼ÐDÑDÔD€EØ
�,Ñ
€Cð �3˜‘; 1Ñ$Ñ
$€CØ˜Œo€GØð  Ø˜Q’;ˆˆà˜a’<ˆÝŒK˜ %¨¨q©Ñ1Ô1€Eà�aÒÐÝ”o a­u¬zÐ:Ñ:Ô:ˆÝ•T”Y˜|Ñ,Ô,Ñ-Ô-ˆÝ�v‘”ð 	Kð 	KˆAÝ”+˜h¨Ñ4°c¸3Ñ?Ô?ˆCØ #š+ˆKå”+˜k¨5°C¸%±KÀAÑ3EÑ+EÀqÑIÔIˆCØ  ”oˆGð ð (Ø" Qš;��à" aš<�Ý”K ( ¨kÑ 9¸3À¹7ÀEÑJÔJˆEˆEà�8Š8˜)ˆ8Ñ$Ô$Ð$r<  c                 ó   ‡ ‡— |�t          d¦  «        ‚t          j        t          j        ‰ j        ¦  «         o3t          j        ‰ j        ¦  «         ot          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        ‰dk    ˆfd„¦  «         |‰t          j        t          j
        t          j        ‰ ¦  «        dz
  z  ¦  «        z  z   S )Nú"generator is not supported in refsc                  ó   •— d‰ j         › �S )NzwCauchy distribution is a continuous probability distribution.         dtype must be a floating point but you specified rå  r  s   €r:  rT  zcauchy.<locals>.<lambda>
  ó   ø€ ð GØ:>¼*ðGð G€ r<  r	  c                  ó   •— d‰ › �S )Nz-cauchy_ expects sigma > 0.0, but found sigma=rR  )Úsigmas   €r:  rT  zcauchy.<locals>.<lambda>  s   ø€ ÐGÀÐGÐG€ r<  rw  )rÙ  r`  rk  r�  rÄ  rÅ  r  r  ru   r)  r*  Ú	rand_like)r  Úmedianr�  Ú	generators   ` ` r:  r  r  ý  så   øø€ ð ÐÝÐAÑBÔBÐBÝ	„LÝÔ" 4¤:Ñ.Ô.Ð.ð 	3ÝÔ& t¤zÑ2Ô2Ð2ð	3åÔ& t¤zÑ2Ô2Ð2ð	Gð 	Gð 	Gð 	Gñ	ô ð õ 
„LØ�ŠØGÐGÐGÐGñô ð ð �E�EœI¥d¤gµ´ÀÑ1FÔ1FÈÑ1LÑ&MÑNÔNÑNÑNÐNr<  c                 ó  ‡ ‡— |�t          d¦  «        ‚t          j        t          j        ‰ j        ¦  «         o3t          j        ‰ j        ¦  «         ot          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        ‰dk    ˆfd„¦  «         t          j        ‰ ¦  «        }t          j	        |j        ¦  «        j
        dz  }|d|z
  k    }t          j        || t          j        |¦  «        ¦  «        }d‰z  |z  S )Nr‹  c                  ó   •— d‰ j         › �S )Nz|Exponential distribution is a continuous probability distribution.         dtype must be a floating point but you specified rå  r  s   €r:  rT  zexponential.<locals>.<lambda>!  r�  r<  r	  c                  ó   •— d‰ › �S )Nz4exponential_ expects lambda > 0.0, but found lambda=rR  )Úrates   €r:  rT  zexponential.<locals>.<lambda>&  s   ø€ ÐMÀtÐMÐM€ r<  r6  rv  rZ  )rÙ  r`  rk  r�  rÄ  rÅ  r  r  r�  r  r$  r²   r\   )r  r–  r’  Úuniform_valÚepsilonrð  Úlog_uniforms   ``     r:  rF   rF     s  øø€ ð ÐÝÐAÑBÔBÐBÝ	„LÝÔ" 4¤:Ñ.Ô.Ð.ð 	3ÝÔ& t¤zÑ2Ô2Ð2ð	3åÔ& t¤zÑ2Ô2Ð2ð	Gð 	Gð 	Gð 	Gñ	ô ð õ 
„LØˆsŠ
ØMÐMÐMÐMñô ð õ
 ”/ $Ñ'Ô'€Kõ Œk˜+Ô+Ñ,Ô,Ô0°1Ñ4€GØ˜s W™}Ò,€IÝ”+˜i¨'¨µ5´9¸[Ñ3IÔ3IÑJÔJ€Kà�‰9�{Ñ"Ð"r<  c                 ó¤  ‡ ‡— |�t          d¦  «        ‚t          j        t          j        ‰ j        ¦  «         ot          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        d‰k     o‰dk     ˆfd„¦  «         t          j        t          j        t          j	        ‰ ¦  «         ¦  «        t          j        ‰ ¦  «        z  ¦  «        dz   S )Nr‹  c                  ó   •— d‰ j         › �S )Nzgeometric not implemented for rå  r  s   €r:  rT  zgeometric.<locals>.<lambda>C  s   ø€ Ð=°´Ð=Ð=€ r<  r   rU  c                  ó   •— d‰ › �S )Nz0geometric_ expects p to be in (0, 1), but got p=rR  )rä  s   €r:  rT  zgeometric.<locals>.<lambda>G  s   ø€ ÐFÀ1ÐFÐF€ r<  )rÙ  r`  rk  r�  rÄ  rÅ  r  rJ   r]   r�  r)  )r  rä  r’  s   `` r:  rL   rL   6  sÔ   øø€ ð ÐÝÐAÑBÔBÐBå	„LÝÔ" 4¤:Ñ.Ô.Ð.ð 	3ÝÔ& t¤zÑ2Ô2Ð2Ø=Ð=Ð=Ð=ñô ð õ
 
„LØ	ˆAŠˆ�!�a’%ØFÐFÐFÐFñô ð õ Œ;•u”{¥E¤O°DÑ$9Ô$9Ð#9Ñ:Ô:½T¼ZÈÈ¹^¼^ÑKÑLÔLÈqÑPÐPr<  r6  c                 ó€  ‡ ‡— |�t          d¦  «        ‚t          j        t          j        ‰ j        ¦  «         o3t          j        ‰ j        ¦  «         ot          j        ‰ j        ¦  «         ˆ fd„¦  «         t          j        d‰k     ˆfd„¦  «         t          j        ‰t          j	        ‰ ¦  «        z  |z   ¦  «        S )Nr‹  c                  ó   •— d‰ j         › �S )Nzlog_normal not implemented for rå  r  s   €r:  rT  zlog_normal.<locals>.<lambda>Y  s   ø€ Ð>°$´*Ð>Ð>€ r<  r   c                  ó   •— d‰ › �S )Nz-log_normal_ expects std > 0.0, but found std=rR  ©rÀ   s   €r:  rT  zlog_normal.<locals>.<lambda>]  s   ø€ ÐEÀÐEÐE€ r<  )
rÙ  r`  rk  r�  rÄ  rÅ  r  r  rD   Ú
randn_like©r  r½   rÀ   r’  s   ` ` r:  r`   r`   L  sÎ   øø€ ð ÐÝÐAÑBÔBÐBÝ	„LÝÔ" 4¤:Ñ.Ô.Ð.ð 	3ÝÔ& t¤zÑ2Ô2Ð2ð	3åÔ& t¤zÑ2Ô2Ð2Ø>Ð>Ð>Ð>ñ	ô ð õ 
„LØ	ˆCŠØEÐEÐEÐEñô ð õ Œ9�S�5Ô+¨DÑ1Ô1Ñ1°DÑ8Ñ9Ô9Ð9r<  )r½   rÀ   )r’  rÅ  r  r9  r  c          	      óî  ‡— |�"|t           j        k    rt          d|› �¦  «        ‚t          ‰t          ¦  «        st          j        ‰dk    ˆfd„¦  «         |€Œt          d„ | ‰fD ¦   «         ¦  «        }t          j        t          |¦  «        dk    d„ ¦  «         t          j        |d u o|d u d„ ¦  «         t          d„ |D ¦   «         Ž }|d         j	        }|d         j
        }not          j        t          | t          ¦  «         ot          ‰t          ¦  «         d„ ¦  «         |€t          j        ¦   «         n|}|€t          j
        d	¦  «        n|}t          j        |d
d||d|¬¦  «        }	‰|	z  | z   S )Nz*layout must be None or torch.strided, got r   c                  ó   •— d‰ › �S )Nz)normal expects std >= 0.0, but found std rR  r   s   €r:  rT  znormal.<locals>.<lambda>}  s   ø€ ÐOÈ#ÐOÐO€ r<  c              3   óD   K  — | ]}t          |t          ¦  «        ¯|V — Œd S rK  rü  rv  s     r:  rP  znormal.<locals>.<genexpr>�  s1   è è € ÐLÐL˜aµ*¸QÅ
Ñ2KÔ2KÐL˜ÐLÐLÐLÐLÐLÐLr<  c                  ó   — dS )NzFnormal expects that either mean or std is a tensor, or size is definedrR  rR  r<  r:  rT  znormal.<locals>.<lambda>„  s   € Ð\€ r<  c                  ó   — dS )Nz.Cannot pass layout, or pin_memory without sizerR  rR  r<  r:  rT  znormal.<locals>.<lambda>ˆ  s   € ÐD€ r<  c              3   ó$   K  — | ]}|j         V — Œd S rK  r1  rv  s     r:  rP  znormal.<locals>.<genexpr>‹  s$   è è € Ð"<Ð"<¨q 1¤7Ð"<Ð"<Ð"<Ð"<Ð"<Ð"<r<  c                  ó   — dS )Nz>normal expects mean and std to be scalars when size is definedrR  rR  r<  r:  rT  znormal.<locals>.<lambda>‘  s   € ÐT€ r<  r~  r	  rv  F)r½   rÀ   rÅ  r9  rÏ  r’  )r`  r$  rÙ  r@  r'   rk  re  rX  rr  rÅ  r9  r±  r¶  rd   )
r½   rÀ   r?  r’  rÅ  r  r9  r  r½  Únormal_sampless
    `        r:  rd   rd   d  sÂ  ø€ ð( Ð˜f­¬Ò5Ð5ÝÐRÈ&ÐRÐRÑSÔSÐSå�c�:Ñ&Ô&ð 
ÝŒØ�1ŠHÐOÐOÐOÐOñ	
ô 	
ð 	
ð €|ÝÐLÐL D¨# ;ÐLÑLÔLÑLÔLˆÝŒÝ�‰LŒL˜1ÒØ\Ð\ñ	
ô 	
ð 	
õ 	ŒØ�dˆNÐ1˜z¨TÐ1ØDÐDñ	
ô 	
ð 	
õ
 !Ð"<Ð"<°GÐ"<Ñ"<Ô"<Ð=ˆØ˜”
Ô ˆØ˜”Ô"ˆˆåŒÝ˜4¥Ñ,Ô,Ð,ÐPµZÀÅZÑ5PÔ5PÐ1PØTÐTñ	
ô 	
ð 	
ð .3¨]•Ô'Ñ)Ô)Ð)ÀˆØ(.¨•”˜eÑ$Ô$Ð$¸Fˆå”\ØØØØØØØðñ ô €Nð �Ñ $Ñ&Ð&r<  )r’  c                ó4   — t          ||| j        | |¬¦  «        S )N)r«  r’  )rd   rY  r¢  s       r:  Únormal_r¬  ¢  s   € å�$˜˜TœZ¨T¸YÐGÑGÔGÐGr<  c                 ól   — t          j        t          j        | j        ¦  «         d„ ¦  «         d}| |z  S )Nc                  ó   — dS )Nz-rad2deg is not supported for complex tensors.rR  rR  r<  r:  rT  zrad2deg.<locals>.<lambda>«  r5  r<  gøÁcÜ¥L@©r`  rk  r�  rÄ  rÅ  )r  ÚM_180_PIs     r:  rh   rh   §  sA   € å	„LÝÔ" 4¤:Ñ.Ô.Ð.Ø?Ð?ñô ð ð C€HØ�(‰?Ðr<  c                 ól   — t          j        t          j        | j        ¦  «         d„ ¦  «         d}| |z  S )Nc                  ó   — dS )Nz-deg2rad is not supported for complex tensors.rR  rR  r<  r:  rT  zdeg2rad.<locals>.<lambda>µ  r5  r<  g9�R¢Fß‘?r¯  )r  ÚM_PI_180s     r:  r?   r?   ±  sA   € å	„LÝÔ" 4¤:Ñ.Ô.Ð.Ø?Ð?ñô ð ð E€HØ�(‰?Ðr<  c                 ó4   — | dk                          |¦  «        S r"  )rÂ   )r  rú  s     r:  r>   r>   »  s   € ð �AŠI�?Š?˜3ÑÔÐr<  c                 ól  ‡ ‡— t          j        ‰                      ¦   «         dk    o‰                     ¦   «         dk    ˆˆ fd„¦  «         t          j        ‰ j        ‰j        k    ˆˆ fd„¦  «         ˆˆ fd„}t          j        ‰                      ¦   «         ‰                     ¦   «         k    |¦  «         d S )NrU  c                  ó^   •— d‰                      ¦   «         › d‰                       ¦   «         › d�S )Nz1D tensors expected, but got zD and z	D tensorsr/  ©r  r  s   €€r:  rT  z_dot_check.<locals>.<lambda>Ä  s+   ø€ ÐX°·²±
´
ÐXÐXÀ%Ç)Â)Á+Ä+ÐXÐXÐX€ r<  c                  ó(   •— d‰j         › d‰ j         › �S )Nz:dot : expected both vectors to have same dtype, but found r¦  rå  r·  s   €€r:  rT  z_dot_check.<locals>.<lambda>É  s(   ø€ ð *ØŒ:ð*ð *Ø!œKð*ð *€ r<  c            	      ó²   •— d‰                      ¦   «         › d‰                       ¦   «         › d‰                      ¦   «         › d‰                       ¦   «         › d�	S )Nz+inconsistent tensor size, expected tensor [z] and src [z.] to have thesame number of elements, but got r¦  z elements respectively)r  r·  s   €€r:  Únumel_errorz_dot_check.<locals>.numel_errorÍ  ss   ø€ ði¸$¿*º*¹,¼,ð ið iÐSX×S^ÒS^ÑS`ÔS`ð ið iØ04·
²
±´ðið iØCHÇ;Â;Á=Ä=ðið ið ið	
r<  )r`  rk  rú  rÅ  r  )r  r  rº  s   `` r:  Ú
_dot_checkr»  Á  sÐ   øø€ Ý	„LØ�Š‰
Œ
�aŠÐ,˜EŸIšI™KœK¨1Ò,ØXÐXÐXÐXÐXñô ð õ
 
„LØŒ
�e”kÒ!ð	*ð 	*ð 	*ð 	*ð 	*ñô ð ð
ð 
ð 
ð 
ð 
ð 
õ 
„L�—’‘” §¢¡¤Ò.°Ñ<Ô<Ð<Ð<Ð<r<  c                 ó<   ‡ — t          ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 ó<   •— t          | |¦  «          ‰| |¦  «        S rK  )r»  )r  r  r   s     €r:  Úwrapperz#_dot_check_wrapper.<locals>.wrapper×  s#   ø€ å�4˜ÑÔÐØˆr�$˜‰ŒÐr<  )r
   )r   r¾  s   ` r:  Ú_dot_check_wrapperr¿  Ö  s3   ø€ Ý
ˆ2�Y„Yðð ð ð ñ „Yðð €Nr<  ré  c                 ó  — |                       ¦   «         rÕ|                      ¦   «         r†|                     ¦   «         rKt          j        |                      ¦   «         |                     ¦   «         ¦  «                             ¦   «         S t          j        |                      ¦   «         |¦  «        S |                     ¦   «         r't          j        |                     ¦   «         | ¦  «        S | |z                       ¦   «         S rK  )r0  Úis_conjr`  r¾   r×   r¿   rÂ   ré  s     r:  r¾   r¾   ß  s¾   € ð ‡‚ÑÔð 2Ø�<Š<‰>Œ>ð 	2Ø�}Š}‰Œð 6Ý”y §¢¡¤¨e¯jªj©l¬lÑ;Ô;×@Ò@ÑBÔBÐBå”z $§)¢)¡+¤+¨uÑ5Ô5Ð5Ø�]Š]‰_Œ_ð 	2Ý”:˜eŸjšj™lœl¨DÑ1Ô1Ð1à�5‰L×ÒÑÔÐr<  c                 óP  — |                       ¦   «         st          j        | |¦  «        S |                      ¦   «         rt|                     ¦   «         r9t          j        |                     ¦   «         |                      ¦   «         ¦  «        S t          j        |                      ¦   «         |¦  «        S |                     ¦   «         r9t          j        | |                     ¦   «         ¦  «                             ¦   «         S |                      ¦   «         |z                       ¦   «         S rK  )r0  r`  r¾   rÁ  r¿   r×   r;   rÂ   ré  s     r:  r¿   r¿   ó  sß   € ð �?Š?ÑÔð &ÝŒy˜˜uÑ%Ô%Ð%à‡|‚|�~„~ð 4Ø�=Š=‰?Œ?ð 	1Ý”:˜eŸjšj™lœl¨D¯IªI©K¬KÑ8Ô8Ð8å”9˜TŸYšY™[œ[¨%Ñ0Ô0Ð0Ø	�Š‰Œð 4ÝŒy˜˜uŸzšz™|œ|Ñ,Ô,×1Ò1Ñ3Ô3Ð3ð ×ÒÑ Ô  5Ñ(×-Ò-Ñ/Ô/Ð/r<  c                 ó‚  — t          j        | j        |¦  «        }dg| j        z  }d||<   |dk     r|| j        |         z   }t	          j        | j        |         | j        ¬¦  «                             |¦  «        |k    }t	          j        ||¦  «         	                    | j        ¦  «        }t	          j
        ||| ¦  «        S )NrU  rZ  r   r8  )r�  rÓ  r;  rY  r`  r  r9  r
  r  rá   r²   )rO  r·  rú  r!  Ú
mask_shaperŠ  s         r:  Úselect_scatterrÅ  
  s«   € õ Ô
  ¤¨Ñ
-Ô
-€CØ��q”v‘€JØ€Jˆs�OØˆq‚y€yØ˜œ œÑ$ˆÝŒ<˜œ œ¨Q¬XÐ6Ñ6Ô6×;Ò;¸JÑGÔGÈ5ÒP€DÝ
Œ/˜#˜sÑ
#Ô
#×
*Ò
*¨1¬7Ñ
3Ô
3€CÝŒ;�t˜S !Ñ$Ô$Ð$r<  )rK  c                 óN   — t          | t          j        t          j        f¦  «        S rK  )r@  r`  ÚTypedStorageÚUntypedStorage)Úobjs    r:  Ú
_isStoragerÊ  ‰  s   € Ý�c�EÔ.µÔ0DÐEÑFÔFÐFr<  c                 óø  — d}t          | ¦  «        }g }t          | t          t          f¦  «        rÊt	          | ¦  «        }|r
||j        z  }|                     |¦  «         t	          |¦  «        |k    r%t          dt          | ¦  «        j	        › d�¦  «        ‚|dk    rn[	 | d         }n3# t          $ r& t          dt          | ¦  «        j	        › d�¦  «        ‚w xY w|} t          | t          t          f¦  «        °Ê|S )Né€   ztoo many dimensions 'rl  r   z.could not determine the shape of object type ')rÊ  r@  rU  re  rX  Úitemsizer±  rl  r7  r™  rÒ  )ÚseqÚscalar_typeÚMAX_DIMSÚ
is_storagerD  r  Úhandles          r:  Ú_compute_sizesrÓ  Ž  s  € Ø€HÝ˜C‘”€JØ€Eå
�S�4¥˜-Ñ
(Ô
(ð Ý�S‘”ˆØð 	,Ø�{Ô+Ñ+ˆFØ�Š�VÑÔÐÝˆu‰:Œ:˜Ò Ð ÝÐJµT¸#±Y´YÔ5GÐJÐJÐJÑKÔKÐKØ�QŠ;ˆ;Øð	Ø˜”VˆFˆFøÝð 	ð 	ð 	ÝØVÅÀcÁÄÔASÐVÐVÐVñô ð ð	øøøð ˆõ �S�4¥˜-Ñ
(Ô
(ð ð" €Ls   Â B) Â)0Cc                 óD  — t          | t          ¦  «        rt          j        ¦   «         S t          | t          ¦  «        r!t          | t
          ¦  «        st          j        S t          | t          ¦  «        rt          j        S t          | t          ¦  «        rpt          j        ¦   «         }|t          j	        u rt          j
        S |t          j        u rt          j        S |t          j        u rt          j        S t          d¦  «        ‚t          | t          j        ¦  «        r| j        S t          | t$          ¦  «        r%t'          dt)          | ¦  «        j        › d�¦  «        ‚t          | t,          t.          f¦  «        r‚d }t1          | ¦  «        }|dk    rt          j        ¦   «         S t3          |¦  «        D ]F}| |         }	 t5          |¦  «        }|�t          j        ||¦  «        }n|}|t          j        u r|c S ŒG|S t          dt)          | ¦  «        j        › �¦  «        ‚)Nz'invalid default scalar type for complexznew(): invalid data type 'rl  r   zCould not infer dtype of )r@  r   r`  r±  r   r†  rY  r   r¾  ré  ÚcfloatÚdoubleÚcdoubleÚhalfÚchalfrg  rT  rÅ  rƒ  Ú	TypeErrorr7  r™  rU  re  rX  rj  Ú_infer_scalar_typeÚpromote_types)rÉ  Údefault_dtypeÚ
scalarTyper  r3  Úcur_itemÚitem_scalarTypes          r:  rÛ  rÛ  ¨  s  € Ý�#•yÑ!Ô!ð )ÝÔ&Ñ(Ô(Ð(Ý�#•wÑÔð ­
°3½Ñ(=Ô(=ð ÝŒ{ÐÝ�#•xÑ Ô ð ÝŒzÐÝ�#•wÑÔð 	JÝÔ/Ñ1Ô1ˆØ�EœKÐ'Ð'Ý”<ÐØ�eœlÐ*Ð*Ý”=Ð Ø�eœjÐ(Ð(Ý”;ÐåÐHÑIÔIÐIÝ�#•u”|Ñ$Ô$ð ØŒyÐÝ�#•sÑÔð LÝÐJµT¸#±Y´YÔ5GÐJÐJÐJÑKÔKÐKå�#��e�}Ñ%Ô%ð Øˆ
Ý�S‘”ˆð �QŠ;ˆ;ÝÔ*Ñ,Ô,Ð,å�v‘”ð 	"ð 	"ˆAØ˜1”vˆHðõ 1°Ñ:Ô:ˆOØÐ%Ý"Ô0°¸_ÑMÔM�
�
à,�
Ø�Uœ]Ð*Ð*ð "Ð!Ð!Ð!ð +ð ÐÝ
ÐGµ4¸±9´9Ô3EÐGÐGÑ
HÔ
HÐHr<  rÞ  rÉ  c                 ó  ‡ — t          |t          ¦  «        rU|                     ¦   «         dk    r=|                     ¦   «                              ‰ dd¬¦  «                             d¦  «        S t          |t          ¦  «        r*|                     ¦   «                              ‰ dd¬¦  «        S t          |t          ¦  «        rt          j        |‰ ¬¦  «        S |}|st          j	        d¦  «        nt          j
        ˆ fd„|D ¦   «         ¦  «        S )	NrU  r~  T)rÅ  r9  r
  rR  rå  r   c                 ó0   •— g | ]}t          ‰|¦  «        ‘ŒS rR  )Ú_recursive_build)rN  rµ   rÞ  s     €r:  r7  z$_recursive_build.<locals>.<listcomp>ó  s$   ø€ ÐMÐMÐMÀÕ*¨:°tÑ<Ô<ÐMÐMÐMr<  )r@  rT  r  Údetachr¶   r
  r!   r`  r)  r  rú   )rÞ  rÉ  rÎ  s   `  r:  rã  rã  Ü  sø   ø€ õ �#•vÑÔð : 3§9¢9¡;¤;°!Ò#3Ð#3Ø�zŠz‰|Œ|�Š Z¸ÀDˆÑIÔI×NÒNÈrÑRÔRÐRÝ	�C�Ñ	 Ô	 ð :ð �zŠz‰|Œ|�Š Z¸ÀDˆÑIÔIÐIÝ	�C�Ñ	 Ô	 ð :åÔ" 3¨jÐ9Ñ9Ô9Ð9ð €Cð ð	O�Œ�A‰ŒˆåŒ[ÐMÐMÐMÐMÈÐMÑMÔMÑNÔNðr<  c                 ó  — t          |t          j        ¦  «        r^t          j        | d„ ¦  «         |}|r|                     ¦   «         }|r|j        n|}	|�|n|j        }
|                     |
|	d|¬¦  «        S t          |d¦  «        rt          S |�|n| d         }
|rt          |¦  «        n|}	t          |¦  «        rt          S t          j        |
¦  «        j        dk    rt          S t          |	|¦  «        }|                     |
|	dd¬¦  «        }|rnt          j        |
¦  «        j        dk    rQt          j        |j        |                     ¦   «         |j        |j        d	¬
¦  «        }|                     |¦  «         |}|S )Nc                  ó   — dS )Nz,Can't pin tensor constructed from a variablerR  rR  r<  r:  rT  z)_internal_new_from_data.<locals>.<lambda>  s   € Ð$R€ r<  F)r9  rÅ  r  r
  Ú__cuda_array_interface__r9  Úmeta)r  r
  r~  T)rÅ  r9  r  )r@  r`  rT  rk  rä  rÅ  r9  r¶   ÚhasattrÚNotImplementedrÛ  rÊ  r7  rã  r  rY  r<  rF  )ÚoptionsrÏ  Ú
device_optÚdataÚcopy_variablesÚ
copy_numpyÚtype_inferencer  rÅ   Úinferred_scalar_typer9  rÕ  Úpinned_tensors                r:  Ú_internal_new_from_dataró  ø  s¼  € õ �$�œÑ%Ô%ð 
ÝŒØˆNÐRÐRñ	
ô 	
ð 	
ð ˆØð 	Ø—*’*‘,”,ˆCØ,:ÐK˜sœy˜yÀÐØ)Ð5��¸3¼:ˆØ�vŠvØØ&ØØð	 ñ 
ô 
ð 	
õ ˆtÐ/Ñ0Ô0ð ÝÐð &Ð1ˆZˆZ°w¸xÔ7H€FØ7EÐVÕ-¨dÑ3Ô3Ð3È;Ðõ �$ÑÔð #ÝÐåŒ<˜ÑÔÔ$¨Ò.Ð.Ý!Ð!õ "Ð"6¸Ñ=Ô=ˆà—’˜6Ð#7ÀeÐRW�ÑXÔXˆØð 		#�%œ, vÑ.Ô.Ô3°uÒ<Ð<Ý!Ô/Ø”Ø—’‘”Ø”lØ”}Øðñ ô ˆMð ×Ò Ñ'Ô'Ð'Ø"ˆFð €Mr<  )rÅ  r9  r  rÏ  c          
      ó,  — t          | t          j        ¦  «        rt          j        dt
          d¬¦  «         |d u }t          ddi|�|nt          j        ¦   «         || dd||¬¦  «        }|                     ¦   «          |r| 	                    |¦  «         |S )NzµTo copy construct from a tensor, it is recommended to use sourceTensor.detach().clone() or sourceTensor.detach().clone().requires_grad_(True), rather than torch.tensor(sourceTensor)r6  r£  r9  r~  T)rî  rï  rð  r  )
r@  r`  rT  rª  r«  ÚUserWarningró  r±  Údetach_rÓ  )rí  rÅ  r9  r  rÏ  rð  Ú
new_tensors          r:  rÕ  rÕ  ;  sÁ   € å�$�œÑ%Ô%ð 
ÝŒðlåØð		
ñ 	
ô 	
ð 	
ð ˜d�]€NÝ(ð 
�5ÐØÐ"ˆˆ­Ô(?Ñ(AÔ(AØØØØØ%Øðñ ô €Jð ×ÒÑÔÐØð 1Ø×!Ò! -Ñ0Ô0Ð0ØÐr<  rK  )F)r	  NN)r¬  r­  Fr6  )NN)NNNNNFF)FFN)NF)NNFrÐ  )r   rZ  )	NNNTrc  FNNN)NNNTFNNF)rR  )rU  rñ  )r   r   rU  )r   r•  rZ  )r   NrU  )r  )r	  rv  )rJ  NF)r   rU  Nrc  )rU  r6  N(  r@  r¦  r¢  rƒ  r)  r„  rª  Úcollections.abcr   r   r   Úenumr   Ú	functoolsr   r   r	   r
   Útypingr   r   r   r   r   r`  Útorch._primsÚ_primsr¶  Útorch._prims_commonÚ_prims_commonr�  Útorch.utils._pytreeÚ_pytreerI  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Útorch._prims_common.wrappersr+   r,   r-   r.   r/   r0   Ú$torch.testing._internal.common_dtyper1   r°  rT  rA  ÚDispatchKeyÚ_opsrê  r¯  r;  rD  rr  rˆ  Útorch._decompr‰  Úobjectr—  rœ  r¨  r´  rx  r2   ÚINT_TO_FLOATr3   r4   r6   r5   r7   r8   ÚDEFAULTr9   r:   r0  r;   r<   r=   r@   rA   rB   rC   rD   rE   rG   Ú	NO_OPMATHrH   rI   r*  rJ   rK   r‘   ÚALWAYS_BOOLrS   rT   rU   rV   rW   ÚspecialÚmultigammalnrb   rX   rY   r[   r\   r]   r^   r_   rŸ  rÅ  ra   r›   r†  re   r  rf   rg   r£   ri   rj   rø   rk   rl   rm   rn   ro   rp   rq   rs   ÚBOOL_TO_LONGrt   ru   rv   rx   r  rW  rZ  ry   rz   r{   r|   r}   r~   r   r‚   rƒ   rƒ  r„   r¢   r…   r†   r‚  r�  r‡   rˆ   r‰   r–  re  rŠ   r‹   rŒ   r�   rŽ   r�   r�   ré  r«  r’   r“   r”   r•   r–   r—   r˜   r™   rš   rœ   r�   rž   rŸ   r    r¡   r¥   r¦   r©   rª   r¬   r«   r­   r®   r¯   r€   r�   r²   r  rú  r  Ú
ScalarSelfÚScalarOtherÚScalarÚself_outr³   r  r  r´   rµ   r  r  r  Úregisterr9  r  r  r  r  r  r%  r¶   rB  rQ  r·   rº   rÂ   Údim_IntListÚIntList_outrU  rÃ   rÄ   r¹   r¸   rs  rÅ   rÀ   r½   rÁ   rÆ   rÇ   rÊ   r¬  rË   rÌ   rÍ   rÏ   rÑ   rÒ   Úpy_implÚCompositeImplicitAutogradÚMetarÓ   rÔ   rÖ   r×   rØ   rH  rÙ   rà   rá   râ   rÕ   rä   rå   ræ   rç   rì   r*  r.  rî   rï   Ú_subclassesÚ
fake_implsÚregister_op_implrS  rð   r1  r2  rh  r3  r¿  ró   rÞ  ræ  rô   rõ   rö   r÷   r÷  rú   rr   ré   r  r  r  rN   rO   rQ   rR   r  rM   rP   rü   rF  rù   r  rè   r  rÛ   r«  rÞ   rÜ   rÚ   rÐ   rw  rß   rþ   r   rÈ   r  rû   r  r  rˆ  r»   r¼   r  r
  r  rò   r  r$  r  r  r!  r"  r+  r%  r&  r$  r#  r¼  r  r  Ú
start_stepÚ	start_outrZ   r  r   rê   rë   r  r  r  r  r  r,  r'  r(  r)  r8  r°   r±   r-  r.  rc   rw   rS  r§   r¨   r¤   r  r  rf  rm  r  r2  r|  r  r/  r  rF   rL   r`   rd   r¬  rh   r?   r>   r»  r¿  r¾   r¿   rÅ  Úabs_Úacos_Úacosh_Úadd_Úaddcmul_Úaddcdiv_Úasin_Úasinh_Úatan_Úatanh_Úatan2_Úbitwise_and_Úbitwise_left_shift_Úbitwise_not_Úbitwise_or_Úbitwise_right_shift_Úbitwise_xor_Úceil_Úclamp_Ú
clamp_min_Ú
clamp_max_Úconj_physical_Ú	copysign_Úcos_Úcosh_Úcumsum_Úcumprod_Údeg2rad_Údigamma_Údiv_Úeq_Úerf_Úerfc_Úerfinv_Úexp_Úexp2_Úexpm1_Úfloat_power_Úfloor_Úfloor_divide_Úfmod_Úfrac_Úgcd_Úge_Úgt_Ú
heaviside_Úhypot_Úigamma_Úigammac_Úi0_Úlcm_Úle_Úlerp_Úlgamma_Úlog10_Úlog1p_Úlog2_Úlog_Úlogical_and_Úlogical_not_Úlogical_or_Úlogical_xor_Últ_Úmul_Ú	mvlgamma_Únan_to_num_Úne_Úneg_Ú
nextafter_Úpow_Úrad2deg_Úreciprocal_Ú
remainder_Úrsqrt_Úsgn_Úsigmoid_Úsign_Úsin_Úsinc_Úsinh_Úsqrt_Úsquare_Úsub_Útan_Útanh_Útril_Útriu_Útrue_divide_Útrunc_Úxlogy_Úcauchy_Úexponential_Ú
geometric_Úlog_normal_Úzero_rÉ   rÎ   rÝ   rã   rí   rý   rñ   rÿ   r  r  r	  r  rÊ  rÓ  rÛ  rã  ró  rÕ  Útorch._refs._conversionsÚtorch._refs.fftÚtorch._refs.linalgÚtorch._refs.nn.functionalÚtorch._refs.specialrR  r<  r:  ú<module>r‚     s¶m  ðð €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à €€€Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð2ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ Hðlð lð l€ð\	 
Œ€ØŒhÔ"€Ø„z„~Ô€ð2ð 2ð 2ðð ð ðRð Rð Rðj 9=ð 8Cð 8Cð 8Cð 8Cð 8Cðx 1Ð 0Ð 0Ð 0Ð 0Ð 0ð �‘”€ð ØØðð ð ð ðð ð ð ðDð ð ð ð ð ð2 #Ð"Ø#Ô4Øðñ ô ðð ñ	ô ðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#JÑKÔKð ð  ñ LÔKð ð #Ð"Ø#Ô+Øðñ ô ðð ñ	ô ðð Ð˜œÑ(Ô(ð/�nð /ð /ð /ñ )Ô(ð/ð Ð˜Ô*Ñ+Ô+Ø€�„ð&˜ð &ð &ð &ñ „ñ ,Ô+ð&ð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð €�„Ø#Ð#ØØ7ÔAðñ ô ð ˆNð   :ð  °.ð  ð  ð  ñ	ô ñ „ð
 ðˆ^ð  Jð °>ð ð ð ð ð Ð˜œ	Ñ"Ô"Ø€�„ð#�ð # >ð #ð #ð #ñ „ñ #Ô"ð#ð #Ð"Ø#Ô+Øðñ ô ðð ñ	ô ðð #Ð"Ø#Ô+Øðñ ô ð(ˆNð (˜~ð (ð (ð (ñ	ô ð(ð
ˆNð ˜~ð ð ð ð ð #Ð"Ø#Ô/Øðñ ô ð*�ð * >ð *ð *ð *ñ	ô ð*ð #Ð"Ð#BÔ#NÑOÔOð1ˆ^ð 1 ð 1ð 1ð 1ñ PÔOð1ð #Ð"Ø#Ô/Øðñ ô ð1�ð 1 >ð 1ð 1ð 1ñ	ô ð1ð #Ð"Ø#Ô/Øðñ ô ð1�ð 1 >ð 1ð 1ð 1ñ	ô ð1ð #Ð"Ð#BÔ#NÑOÔOðˆ^ð  ð ð ð ñ PÔOðð
 ˆ;�u”}Ô1°:Ñ>Ô>€ð #Ð"Ø#Ô/Øðñ ô ð0ˆnð 0 ð 0ð 0ð 0ñ	ô ð0ð #Ð"Ø#Ô0¸$¼'ðñ ô ðð ñô ðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð
 €�„ð !%ñXð XØðXà	ðXð Œ;˜ÑðXð ð	Xð Xð Xñ „ðXð Ð˜œÑ'Ô'Ø€�„Ø#Ð#Ø!Ø7ÔDðñ ô ð
 :?ñ,ð ,Ø
ð,Ø'ð,Ø26ð,àð,ð ,ð ,ñ	ô ñ „ñ (Ô'ð,ð" Ð˜œÑ(Ô(Ø€�„ð !Ø $Ø $ñ	ð Øðà	�dÑ	ðð ˜Ñðð ˜Ñð	ð
 ðð ð ñ „ñ )Ô(ðð6�ð ð ð ð ð #Ð"Ø#Ô+¸	ðñ ô ðð ñô ðð�ð  >ð ð ð ð ðˆNð ˜~ð ð ð ð ð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð Ð˜œ
Ñ#Ô#Ø€�„Ø#Ð#ØØ7Ô?ðñ ô ð 12ð Jð Jð Jˆ^ð J¨#ð J°nð Jð Jð Jñ	ô ñ „ñ $Ô#ðJð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPð/ˆ~ð / .ð /ð /ð /ñ QÔPð/ð #Ð"Ø#Ô+Øðñ ô ðð ñ	ô ðð #Ð"Ø#Ô+Øðñ ô ðð ñ	ô ðð #Ð"Ø#Ô/Øðñ ô ðð ñ	ô ðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPð4ð 4ñ QÔPð4ð
 #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ø#Ô0Øðñ ô ðˆnð  ð ð ð ñ	ô ðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ð#BÔ#OÑPÔPðð ñ QÔPðð #Ð"Ø#Ô+Øðñ ô ðð ñ	ô ðð
!˜.ð !¨^ð !ð !ð !ð !ðL Ø	ØØ#Ø#Ø %Ø"&ð6ð 6ð ð6ð 6ð 6ð 6ðr(Ø˜
Ñ"ð(Ø'5¸
Ñ'Bð(à
„[ð(ð (ð (ð (ð Ð˜œÑ!Ô!Ø€�„Ø#Ð#Ø"Ø7Ô?ðñ ô ð  $ð	8ð 8ð 8Ø˜
Ñ"ð8à˜
Ñ"ð8ð ˜Ñð	8ð 8ð 8ñ	ô ñ „ñ "Ô!ð8ð: $Ð#Ø7ÔDØ$Ø$ðñ ô ð
ð ñô ð
ð $Ð#Ø7Ô?ðñ ô ð#�>ð # nð #¸ð #ð #ð #ñô ð#ð $Ð#Ø7Ô?ðñ ô ð"˜.ð "¨^ð "Àð "ð "ð "ñô ð"ð $Ð#Ø7Ô?ðñ ô ð"�.ð " ^ð "¸ð "ð "ð "ñô ð"ð $Ð#Ø7Ô?ðñ ô ð.˜>ð .¨nð .Àð .ð .ð .ñô ð.ð $Ð#Ø7Ô?ðñ ô ð#�>ð # nð #¸ð #ð #ð #ñô ð#ð $Ð#Ø7ÔDØ$ðñ ô ð2� Ñ+ð 2°ÀÑ0Kð 2ð 2ð 2ñ	ô ð2ð Ð˜œÑ!Ô!Ø€�„ð
 !%ð	ð ð Ø˜
Ñ"ðà˜
Ñ"ðð ˜‘:ð	ð ð ñ „ñ "Ô!ðð( $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7ÔDðñ ô ðØ˜
Ñ"ðà˜
Ñ"ðð ðð ð ñô ðð: €�„ðØ˜
Ñ"ðà˜
Ñ"ðð ðð ð ñ „ððt $Ð#ØÔ=ÔEØ $Ø"'ðñ ô ð
O�N ZÑ/ð O°NÀZÑ4Oð Oð Oð Oñô ð
Oð>F˜Vð F¨ð F°6ð Fð Fð Fð Fð1˜6ð 1 fð 1°ð 1ð 1ð 1ð 1ð2 $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
ˆNð ˜~ð °.ð ð ð ñô ð
ð $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
ˆNð ˜~ð °.ð ð ð ñô ð
ð $Ð#Ø7Ô?Ø$Ø#ðñ ô ð
ˆNð ˜~ð °.ð ð ð ñô ð
ð Ð˜œ
Ñ#Ô#Ø€ˆZ˜Ñ$Ô$ð7�ð 7 5¨¸Ð)GÔ#Hð 7ð 7ð 7ñ %Ô$ñ $Ô#ð7ð $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
ˆ>ð ˜nð °ð ð ð ñô ð
ð $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
�^ð ¨^ð Àð ð ð ñô ð
ð $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
ˆ^ð  ð °>ð ð ð ñô ð
ð $Ð#Ø7ÔDØ$Ø$ðñ ô ð
ˆnð  ð °Nð ð ð ñô ð
ð $Ð#Ø7ÔDØ$Ø$ðñ ô ð
ˆ~ð  .ð °^ð ð ð ñô ð
ðØ
ðàðð ðð ð	ð
 ðð 
ðð ð ð ð2 ØØñ(ð (Øð(àð(ð ð(ð ð	(ð
 ð(ð ð(ð (ð (ð (ðV $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
Qˆ>ð Q˜nð Qð Qð Qñô ð
Qð  $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
T�ð T Nð T°~ð Tð Tð Tñô ð
Tð0 $Ð#Ø7Ô?Ø$Ø$ðñ ô ð
,�.ð , ^ð ,¸ð ,ð ,ð ,ñô ð
,ð $Ð#Ø7ÔCðñ ô ð�>ð  nð ð ð ñô ðð #Ð"Ð#BÔ#NÑOÔOð�>ð ð ð ñ PÔOðð $Ð#Ø7ÔCðñ ô ð�.ð  ^ð ð ð ñô ðð $Ð#Ø7ÔCðñ ô ð�>ð  nð ð ð ñô ðð $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7Ô?ðñ ô ðˆ~ð  .ð °^ð ð ð ñô ðð $Ð#Ø7Ô?ðñ ô ðˆ~ð  .ð °^ð ð ð ñô ðð $Ð#Ø7Ô?Ø $ðñ ô ðˆ>ð ˜nð °ð ð ð ñ	ô ðð $Ð#Ø7ÔCØ$ðñ ô ðˆ.ð ˜^ð °ð ð ð ñ	ô ðð $Ð#Ø7ÔAØ$Ø$ðñ ô ð
!�ð ! Nð !°~ð !ð !ð !ñô ð
!ð $Ð#Ø7Ô?ðñ ô ð!�ð ! Nð !°~ð !ð !ð !ñô ð!ð
 Ð˜œ	Ñ"Ô"Ø€�„ð ñ	(ð 	(Ø˜
Ñ"ð	(à˜
Ñ"ð	(ð ð	(ð 	(ð 	(ñ „ñ #Ô"ð	(ð Ð˜œÑ!Ô!Ø€�„Ø#Ð#Ø"Ø7Ô?ðñ ô ð ð	$8ð $8ð $8Ø˜
Ñ"ð$8à˜
Ñ"ð$8ð ð	$8ð $8ð $8ñ	ô ñ „ñ "Ô!ð$8ðN $Ð#Ø7ÔDØ	ØØ $ð	ñ ô ð�>ð  nð ¸ð ð ð ñô ðð Ð˜œ
Ñ#Ô#Ø€�„Ø#Ð#Ø"Ø7ÔDðñ ô ð:ˆ^˜jÑ(ð :¨^¸jÑ-Hð :ð :ð :ñ	ô ñ „ñ $Ô#ð:ð. $Ð#ØÔ=ÔEØØ $ðñ ô ð
"�N ZÑ/ð "°NÀZÑ4Oð "ð "ð "ñô ð
"ð Ð˜œÑ%Ô%Ø€�„Ø#Ð#Ø6Ø7ÔDðñ ô ð ð,ð ,ð ,Ø
ð,àð,ð ð,ð
 ð,ð ð,ð ,ð ,ñ	ô ñ „ñ &Ô%ð,ð* Ð˜œÑ%Ô%Ø€�„Ø#Ð#Ø6Ø7Ô?ðñ ô ð ð,ð ,ð ,Ø
ð,àð,ð ð,ð
 ð,ð ð,ð ,ð ,ñ	ô ñ „ñ &Ô%ð,ð* Ð˜œ
Ñ#Ô#Ø€�„Ø#Ð#Ø+Ø7Ô?ðñ ô ð *.Ø)-ñð Øðà	 $Ñ	&ðð 
  $Ñ	&ðð ð	ð ð ñ	ô ñ „ñ $Ô#ðð6 Ð˜œÑ'Ô'Ø€�„ð *.ñ&ð &Ø
ð&à	 $Ñ	&ð&ð ð&ð &ð &ñ „ñ (Ô'ð&ð Ð˜œÑ'Ô'Ø€�„ð *.ñ&ð &Ø
ð&à	 $Ñ	&ð&ð ð&ð &ð &ñ „ñ (Ô'ð&ð Ð˜œ
Ô*Ñ+Ô+ð.˜ð . E¨&°#¨+Ô$6ð .ð .ð .ñ ,Ô+ð.ð Ð˜œ
œÑ(Ô(ØÐ˜œ
Ô-Ñ.Ô.ØÐ˜œ
Ô.Ñ/Ô/ØÐ˜œ
Ô)Ñ*Ô*ØÐ˜œ
Ô+Ñ,Ô,Ø€˜ÐÑÔØ#Ð#Ø"Ø7ÔAðñ ô ð (,Ø'+ñ#ð #Ø
ð#à Ñ$ð#ð  Ñ$ð#ð #ð #ñ	ô ñ Ôñ -Ô,ñ +Ô*ñ 0Ô/ñ /Ô.ñ )Ô(ð#ð. Ð˜œ
Ñ#Ô#Ø€�„à?DÔ?Tðð ð ØðØ).Ô)<ðàðð ð ñ „ñ $Ô#ðð 9=ð ð ð ˆvð ˜&ð ð ð ð ð Ð˜œ	Ñ"Ô"ð&ˆNð &˜zð &ð &ð &ñ #Ô"ð&ð %)Ø $ØØ"&Ø04Ø#Øñð Øðà˜TÑ!ðð Œ;˜Ñðð �‰+ð	ð
 ŒL˜4Ñðð Ô&¨Ñ-ðð �t‘ðð ðð 
ðð ð ð ð2 ðð ñ „ðð Ôð ØØ04ñð ØŒLðàŒ;ðð ðð ð	ð
 Ô&¨Ñ-ðð 
ˆ#ˆsˆ(„^ðð ð ñ Ôðð" Ôð ØØ04ñð ØðàŒ;ðð ðð ð	ð
 Ô&¨Ñ-ðð 
ˆ#ˆsˆ(„^ðð ð ñ Ôðð" Ôð ØØ04ñ	ð ØŒ;ðàðð ðð Ô&¨Ñ-ð	ð
 
ˆ#ˆsˆ(„^ðð ð ñ Ôðð Ôð ØØ04ñ	ð Øðàðð ðð Ô&¨Ñ-ð	ð
 
ˆ#ˆsˆ(„^ðð ð ñ Ôðð." &ð "°Tð "ð "ð "ð "ð0 ˆ.ð  ¨nð  ð  ð  ð  ðX Ø"Ø ØØ $ØðCð Cð CØðCà
ðCð ð	Cð
 ðCð �T‰/ðCð ðCð Œ;˜ÑðCð 
�$‰ðCð 2ðCð ðCð Cð Cð CñLð ð ð ð< Ð˜œÑ!Ô!Ø€�„ð  Øñ
ð 
Øð
à	�D‰ð
ð ð
ð ð	
ð 
ð 
ñ „ñ "Ô!ð
ð Ð˜œÑ!Ô!Ø€�„ð  Øñð Øðà	�D‰ðð ðð ð	ð ð ñ „ñ "Ô!ðð$ Ð˜œÔ-¨t¬xÔ/CÐDÑEÔEð #'Øñð
 !%Øðð ð Øðà	ˆt‰�d˜3”iÑ	ðð ðð
 Œ;˜Ñðð 
�$‰ðð ðð ð ñ FÔEðð:CØðCð ðCð Cð Cð Cð, Ð˜œ	Ñ"Ô"ð #'Øñð
 Øðð ð Øðà	ˆt‰�d˜3”iÑ	ðð ðð 
�$‰ðð ðð ð ñ #Ô"ðð: Ð˜œ	Ñ"Ô"ð  Øñð
 ðð ð Øðà	�D‰ðð ðð
 
�$‰ðð ðð ð ñ #Ô"ðð. Ð˜œ	Ñ"Ô"ð  Øñð
 ðð ð Øðà	�D‰ðð ðð
 
�$‰ðð ðð ð ñ #Ô"ðñ.ð ð ñ ð Ð˜�Ñ!Ô!Ø€�„ð  Ø Øñ	ð %)ðð ð Øðà	�D‰ðð �T‰kðð ð	ð ˜TÑ!ðð ðð ð ñ „ñ "Ô!ñð6 Ð˜�Ñ!Ô!Ø€�„ð #'Ø Øñ	1ð %)ð1ð 1ð 1Øð1à	ˆt‰�d˜3”iÑ	ð1ð �T‰kð1ð ð	1ð ˜TÑ!ð1ð ð1ð 1ð 1ñ „ñ "Ô!ñ1ð, Ð˜�	Ñ"Ô"ð  Øñ+ð
 Øð+ð +ð +Øð+à	�D‰ð+ð ð+ð ð+ð +ð +ñ #Ô"ñ+ð\ Ð˜�Ñ&Ô&Ø€ˆV�VÑÔð  ñð !ØØ$(ðð ð Øðà	�D‰ðð �T‰kð	ð
 ðð ˜TÑ!ðð ð ñ Ôñ 'Ô&ñð2 Ð˜�Ñ&Ô&Ø€ˆV�VÑÔð  Ø Øñ	ð %)ðð ð Øðà	�D‰ðð �T‰kðð ð	ð ˜TÑ!ðð ð ñ Ôñ 'Ô&ñð Ð˜�	Ñ"Ô"Ø€�„Ø#Ð#Ø0Ø7Ô?ðñ ô ð Øð7Að 7Að 7AØ
ð7Aà
ð7Að ð7Að
 ð7Að ð7Að ð7Að 7Að 7Añ	ô ñ „ñ #Ô"ñ7Aðv+Ø	˜( >Ô2Ñ	2ð+Ø;Ið+à�e˜N¨CÐ/Ô0Ñ0ð+ñ +ð +ñ +ñ  Øð Ø #ð Ø*8ð àð ñ  ð  ñ  ð+Ø	˜( >Ô2Ñ	2ð+Ø;Ið+à�e˜N¨CÐ/Ô0Ñ0ð+ñ +ð +ñ +ð +Ø	˜( >Ô2Ñ	2ð+Ø;Ið+à�e˜N¨CÐ/Ô0Ñ0ð+ñ +ð +ñ +ð& "&ñ		Að 	AØñ	Aà
ñ	Að ñ	Að ˜$‘Jð		Að
 ð	Añ 	Að 	Añ 	Að Ð˜Õ/Ñ0Ô0Ø€�„ð "&ñRð RØñRà	ñRð ñRð ñ	Rð
 ˜$‘JðRð ðRñ Rð Rñ „ñ 1Ô0ñRð2 ð 2ñ 2ð 2ñ 2ð ÕÔ×'Ó'¨Õ(MÑNÔNØÕÔ×'Ó'¨Õ(8Ñ9Ô9ðO 4¨Ô#7ð Oñ Oð Oñ :Ô9ñ OÔNñOð1�Nñ 1¨)ð 1¸ð 1ñ 1ð 1ñ 1ð Ð˜�Ñ!Ô!Ø€�„Ø#Ð#Ù$Ø7ÔAðñ ô ñyGñ yGÐ#ð yG¨#ð yG°nð yGñ yGð yGñ	ô ñ „ñ "Ô!ñyGðz €�„ñ#Ð,ð #°ð #ñ #ð #ñ „ñ#ð�ð  >ð ñ ð ñ ð Ð˜Õ,Ñ-Ô-Ø€�„à?@ñPð PØñPØ $ S¤	ðPØ2<ðPàðPñ Pð Pñ „ñ .Ô-ñPðh 8=Õ7Nð7ð 7ð 7Øð7Ø!&Ô!4ð7àð7ñ 7ð 7ñ 7ð €�„ñ#Ð&ð #¨>ð #ñ #ð #ñ „ñ#ð Ð˜�Ñ$Ô$Ø/4ñ Fð Fð Fˆfñ F¨ð F¸ð Fñ Fð Fñ %Ô$ñFðT�ð ˜Fð  vð ñ ð ñ ñð ˆ^ñ  Sð ¨sð ¸5ÀÐQTÐATÔ;Uð ñ ð ñ ñ,1ð 1ˆ~ñ 1¨#ñ 1¸Cð 1Èð 1ñ 1ð 1ñ 1ð* Ð˜�	Ñ"Ô"Ø€�„ðˆNð Ð"2ð °~ð ñ ð ñ „ñ #Ô"ñðˆnð  ð ñ ð ñ ðˆnð  ð ñ ð ñ ðØðØñØ(+¨nÑ(<ñØFIðàðñ ð ñ ðDØñØ"ñØ).ðà
ˆ6�6˜6Ð!Ô"ðñ ð ñ ð@˜>ñ °t¸C´yð À^ð ñ ð ñ ð Ð˜Õ.Ô6Ñ7Ô7ðDØñDà�T‰MñDð �4‰-ñDð ñ	Dð
 ñDð ñDð ñDð 
ðDð ˆ6�6˜6Ð!Ô"ðDñ Dð Dñ 8Ô7ñDðN Ð˜Õ.Ñ/Ô/Ø€ˆV�V™VÑ$Ô$ðLØñLàñLð �T‰MñLð �4‰-ñ	Lð
 
ðLð ˆ6�6˜6Ð!Ô"ðLñ Lð Lñ %Ô$ñ 0Ô/ñLð^ ÕÕ×.Ó.¨tÕ/EÔ/MÑNÔNñ$ð $ñ OÔNñ$ð Ð˜�Ñ%Ô%ð,ˆ~ð ,¨ð ,ñ ,ð ,ñ &Ô%ñ,ð Ð˜�Ñ$Ô$Ø€�„ð#.Øñ#.Ø,ð#.Ø36ñ#.ØAOð#.àð#.ñ #.ð #.ñ „ñ %Ô$ñ#.ðN …Õ×Ó˜+Õ?Ñ@Ô@ð "Ø!Ø ØØØØ Ø"&Ø#'ñp?ð p?Øñp?àñp?ð �d‘
ñp?ð �d‘
ñ	p?ð
 �T‰Mñp?ð ñp?ð ñp?ð ñp?ð �T‰kñp?ð ˜4‘Kñp?ð ˜D‘[ðp?ð ðp?ñ p?ð p?ñ AÔ@ñp?ðh …Ô×Ó˜KÕAÑBÔBð "Ø!Ø ØØØ ØØñYð YØñYàñYð �d‘
ñYð �d‘
ñ	Yð
 �T‰MñYð ñYð ñYð �T‰kñYð �$‰JðYð ðYñ Yð Yñ CÔBñYñzØñØ",ñØ9<ñØDGñØORðñ ð ñ ð8 Ð˜�Ñ$Ô$Ø€�„ð51ˆfð 51¨ð 51ñ 51ð 51ñ „ñ %Ô$ñ51ðpRØñRØ*.ðRàðRñ Rð Rñ Rðj8?˜Nñ 8?Àð 8?Èð 8?ñ 8?ð 8?ñ 8?ð~<ˆ~ñ < yð <°^ð <ñ <ð <ñ <ð
&�^ð &¨Nð &¸~ð &ñ &ð &ñ &ð Ð˜�	Ñ"Ô"Ø€�„ñ8>ð 8>ˆNñ 8> Hð 8>°Hð 8>Ànð 8>ñ 8>ð 8>ñ „ñ #Ô"ñ8>ðv Ð˜�
Ñ#Ô#Ø€�„à<Bñ>ð >Øñ>Øð>Ø)9ð>àð>ñ >ð >ñ „ñ $Ô#ñ>ñ<
Ð!3ð 
¸ð 
ñ 
ð 
ñ 
ð Ð˜�
Ñ#Ô#Ø€�„ñGñ GÐ%ð G¨Cð G¸ð Gñ Gð Gñ „ñ $Ô#ñGð" €�„ð !%ñð Øðà	ðð Œ;˜Ñðð ð	ñ ð ñ „ñð* €�„ñ#Ð&ð #¨>ð #ñ #ð #ñ „ñ#ð €�„ñ#Ð&ð #¨>ð #ñ #ð #ñ „ñ#ðS�ð S cñ S°)ð SÀð Sñ Sð Sñ Sð Ð˜�Ñ$Ô$ñ
ñ 
ˆnð 
 3ð 
Ð/Að 
ñ 
ð 
ñ %Ô$ñ
ð" €�„ð�*ð  3ñ ¨zñ À:ð ñ ð ñ „ñð
�:ð 
 Cñ 
°
ñ 
ÀJð 
ñ 
ð 
ñ 
ð Ð˜�Ñ(Ô(Ø€�„ð<Øð<Øñ<Ø$.ð<Ø7AÀJÑ7Nð<ñ <ð <ñ „ñ )Ô(ñ<ð Ð˜Õ(Ñ)Ô)ð;Øð;Øñ;Ø$.ð;Ø7AÀJÑ7Nð;ñ ;ð ;ñ *Ô)ñ;ð/Øð/à	ñ/ð ð/ð ˜
Ñ"ñ	/ð ð/ñ /ð /ñ /ðd €�„ð ðð ð Øðà	ñð ñð ð	ð ðñ ð ñ „ñð" Ð˜Õ)Ñ*Ô*Ø€�„ðK�Jð K Sñ K°ð Kñ Kð Kñ „ñ +Ô*ñKð" Ð˜�Õ)Ñ*Ô*ñð ˆ~ð  H¨t¡Oð ¸~ð ñ ð ñ +Ô*ñðB Ð˜Õ-Ñ.Ô.à56ñð Ø
ñØ# CœyðØ/2ðà	ˆ&„\ðñ ð ñ /Ô.ñðD ñDFð DFØñDFà (Ñ*ðDFð 
ðDFð ˆ>˜3ÐÔð	DFñ DFð DFñ DFðP(-Øñ(-Ø,4ð(-à
ˆ>˜3ÐÔð(-ñ (-ð (-ñ (-ðX&+Øñ&+Ø,4ð&+à
ˆ>˜3ÐÔð&+ñ &+ð &+ñ &+ðR Ð˜�	�Ñ&Ô&Ø€�„ð ñ1ð 1Ø
ñ1àð1ð ð1ñ 1ð 1ñ „ñ 'Ô&ñ1ð Ð˜Õ-Ñ.Ô.Ø€�„ð ØØñð Øñà	ñð ñð ñ	ð
 ðð ðñ ð ñ „ñ /Ô.ñð0 Ð˜�Ñ&Ô&ð ØØñ	#ð #Ø
ñ#àñ#ð ñ#ð ð	#ð
 ð#ñ #ð #ñ 'Ô&ñ#ðL Ð˜�Ñ(Ô(Ø€�„ð ØØñ	53ñ 53Øñ53àñ53ð ñ53ð ð	53ð
 ð53ñ 53ð 53ñ „ñ )Ô(ñ53ðp Ð˜�Ñ(Ô(Ø€�„ñ!$ $ ~Ô"6ð !$¸>ð !$ñ !$ð !$ñ „ñ )Ô(ñ!$ñH)˜˜nÔ-ð )°.ð )ñ )ð )ñ )ð(ˆnñ (¨ð (Ð5Gð (ñ (ð (ñ (ð Ð˜�œÑ'Ô'ð9ˆð 9ñ 9ð 9ñ (Ô'ñ9ð$	ˆð 	˜Nð 	ñ 	ð 	ñ 	ð Ð˜�
Ñ#Ô#ðˆ^ð  ð ñ ð ñ $Ô#ñð Ð˜�Ñ'Ô'ð	*�ñ 	* sñ 	*°#ð 	*¸.ð 	*ñ 	*ð 	*ñ (Ô'ñ	*ñ �	ð Ð˜�Ñ$Ô$ð+Ø
ñ+Ø%(ñ+Ø03ñ+Ø;>ð+àð+ñ +ð +ñ %Ô$ñ+ð Ð˜Õ(Ñ)Ô)Ø€�„ð�nñ °ñ ¸Cñ Àsð ñ ð ñ „ñ *Ô)ñð !%Øð9ð 9ð 9ð ð9ð 
ð	9ð Œ;˜Ñð9ð 
�$‰ð9ð ð9ñ 9ð 9ñ 9ð0 Ð˜�Ñ$Ô$ð
 !%ØðTð Tð TØðTà	ðTð Œ;˜Ñð	Tð
 
�$‰ðTð ðTñ Tð Tñ %Ô$ñTð Ð˜�Ñ%Ô%ð
 !%ØðUð Uð UØðUà	ðUð Œ;˜Ñð	Uð
 
�$‰ðUð ðUñ Uð Uñ &Ô%ñUð Ð˜�Ñ'Ô'ð3�ð 3 cð 3¨nð 3ñ 3ð 3ñ (Ô'ñ3ð Ð˜�	Ô)Ñ*Ô*ð=ˆNñ = I°°iÔ0@Ñ$@ð =À^ð =ñ =ð =ñ +Ô*ñ=ð*#�.ð #¨ð #¸Nð #ñ #ð #ñ #ð
ˆ^ð  ð ñ ð ñ ð €�„à>Bñ%Dð %DØ„|ñ%DØ#œlð%DØ14°t±ð%Dà
„\ð%Dñ %Dð %Dñ „ñ%DðP €�„ð !%Ø �=Ø$(ØØØ).Õ)@ñ%ð %ð %àŒ;˜Ñð%ð ŒLð%ð ˜TÑ!ñ	%ð
 ð%ð ð%ð Ô&ð%ð ð%ñ %ð %ñ „ñ%ðP €�„ð !%Ø �=Ø$(ØØðð ð Œ;˜Ñðð ŒLð	ð
 ˜TÑ!ñð ðð ðð ðñ ð ñ „ñð$ Ð˜�Ñ'Ô'Ø€�„ð
 !%Ø"&Ø$(Øñð ð Øñà
ðð Œ;˜Ñð	ð
 ŒL˜4Ñðð ˜TÑ!ðð ðð ðñ ð ñ „ñ (Ô'ñð, Ð˜Õ.Ñ/Ô/Ø€�„ð !%Ø"&Ø$(Øñð ð Øñà
ñð ðð
 Œ;˜Ñðð ŒL˜4Ñðð ˜TÑ!ðð ðð ðñ ð ñ „ñ 0Ô/ñð8 Ð˜�
Ô*Ñ+Ô+Ø€�„ð !%Ø �=Ø$(ØØñð ð àŒ;˜Ñðð ŒLðð ˜TÑ!ð	ð
 ñð ðð ðñ ð ñ „ñ ,Ô+ñð0 Ð˜�Ñ'Ô'Ø€�„ð
 !%Ø"&Ø$(ØØñð ð Øñà
ðð Œ;˜Ñð	ð
 ŒL˜4Ñðð ˜TÑ!ðð ñð ðð ðñ ð ñ „ñ (Ô'ñð2 Ð˜�	Ô)Ñ*Ô*Ø€�„ð !%Ø �=Ø$(ØØñð ð àŒ;˜Ñðð ŒLðð ˜TÑ!ð	ð
 ñð ðð ðñ ð ñ „ñ +Ô*ñð0 Ð˜�Ñ&Ô&Ø€�„ð
 !%Ø"&Ø$(ØØñð ð Øñà
ðð Œ;˜Ñð	ð
 ŒL˜4Ñðð ˜TÑ!ðð ñð ðð ðñ ð ñ „ñ 'Ô&ñð2 Ð˜�Ñ&Ô&Ø€�„ð !%Ø"&Ø$(Øñð ð Øñà
ñð ðð
 Œ;˜Ñðð ŒL˜4Ñðð ˜TÑ!ðð ðð ðñ ð ñ „ñ 'Ô&ñð0 ……×Ó˜Õ=Ñ>Ô>ð 15ññ Ø
ðà	ðð Ô&¨Ñ-ðð ð	ñ ð ñ ?Ô>ñð Ð˜�Ñ(Ô(Ø€�„ð !%Ø$(Ø"&ØØØ).Ô)>ñ&ð &ð &Øð&ð Œ;˜Ñð&ð ˜TÑ!ð	&ð
 ŒL˜4Ñð&ð ñ&ð ð&ð Ô&ð&ð ð&ñ &ð &ñ „ñ )Ô(ñ&ðR Ð˜�Õ/°µÕ1FÐGÑHÔHØ€�„àØ!Øñdð
 !%Ø �=Ø$(ØØñdð dñ dØñdà	�dÑ	ñdð ðdð
 Œ;˜Ñðdð ŒLðdð ˜TÑ!ðdð ñdð ðdð ðdñ dð dñ „ñ IÔHñdðN Ð˜�	Ñ"Ô"Ø€�„Ø#Ð#Ù2Ø7Ô?ðñ ô ñ8�ñ 8˜Vñ 8¨V°jÑ-@ð 8ñ 8ð 8ñ	ô ñ „ñ #Ô"ñ8ð4 Ð˜�Ñ&Ô&Ø€�„ð !%Ø$(Ø �=ØØñX/ð X/ñ X/Ø˜Ñ&ñX/à	�nÑ	$ñX/ð ðX/ð
 Œ;˜ÑðX/ð ˜TÑ!ðX/ð ŒLðX/ð ñX/ð ðX/ð ðX/ñ X/ð X/ñ „ñ 'Ô&ñX/ðv Ð˜�Ñ&Ô&Ø€�„ð
 ñ	9@ð !%Ø$(Ø �=ØØñ9@ð 9@ñ 9@Ø˜Ñ&ñ9@à	�nÑ	$ñ9@ð ñ9@ð ð	9@ð Œ;˜Ñð9@ð ˜TÑ!ð9@ð ŒLð9@ð ñ9@ð ð9@ð ð9@ñ 9@ð 9@ñ „ñ 'Ô&ñ9@ðx 
ñ	�h˜~Ô.ñ 	¸#ð 	ñ 	ð 	ñ 
„ñ	ð 
ñ	�~ñ 	°ð 	ñ 	ð 	ñ 
„ñ	ð Ð˜�Ñ&Ô&ñCØ˜t NÔ3Ñ3°e¸NÔ6KÑKñCàðCð 
ˆ.ÔðCñ Cð Cñ 'Ô&ñCðN;Øñ;àÐ"Ñ"ñ;ð Ð'Ñ'ð;ð ð	;ñ ;ð ;ñ ;ð~ Ð˜Õ*Ñ+Ô+Ø€�„ð
 !%Ø$(Ø �=ØØñð ñ Ø�u˜YÔ'Ñ'ñàðð Œ;˜Ñð	ð
 ˜TÑ!ðð ŒLñð ðð ðð ðñ ð ñ „ñ ,Ô+ññ6 #ð ¨%¬+ð ñ ð ñ ð Ð˜�Ñ!Ô!Ø€�„ð ñ%)ð !%Ø �=Ø$(ØØñ%)ð %)ñ %)Ø
ñ%)à
ˆT�zð%)ð Œ;˜Ñð	%)ð
 ŒLð%)ð ˜TÑ!ð%)ð ñ%)ð ð%)ð ð%)ñ %)ð %)ñ „ñ "Ô!ñ%)ðV Ð˜�Ô*¨D­I­MÐ:Ñ;Ô;Ø€�„ð
 !%Ø �=Ø$(ØØñ%ð %ñ %Øñ%àð%ð Œ;˜Ñð	%ð
 ŒLð%ð ˜TÑ!ð%ð ñ%ð ð%ð ð%ñ %ð %ñ „ñ <Ô;ñ%ð> !%Ø"&Ø$(ØØØ).Ô)>ñð ð Øñàðð Œ;˜Ñð	ð
 ŒL˜4Ñðð ˜TÑ!ðð ñð ðð Ô&ðð ðñ ð ñ ð. Ð˜�Ñ(Ô(Ø€�„ð !%Ø"&Ø$(ØØØ).Ô)>ñð ð Øðð Œ;˜Ñðð ŒL˜4Ñð	ð
 ˜TÑ!ðð ñð ðð Ô&ðð ðñ ð ñ „ñ )Ô(ñð, Ð˜�Ñ'Ô'Ø€�„ð !%Ø"&Ø$(ØØØ).Ô)>ñð ð Øðð Œ;˜Ñðð ŒL˜4Ñð	ð
 ˜TÑ!ðð ñð ðð Ô&ðð ðñ ð ñ „ñ (Ô'ñð, Ð˜�
Ô*Ñ+Ô+Ø€�„ð !%Ø$(Ø"&ØØñð ð àŒ;˜Ñðð ˜TÑ!ðð ŒL˜4Ññ	ð
 ðð ðð ðñ ð ñ „ñ ,Ô+ñð8 !%Ø �=Ø$(Øñ>ð >ð >Øð>ð Œ;˜Ñð>ð ŒLð	>ð
 ˜TÑ!ð>ð ð>ð ð>ñ >ð >ñ >ð, "Ø"ññ Øñà	�‰�eÑ	ñð �‰*�uÑ
ñð
 ðð Œ;ðð ðð ðñ ð ñ ð6 Ð˜Õ(Ñ)Ô)Ø€�„ð*�>ñ *¨ð *Ð@Vð *ñ *ð *ñ „ñ *Ô)ñ*ðZ Ð˜Õ)Ñ*Ô*ðØñØ+ðØ4Jðàðñ ð ñ +Ô*ñð ØØñð Øðàðð ðð ð	ð
 ðð 
ðñ ð ñ ð"ˆ^ð  ð °4ð ñ ð ñ ð& Ð˜�	Ñ"Ô"Ø€˜ÐÑÔð "ØØñ	Mð !%ñMð Mð MØñMàˆs�{�TÑðMð 
�D‰ðMð ð	Mð Œ;˜ÑðMð ðMñ Mð Mñ Ôñ #Ô"ñMð2 Ð˜�
Ñ#Ô#Ø€�„ð*�ð * >ð *ñ *ð *ñ „ñ $Ô#ñ*ñð ñ ð Ñ˜[Ñ)Ô)�ØÑ˜lÑ+Ô+�	ØÑ˜ÑÔ�ð Ð˜�	Ñ"Ô"Ø€�„ñ3ð 3ˆNñ 3 cð 3°.ð 3ñ 3ð 3ñ „ñ #Ô"ñ3ð Ð˜�	Ñ"Ô"Ø€�„ñ3ð 3ˆNñ 3 cð 3°.ð 3ñ 3ð 3ñ „ñ #Ô"ñ3ñ(7˜ñ 7 3ñ 7°ð 7¸¸cÀ3È¸mÔ8Lð 7ñ 7ð 7ñ 7ð$Ø
ñà	ñð 
ðð Œ;ð	ð
 ŒLðð ðñ ð ñ ð" Ð˜Õ)Ñ*Ô*Ø€�„ð ñ"ð
 �Ø �=Ù"Øñ"ð "ñ "Ø	ñ"à	ñ"ð ð"ð
 Œ;ð"ð ŒLð"ð ð"ð ð"ð ð"ñ "ð "ñ „ñ +Ô*ñ"ñR7˜ñ 7 3ñ 7°ð 7¸¸cÀ3È¸mÔ8Lð 7ñ 7ð 7ñ 7ð" Ð˜Õ)Ñ*Ô*Ø€�„ð ñ&ð
 �Ø �=Ù"Øñ&ð &ñ &Ø	ñ&à	ñ&ð ð&ð
 Œ;ð&ð ŒLð&ð ð&ð ð&ð ð&ñ &ð &ñ „ñ +Ô*ñ&ðR Ð˜�Ñ'Ô'Ø€˜ÐÑÔð
 Øñ7%ð 7%ð 7%Øñ7%àñ7%ð ñ	7%ð
 ð7%ñ 7%ð 7%ñ Ôñ (Ô'ñ7%ðt Ð˜�Ñ$Ô$Ø€�„Ø#Ð#Ø!Ø7Ô?ðñ ô ñOñ Oð Oñ	ô ñ „ñ %Ô$ñOð" Ð˜Õ(Ñ)Ô)Ø€�„Ø#Ð#Ø!Ø7Ô?ðñ ô ñ#ñ #ð #ñ	ô ñ „ñ *Ô)ñ#ð8 Ð˜�Ñ'Ô'Ø€�„Ø#Ð#Ø!Ø7Ô?ðñ ô ñQñ Qð Qñ	ô ñ „ñ (Ô'ñQð  Ð˜�Ñ(Ô(Ø€�„Ø#Ð#Ø!Ø7Ô?ðñ ô ñ:ñ :ð :ñ	ô ñ „ñ )Ô(ñ:ð$ Ð˜�Ñ$Ô$Ø€�„Ø#Ð#ñð 8Ô?ðñ ô ð 
Ø	Ø	ñ2'ð
 Ø
ØØØñ2'ð 2'ñ 2'ð 2'ñô ñ „ñ %Ô$ñ2'ðj Ð˜�Ñ%Ô%ñH¨dñ Hð Hñ Hð Hñ &Ô%ñHð #Ð"Ð#BÔ#OÑPÔPð�.ð ñ ð ñ QÔPñð #Ð"Ð#BÔ#OÑPÔPð�.ð ñ ð ñ QÔPñð Ð˜Õ*Ñ+Ô+Ø€�„ñ ð  ˜X¨™_ð  ñ  ð  ñ „ñ ,Ô+ñ ñ=ð =ñ =ñ*ð ñ ð Ð˜�Ñ!Ô!Ø€˜ÐÑÔÙØ#Ð#Ù)Ø7Ô?ðñ ô ñ
 ð 
 ñ	ô ñ Ôñ Ôñ "Ô!ñ
 ð Ð˜�	Ñ"Ô"Ø€˜ÐÑÔÙØ#Ð#Ù)Ø7Ô?ðñ ô ñ0ð 0ñ	ô ñ Ôñ Ôñ #Ô"ñ0ð  Ð˜Õ+Ñ,Ô,Ø€�„ð%�nñ %¨>ð %Àñ %ÈCð %ñ %ð %ñ „ñ -Ô,ñ%ð €}�SÑÔ�Øˆ�dÑÔ�Ø	ˆ�uÑ	Ô	�Ø€}�SÑÔ�Øˆ=˜Ñ!Ô!�Øˆ=˜Ñ!Ô!�Øˆ�dÑÔ�Ø	ˆ�uÑ	Ô	�Øˆ�dÑÔ�Ø	ˆ�uÑ	Ô	�Ø	ˆ�uÑ	Ô	�Øˆ}˜[Ñ)Ô)�Ø#�mÐ$6Ñ7Ô7Ñ Øˆ}˜[Ñ)Ô)�Øˆm˜JÑ'Ô'�Ø$�}Ð%8Ñ9Ô9Ñ Øˆ}˜[Ñ)Ô)�Øˆ�dÑÔ�Ø	ˆ�uÑ	Ô	�Øˆ]˜9Ñ%Ô%�
Øˆ]˜9Ñ%Ô%�
Ø�˜}Ñ-Ô-�ØˆM˜(Ñ#Ô#�	Ø€}�SÑÔ�Øˆ�dÑÔ�Ø
ˆ-™Ñ
Ô
�Øˆ=™Ñ!Ô!�Øˆ=™Ñ!Ô!�Øˆ=˜Ñ!Ô!�Ø€}�SÑÔ�Ø€m�BÑÔ�Ø€}�SÑÔ�Øˆ�dÑÔ�Ø
ˆ-˜Ñ
Ô
�Ø€}�SÑÔ�Øˆ�dÑÔ�Ø	ˆ�uÑ	Ô	�Øˆ}˜[Ñ)Ô)�Ø	ˆ�uÑ	Ô	�Ø�˜lÑ+Ô+�Øˆ�dÑÔ�Øˆ�dÑÔ�Ø€}�SÑÔ�Ø€m�BÑÔ�Ø€m�BÑÔ�Øˆ]˜9Ñ%Ô%�
Ø	ˆ�uÑ	Ô	�Ø
ˆ-˜Ñ
Ô
�Øˆ=˜Ñ!Ô!�Ø€m�BÑÔ�Ø€}�SÑÔ�Ø€m�BÑÔ�Øˆ‘dÑÔ�Ø
ˆ-˜Ñ
Ô
�Ø	ˆ�uÑ	Ô	�Ø	ˆ�uÑ	Ô	�Øˆ�dÑÔ�Ø€}�SÑÔ�Øˆ}˜[Ñ)Ô)�Øˆ}˜[Ñ)Ô)�Øˆm˜JÑ'Ô'�Øˆ}˜[Ñ)Ô)�Ø€m�BÑÔ�Ø€}�SÑÔ�ØˆM˜(Ñ#Ô#�	Øˆm˜JÑ'Ô'�Ø€m�BÑÔ�Ø€}�SÑÔ�Øˆ]˜9Ñ%Ô%�
Ø€}�SÑÔ�Øˆ=™Ñ!Ô!�Øˆm˜JÑ'Ô'�Øˆ]˜9Ñ%Ô%�
Ø	ˆ�uÑ	Ô	�Ø€}�SÑÔ�Øˆ=˜Ñ!Ô!�Øˆ�dÑÔ�Ø€}�SÑÔ�Øˆ�dÑÔ�Øˆ�dÑÔ�Øˆ�dÑÔ�Ø
ˆ-˜Ñ
Ô
�Ø€}�SÑÔ�Ø€}�SÑÔ�Øˆ�dÑÔ�Øˆ‘dÑÔ�Øˆ‘dÑÔ�Øˆ}˜[Ñ)Ô)�Ø	ˆ�uÑ	Ô	�Ø	ˆ�uÑ	Ô	�Ø
ˆ-™Ñ
Ô
�Øˆ}™[Ñ)Ô)�Øˆ]™9Ñ%Ô%�
Øˆm™JÑ'Ô'�Øˆ�dÑÔ�à!Ð! $¥*Ñ-Ô-�
Ø&Ð& t¥Ñ7Ô7�Ø$Ð$ T¥]Ñ3Ô3�Ø"Ð" 4¥;Ñ/Ô/�ð #Ð" 4¥;Ñ/Ô/�Ø#Ð# D¥LÑ1Ô1�Ø#Ð# D¥LÑ1Ô1�Ø	Ð	˜d�fÑ	%Ô	%�Ø%Ð% d¥nÑ5Ô5�Ø"Ð" 4¥;È4ÑPÑPÔP�Ø%Ð% d¥nÑ5Ô5�Ø Ð  ¥Ñ+Ô+�	ñGð Gñ Gñ
ð ñ ñ4/Ið /Iñ /IñhØ”ñØ"8Ð;MÑ"Mðñ ð ñ ðH ñ?ñ ?ð ?ñ ?ðF  t¸ÈUñ ð ñ ð ñ ðL  Ð Ñ Ð Ø Ð Ñ Ð Ø Ð Ñ Ð Ø  Ð  Ñ  Ð  Ø Ð Ñ Ð Ð Ð r<  