ó
    Eñiú| ã                   ó~k  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJrJ	r	J
r
  S SKJr  S SKJrJrJrJr  S SKJrJrJrJrJr  S SKrS SKJr  S SKJr  S SKJs  J r!  S SKJ"r"J#r#J$r$J%r%  S SKJ&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<  S SK=J>r>J?r?J@r@JArAJBrBJCrC  / S	QrD\RŠ                  rE\RŒ                  RŽ                  rG\R�                  R’                  R”                  rJS
 rKS rLS rMSS.S jrNS SKOJPrP  \Q" 5       rR\RSSS.S\4S jjrSS rTS rU\S" \,R¬                  SS9S 5       rW\S" \,R°                  5      S 5       rY\S" \,R°                  5      S 5       rZ\S" \,R°                  5      S 5       r[\S" \,R°                  5      S 5       r\\S" \,R°                  5      S 5       r]\S" \,R°                  5      S 5       r^\S" \,R¾                  5      S 5       r`\S" \,R¾                  SS9S  5       ra\P" \JRÄ                  5      S!\:4S" j5       rb\P" \JRÆ                  5      \C" 5       S!\:4S# j5       5       rc\S" \,R°                  5      S$ 5       rd\S" \,R°                  5      S% 5       re\S" \,R°                  5      S& 5       rf\S" \,R°                  5      S' 5       rg\S" \,R°                  5      S( 5       rh\S" \,R°                  5      S) 5       ri\S" \,R°                  5      S* 5       rj\S" \,R°                  5      S+ 5       rk\S" \,R°                  5      S, 5       rl\C" 5       \A" S-\,RÚ                  S.9S/\:S0\4S\:4S1 j5       5       rnS/\:S0\4S\:4S2 jro\P" \JRà                  5      \C" 5       S!\:S\:4S3 j5       5       rp\S" \,R¾                  SS9S4 5       rq\S" \,R¾                  SS9S5\:S\:4S6 j5       rrS/\:S\:4S7 jrs\S" \,Rè                  SS89S/\:S\:4S9 j5       ru\S" \,Rè                  5      S/\:S\:4S: j5       rv\S" \,Rè                  SS9S/\:S\:4S; j5       rw\S" \,Rè                  SS9S/\:S\:4S< j5       rx\S" \,Rè                  5      S/\:S\:4S= j5       ry\T" \Rô                  Rö                  S>5      r|\S" \,Rè                  SS89S/\:S\:4S? j5       r}\S" \,R°                  \JRü                  S89S@ 5       r~\S" \,R°                  5      SA 5       r\S" \,R°                  5      SB 5       r€\S" \,R°                  5      SC 5       r�\S" \,R°                  5      SD 5       r‚\S" \,R°                  5      SE 5       rƒ\C" 5        GSîS/\:SF\„SG\\GR
                     S\:4SH jj5       r†\P" \JGR                  5      \C" 5       \A" SI\,R°                  S.9 GSïSJ\:SF\*SK\ˆS\:4SL jj5       5       5       r‡\P" \JGR                  5      \C" 5          GSðS/\:SM\\4   SN\\4   SO\\4   S\:4
SP jj5       5       r‰S/\:4SQ jrŠ\S" \,R¾                  \ŠSR9SS 5       r‹S/\:S\:4ST jrŒS/\:S\:4SU jr�\S" \,R°                  5      SV 5       rŽ\P" \JGR                  5      \C" 5       \A" S-\,R¾                  S.9S SW.S/\:SX\„S\:4SY jj5       5       5       r�\S" \,R°                  5      SZ 5       r�\S" \,R°                  5      S/\:S\:4S[ j5       r‘\S" \,R¾                  SS9S\ 5       r’\S" \,R¾                  SS9S] 5       r“\S" \,Rè                  SS9S^ 5       r”\S" \,R°                  5      S_ 5       r•\S" \,R°                  5      S` 5       r–\S" \,R°                  5      Sa 5       r—\S" \,R°                  5      Sb 5       r˜\S" \,GR2                  SS89S/\:S\:4Sc j5       rš\S" \,R°                  5      Sd 5       r›\S" \,R°                  5      Se 5       rœ\S" \,R¾                  SS9Sf 5       r�SJ\:S\:4Sg jrž\RSSSSSS4S\4Sh jjrŸ\P" \JGR@                  5      \C" 5       \A" Si\,R¾                  S.9SSj.S/\\:\44   Sk\\:\44   Sl\\4   4Sm jj5       5       5       r \Ÿ" \,R°                  SSSn9So 5       r¡\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4Sq j5       r¢\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4Sr j5       r£\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4Ss j5       r¤\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4St j5       r¥\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4Su j5       r¦\Ÿ" \,R°                  SSv9S/\\:\44   Sk\\:\44   4Sw j5       r§\P" \JGRP                  5      \C" 5       SSx.S/\\:\44   Sk\\:\44   Sy\\©   4Sz jj5       5       r¨\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4S{ j5       rª\Ÿ" \,GR2                  Sp9S/\\:\44   Sk\\:\44   S\:4S| j5       r«\C" 5       S/\\:\44   Sk\\:\44   S\E4S} j5       r¬\Ÿ" \RX                  R¾                  SSS~9S/\\:\44   Sk\\:\44   4S j5       r­S/\ESk\ES\E4S€ jr®S/\ESk\ES\E4S� jr¯\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4S‚ j5       r°\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4Sƒ j5       r±\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4S„ j5       r²\P" \JGRf                  5      \C" S…S†5      SJ\:S\´\:\:4   4S‡ j5       5       r³\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4Sˆ j5       rµ\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4S‰ j5       r¶\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4SŠ j5       r·\Ÿ" \,R¾                  SSSn9S!\:S‹\:S\:4SŒ j5       r¸\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4S� j5       r¹\Ÿ" \,R°                  SSSn9S/\:Sk\:S\:4SŽ j5       rº\Ÿ" \,R°                  SSSn9S/\:Sk\:S\:4S� j5       r»S�\©S/\:Sk\:S‘\¼S’\¼SS4S“ jr½   GSñS/\:Sk\:S‘\¼S’\¼S”\ˆS\:4S• jjr¾\Ÿ" \,R¾                  SSSn9S/\:Sk\:4S– j5       r¿\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4S— j5       rÀ\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4S˜ j5       rÁ\Ÿ" \,R¾                  SSSn9S/\:Sk\:S\:4S™ j5       rÂ\Ÿ" \,Rè                  Sp9S/\:Sk\:4Sš j5       rÃ\S" \,Rè                  5      S/\:4S› j5       rÄ\Ÿ" \,Rè                  Sp9S/\:Sk\:4Sœ j5       rÅ\Ÿ" \,Rè                  Sp9S/\:Sk\:4S� j5       rÆ\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4Sž j5       rÇ\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4SŸ j5       rÈ\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4S  j5       rÉ\Ÿ" \,R¾                  SS¡9S/\:Sk\:S\:4S¢ j5       rÊ\Ÿ" \,Rè                  SSv9S/\:Sk\:S\:4S£ j5       rË\Ÿ" \,RÚ                  SSSn9S/\:Sk\:S\:4S¤ j5       rÌ\Ÿ" \,R¾                  Sp9S/\:Sk\:S\:4S¥ j5       rÍ\P" \JGRœ                  5      \C" 5        GSòS/\\:\44   Sk\\:\44   Sl\44S§ jj5       5       rÎ\P" \JGRž                  5      \C" 5       \A" Si\,R¾                  S.9S¦Sj.S/\\:\44   Sk\\:\44   Sl\44S¨ jj5       5       5       rÏ\Ÿ" \,R°                  S©SSSª9S/\:Sk\:S\:4S« j5       rÐ\P" \JGR¢                  5      \C" 5       \A" Si\,R°                  S.9S/\\:\44   Sk\\:\44   4S¬ j5       5       5       rÑ\Ÿ" \RX                  R¾                  SSS­9S/\\:\44   Sk\\:\44   4S® j5       rÒ\P" \JGR¦                  5      \C" 5       \A" S¯\,R°                  S.9S¦S°.SJ\:S±\:S²\:S0\4S\:4
S³ jj5       5       5       rÓ\P" \JGR¨                  5      \C" 5       \A" S¯\,R¾                  S.9S¦S°.SJ\:S±\:S²\:S0\4S\:4
S´ jj5       5       5       rÔ\P" \JGRª                  5      \C" 5       \A" Sµ\,R¾                  S.9  GSóS/\:S¶\\;   S·\\;   S\:4S¸ jj5       5       5       rÕ\P" \JGR¬                  5      \C" 5        GSîSJ\:S¶\\;   S\:4S¹ jj5       5       rÖ\P" \JGR®                  5      \C" 5        GSîSJ\:S·\\;   S\:4Sº jj5       5       r×\P" \JGR°                  GR²                  5      \P" \JGR°                  GR´                  5      \P" \JGR°                  GR¶                  5      \P" \JGR°                  GR¸                  5      \P" \JGR°                  GRº                  5      \C" SS9\A" Si\,RÚ                  S.9  GSóS»\ES/\\;   Sk\\;   4S¼ jj5       5       5       5       5       5       5       rØ\P" \JGR¼                  5      \C" 5       \GR¾                  S½.S/\:S¾\GRÀ                  S\:4S¿ jj5       5       rÞSSÀ.S/\ESk\E4SÁ jjrá\P" \JGRÄ                  5      S/\:S\44SÂ j5       râ       GSôS/\:SÃ\\'   SG\\GR
                     SÄ\\ˆ   SÅ\\GRÆ                     S¾\\GRÀ                     SÆ\\ˆ   SÇ\ˆS\ˆ4SÈ jjrä\SÉ 5       rå\åGRÌ                     GSõSÃ\GRÎ                  SG\GR
                  SÇ\ˆSÄ\ˆS¾\\GRÀ                     S\è\©\4   4SÊ jj5       ré\åGRÌ                     GSõSÃ\©SG\GR
                  SÇ\ˆSÄ\ˆS¾\\GRÀ                     S\è\©\4   4SË jj5       rê\åGRÌ                     GSõSG\GR
                  SÇ\ˆSÄ\ˆS¾\\GRÀ                     S\è\©\4   4
SÌ jj5       rë\åGRÌ                     GSõSÍ\ESÇ\ˆSÄ\ˆS¾\\GRÀ                     S\è\©\4   4
SÎ jj5       rìS/\ESÏ\è4SÐ jríS/\:S\:4SÑ jrîSSSSSSSÒ.S/\:SÓ\SÔ\ˆSÕ\ˆSÖ\\*   S×\ˆSG\\GR
                     SØ\\E   SÙ\6S\:4SÚ jjrïGSïSÛ jrð\P" \JGRâ                  5      \C" 5         GSöS/\:SF\\*   SK\ˆS\:4SÜ jj5       5       rñ\P" \JGRä                  5      \C" 5         GSöS/\:SF\\*   SK\ˆS\:4SÝ jj5       5       rò\P" \JGRæ                  GRè                  \JGRæ                  GRê                  /5        GSöSSSÞ.S/\:SF\\\„   \\ö\„      4   SK\ˆSG\\GR
                     SØ\\E   S\:4Sß jjj5       róS/\ES\E4Sà jr÷\P" \JGRð                  5        GSöSSSÞ.S/\:SF\\\„   \\ö\„      4   SK\ˆSØ\\E   S\:4
Sá jjj5       rø\P" \JGRò                  5        GSöSSâ.S/\:SF\\*   SK\ˆSØ\\E   S\:4
Sã jjj5       rù\P" \JGRô                  5        GSöSSâ.S/\:SF\\*   SK\ˆSØ\\E   S\:4
Sä jjj5       rúGSóSå jrû\P" \JGRø                  5      \C" 5          GS÷SSæ.S/\:SF\\*   Sç\\ˆ   SK\ˆSè\\4   S\:4Sé jjj5       5       rü\P" \JGRú                  5      \C" 5          GS÷SSæ.S/\:SF\\\„   \\ö\„      4   Sç\\ˆ   SK\ˆSè\\4   S\:4Sê jjj5       5       rý\P" \JGRü                  5        GSöSSSÞ.S/\:SF\\*   SK\ˆS\:4Së jjj5       rþ\P" \JGRþ                  5      \C" SìSí5       GSîSSSSî.S/\:SF\\*   Sç\\ˆ   SK\ˆSè\\4   4
Sï jjj5       5       rÿ\P" \JGR                   5      \C" SìSí5         GS÷SSæ.S/\:SF\\*   Sç\\ˆ   SK\ˆSè\\4   4
Sð jjj5       5       Gr \P" \JGR                  5      \C" 5       \A" Sñ\,R¾                  S.9S¦S¦Sò.SJ\:Só\:Sô\:Sõ\4Sl\4S\:4Sö jj5       5       5       GrS÷\\:\
\:   4   Sø\:S\\:\´\:Sù4   4   4Sú jGrSû\SF\„S÷\:S\:4Sü jGrS÷\\:\
\:   4   Sø\:S\\:\´\:Sù4   4   4Sý jGrS÷\\:\
\:   4   Sø\:S\\:\´\:Sù4   4   4Sþ jGr GSîS/\:Sÿ\7GS \8GS\\„   S\:4
GS jjGr\P" \JGR                  5      \C" 5        GSîS!\:GS\:Sÿ\7GS \8GS\\„   S\:4GS jj5       5       GrS\74GS jGr\JGR                  GR                  GR                  \GGR                  5      \JGR                  GR                  GR                  \GGR                  5      S\ö\:   4GS j5       5       Gr	S/\:Sÿ\7S\:4GS jGr\P" \JGR                  5      \C" 5       \A" GS\,RÚ                  S.9GSøGS	\<SF\„S\:4GS
 jj5       5       5       Gr\C" 5       GS	\<S\:4GS j5       GrS!\:S\:4GS jGr\P" \JGR$                  5      \C" 5        GSøS!\:GS\ö\„   S0\4S\:4GS jj5       5       Gr\GR&                  S½.S/\ES¾\GRÀ                  S\E4GS jjGr\C" 5       GS	\<S\:4GS j5       Gr\P" \JGR,                  5      SGS.S/\EGS\ˆS\E4GS jj5       GrS/\ESk\ES\E4GS jGrGSøS/\:GS\„SF\„S\´\:Sù4   4GS jjGrGSùS/\:GS\„GS\„S\:4GS jjGr\P" \JGR4                  5      \C" 5       S/\:SÖ\)S\:4GS j5       5       GrS/\:S\:4GS jGrS/\:S\:4GS jGrS/\:SF\„GS\\„\:4   GS\„S\:4
GS jGrS/\EGS \*GS!\¼S\´\E\E\E4   4GS" jGrS5\:GS#\ö\„   S\:4GS$ jGr\P" \JGR@                  GR                  5      S!\EGS%\\E   GS&\\E   GS'\„GS(\„GS)\„GS*\„GS!\¼S\´\E\E\E4   4GS+ j5       Gr \P" \JGRB                  5      \C" SìSíGS,5      S!\EGS-\7GS%\\E   GS&\\E   GS!\¼S\´\E\E\E4   4GS. j5       5       Gr!\GRD                  GRF                  GRI                  \JGRB                  GR                  5      GS/ 5       Gr%\P" \JGRL                  5      S/\:S\:4GS0 j5       Gr&\P" \JGRN                  5      \C" 5       S!\:GS1\5SF\„GS2\5S\:4
GS3 j5       5       Gr'\JGRP                  GRR                  GR                  \GGR                  5               GSúS!\EGS4\„GS5\\„   GS6\\„   GS7\\E   GS8\ˆGS9\©GS:\ˆGS;\\ˆ   GS<\\ˆ   GS=\\ˆ   S\E4GS> jj5       Gr(\JGRT                  GR                  GR                  \GGR                  5              GSûS!\EGS4\„GS5\\„   GS6\\„   GS7\\E   GS8\ˆGS:\ˆGS;\\ˆ   GS\\„   S\E4GS? jj5       Gr*GS@\7GSA\8GSB\„Sÿ\„GSC\„4
GSD jGr+\P" \JGRX                  5      \C" 5       S/\ES\E4GSE j5       5       Gr,S/\:GSF\ˆS\:4GSG jGr-S/\:GSF\ˆS\:4GSH jGr.S/\:GSI\7S\:4GSJ jGr/SJ\:SÍ\:S\:4GSK jGr0\P" \JGRb                  5      \C" 5       GSüS/\:GSL\*SÖ\*S\:4GSM jj5       5       Gr1\P" \JGRd                  5      \C" 5        GSýS/\:GSO\„SÖ\)S\:4GSP jj5       5       Gr2GS	\<SS4GSQ jGr3\P" \JGRh                  5      \C" 5       GSøGS	\<SF\„S\:4GSR jj5       5       Gr4\C" 5        GSîS/\:SF\„SG\\GR
                     S\:4GSS jj5       Gr5\C" 5       GS	\<S\:4GST j5       Gr6\C" 5       GS	\<S\:4GSU j5       Gr7S/\:SF\„GSV\7S\:4GSW jGr8\P" \JGRr                  5      GSøGSX\:SF\„S\<4GSY jj5       Gr9\C" 5       S5\9SF\„GSZ\9GS[\94GS\ j5       Gr:S5\9SF\„GSZ\9GS[\94GS] jGr;\P" \JGRx                  5      \C" 5       S5\9SF\„GSZ\9S0\\4\94   4GS^ j5       5       Gr<\P" \JGRz                  5      S5\9SF\„GSZ\9S0\\4\94   4GS_ j5       Gr=S5\9SF\„GSZ\9S0\\4\94   GS`\ˆ4
GSa jGr>\C" 5       S¦Sj.S5\9SF\„GSZ\9GS[\9Sl\44
GSb jj5       Gr?\P" \JGR€                  5      \C" 5       S5\9SF\„GSZ\94GSc j5       5       Gr@\P" \JGR‚                  GR„                  5      GSîS/\:SF\\*   S\:4GSd jj5       GrA\P" \JGR†                  5       GSøSJ\EGSe\ö\„   SF\„S\ö\E   4GSf jj5       GrC GSøS/\:GSg\\E\*4   SF\„S\´\:Sù4   4GSh jjGrDS/\:GSg\*S\´\:Sù4   4GSi jGrES/\:GSg\*S\´\:Sù4   4GSj jGrF\P" \JGRŽ                  GR�                  5      \C" 5        GSøSJ\:GSk\„S\:4GSl jj5       5       GrG\P" \JGR’                  5      \C" 5          GSþS!\:GS\:GSk\„GSm\„GSn\„S\:4GSo jj5       5       GrI\P" \JGR”                  5         GSþSJ\:GSk\„GSm\„GSn\„S\:4
GSp jj5       GrJ\P" \JGR–                  5      \C" 5          GSÿGSX\:GSk\„GSm\„GSn\„S\:4
GSq jj5       5       GrK\P" \JGR˜                  5      \C" 5       GS	\ö\:   S\:4GSr j5       5       GrMGS	\ö\:   S\:4GSs jGrLS/\:GSt\*S\<4GSu jGrN\P" \JGRž                  GR                  5      S/\:4GSv j5       GrOS/\:S\:4GSw jGrP\P" \JGR¢                  5      S/\:S\:4GSx j5       GrQ\P" \JGR¤                  5      S/\:GSy\„GSm\„S\:4GSz j5       GrRG\RGrS\P" \JGR¨                  5      SJ\:GSB\„Sÿ\„GSC\„S\:4
GS{ j5       GrT\P" \JGRª                  5      \C" 5       SJ\:GSB\„Sÿ\„GSC\„4GS| j5       5       GrUSSSÞ.S/\:SF\„SG\\GR
                     SØ\\E   S\:4
GS} jjGrV\P" \JGR®                  5      SSSÞ.S/\:SF\„SG\\GR
                     SØ\\E   S\:4
GS~ jj5       GrW\P" \JGR°                  5      SSSÞ.S/\:SF\„SG\\GR
                     SØ\\E   S\:4
GS jj5       GrX\P" \JGR²                  5      S/\:SF\„S\:4GS€ j5       GrY\P" \JGR´                  GR                  5      S/\:GSI\7\´\7   -  S\:4GS� j5       GrZSJ\:SÍ\:S\:4GS‚ jGr[S/\:S\:4GSƒ jGr\\C" 5        GSîS/\RŠ                  GS„\RŠ                  SF\\„   S\RŠ                  4GS… jj5       Gr]\C" 5       S\GR¼                  SSS\GR&                  GS†.SG\\GR
                     SÅ\GRÆ                  SÃ\\'   GS‡\ˆSÆ\ˆS¾\GRÀ                  S\:4GSˆ jj5       Gr_\C" 5       S\GR¼                  SSS4SG\\GR
                     SÅ\GRÆ                  SÃ\\'   GS‡\ˆSÆ\ˆS\:4GS‰ jj5       Gr`\P" \JGRÂ                  5      \C" 5       SSSSGSŠ.S/\:Sÿ\7SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆS\:4GS‹ jj5       5       Gra\P" \JGRÄ                  5      \C" 5       SSSSGSŠ.S/\:Sÿ\7GS \8SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆS\:4GSŒ jj5       5       Grb\P" \JGRÆ                  GR                  5      \C" 5       S\GR¼                  SSSGS�.SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆGS‡\ˆS\:4GSŽ jj5       5       Grc\P" \JGRÈ                  5      \C" 5       SSSSSGS�.S/\:Sÿ\7SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS� jj5       5       Grd\P" \JGRÊ                  GR                  5      \C" 5       S\GR¼                  SSSGS�.SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS� jj5       5       Gre\P" \JGRÌ                  5      \C" 5       SSSSSGS�.S/\:Sÿ\7SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS‘ jj5       5       Grf\P" \JGRÎ                  5      \C" 5       SSSSGSŠ.S/\:Sÿ\7GS’\4SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆS\:4GS“ jj5       5       Grg\JGR¾                  GR�                  GR                  \GGR                  5       GSîSÿ\:SØ\:S¾\\GRÀ                     S\:4GS” jj5       Grh\P" \JGRÒ                  5      \C" 5       SSSSS\GR¾                  GS•.S/\:SG\\GR
                     SÃ\\'   SÅ\\GRÆ                     SÆ\ˆGS‡\ˆS¾\GRÀ                  S\:4GS– jj5       5       Gri\P" \JGRÔ                  GRÖ                  \JGRÔ                  GRØ                  /5      \C" 5          GS S\GR¼                  SSSGS�.GS\4GS—\\4   GSC\4SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS˜ jjj5       5       Grj\P" \JGRÚ                  5      \C" 5       \A" GS™\,R¾                  S.9GS\EGS—\EGS%\\E\44   4GSš j5       5       5       Grm\P" \JGRÜ                  5      \C" 5       SS\GR¼                  SSGS›.GS\\4\:4   GS—\\4\:4   GSœ\4SG\\GR
                     SÃ\\'   SÅ\GRÆ                  SÆ\ˆGS‡\ˆS\:4GS� jj5       5       Grn\P" \JGRÞ                  5      \C" 5        GSSS\GR¼                  SSGS›.GS\\4\:4   GS—\\4\:4   GSœ\4GSž\4SG\\GR
                     SÃ\\'   SÅ\GRÆ                  SÆ\ˆGS‡\ˆS\:4GSŸ jjj5       5       Gro\GS	\
\:   GS \©4GS¡ j5       Grp\GS	\:GS \©4GS¢ j5       Grp\P" \JGRà                  5      GS	\\:\ö\:   \´\:   4   GS \©S\ö\:   4GS£ j5       GrpS!\:GS¤\\„\)4   GS¥\\„\)4   S\:4GS¦ jGrq\P" \JGRä                  5      \C" 5       SS\GR¼                  SSGS§.GSI\\7\´\7   4   GS¨\8SG\\GR
                     SÃ\\'   SÅ\GRÆ                  GS‡\ˆSÆ\ˆS\:4GS© jj5       5       GrrGSª\„S\GR
                  4GS« jGrs\P" \JGRè                  5      \C" 5        GSîS\GR¼                  SSSGS�.GS¬\„GS­\\„   SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS® jjj5       5       Grt\P" \JGRê                  GR                  \JGRê                  GR�                  /5      \C" 5       S\GR¼                  SSSGS�.GSI\7GS’\4SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆGS‡\ˆS\:4GS¯ jj5       5       GruSSSSS\GR¾                  GS°.S/\:GS’\4SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆGS‡\ˆS¾\GRÀ                  S\:4GS± jjGrv\P" \JGRî                  5      \C" 5       SSSSS\GR¾                  GS°.S/\:SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆGS‡\ˆS¾\GRÀ                  S\:4GS² jj5       5       Grw\P" \JGRð                  5      \C" 5       SSSSS\GR¾                  GS°.S/\:SG\\GR
                     SÅ\\GRÆ                     SÃ\\'   SÆ\ˆGS‡\ˆS¾\GRÀ                  S\:4GS³ jj5       5       Grx\P" \JGRò                  GR                  5      \C" 5       SSSSSGS§.SG\\GR
                     SÃ\\'   SÅ\\GRÆ                     GS‡\ˆSÆ\ˆS\:4GS´ jj5       5       GryS\GR¼                  SSGSŠ.S/\4SG\\GR
                     SÅ\GRÆ                  SÃ\\'   SÆ\ˆS\:4GSµ jjGrz  GSGSI\7GS¶\\ˆ\„\¼4   GS·\\ˆ\„\¼4   GS \7SG\GR
                  SÃ\'S\:4GS¸ jjGr{\P" \JGRø                  5      \C" 5       S/\:GS¹\:S0\;4GSº j5       5       Gr|\P" \JGRú                  5      S/\:GS¹\:S0\;S\:4GS» j5       Gr}   GSñS/\:Sk\:S‘\¼S’\¼S”\ˆS\ˆ4GS¼ jjGr~S/\:Sk\:S\ˆ4GS½ jGr\P" \JGR                   5      \C" SS9   GSSGS¾.S!\:GS1\\\¼\©4      SF\\*   SK\ˆSG\\GR
                     S\:4GS¿ jjj5       5       Gr€\P" \JGR                  5      \C" 5       SJ\:S\:4GSÀ j5       5       Gr�GSÁ Gr‚G\‚" \Ð5      GrƒG\‚" \­5      Gr„G\‚" \«5      Gr…\P" \JGR                  5      \C" 5       GSøS/\:GSÂ\„S\:4GSÃ jj5       5       Gr†\P" \JGR                  5      \C" 5       GSøS/\:GSÂ\„S\:4GSÄ jj5       5       Gr‡GSÅ\„GSÆ\„GSk\„S\´\„\„\„4   4GSÇ jGrˆS�\©GSÅ\„GSÆ\„SG\GR
                  SÅ\GRÆ                  SÆ\ˆ4GSÈ jGr‰\P" \JGR                  5      \C" 5        GSø\GR                  \GR¼                  GSÉSGSŠ.GSÅ\„GSÆ\„GSk\„SG\GR
                  SÅ\GRÆ                  SÃ\'SÆ\ˆS\:4GSÊ jjj5       5       GrŠGSÅ\„GSÆ\„GSk\„S\´\„\„\„4   4GSË jGrŒ\P" \JGR                  5      \C" 5        GSø\GR                  \GR¼                  GSÉSGSŠ.GSÅ\„GSÆ\„GSk\„SG\GR
                  SÅ\GRÆ                  SÃ\'SÆ\ˆS\:4GSÌ jjj5       5       Gr�\P" \JGR                  5      \C" SS9SSGSÍ.S/\;GSÎ\:GSÏ\ˆGSÐ\ˆ4GSÑ jj5       5       GrŽ\P" \JGR                  5      \C" 5       \A" SI\,R¾                  S.9GSGSÒ j5       5       5       Gr�\P" \JGR                   5      \C" 5       \A" SI\,R¾                  S.9GSGSÓ j5       5       5       Gr�\P" \JGR"                  5      \C" 5       \A" SI\,R¾                  S.9GSîGSÔ j5       5       5       Gr‘\P" \JGR$                  5      \C" 5       \A" SI\,R¾                  S.9GSGSÕ j5       5       5       Gr’\P" \JGR&                  5      \C" 5       \A" GSÖ\,R¾                  S.9   GSSSSSSGS×.GSØ jj5       5       5       Gr“\P" \JGR(                  5      GSNSGSÙ.GSÚ jj5       Gr”\S" \,R°                  5      SJ\:4GSÛ j5       Gr•\S" \,R°                  5      SJ\:4GSÜ j5       Gr–\P" \JGR.                  5      \C" 5       GSîSF\\*   4GSÝ jj5       5       Gr—GSÞ Gr˜GSß Gr™\P" \JGR4                  5      \C" SS9G\™\A" GSà\,R¾                  S.9GSá 5       5       5       5       Grš\P" \JGR6                  5      \C" SS9G\™\A" GSà\,R¾                  S.9GSâ 5       5       5       5       Gr›\P" \JGR8                  5      \C" 5       S5\:GS\:SF\„GSZ\„4GSã j5       5       Grœ\U" \W5      Gr�\U" \Y5      Grž\U" \Z5      GrŸ\U" \ 5      Gr \U" \Ô5      Gr¡\U" \Ó5      Gr¢\U" \[5      Gr£\U" \\5      Gr¤\U" \]5      Gr¥\U" \^5      Gr¦\U" \¡5      Gr§\U" \¢5      Gr¨\U" \£5      Gr©\U" \`5      Grª\U" \¤5      Gr«\U" \¥5      Gr¬\U" \¦5      Gr­\U" \a5      Gr®\U" \Õ5      Gr¯\U" \Ö5      Gr°\U" \×5      Gr±\U" \c5      Gr²\U" \§5      Gr³\U" \d5      Gr´\U" \e5      Grµ\U" G\W5      Gr¶\U" G\X5      Gr·\U" G\–5      Gr¸\U" \f5      Gr¹\U" \¨5      Grº\U" \ª5      Gr»\U" \g5      Gr¼\U" \i5      Gr½\U" \h5      Gr¾\U" \j5      Gr¿\U" \l5      GrÀ\U" \k5      GrÁ\U" \¬5      GrÂ\U" \q5      GrÃ\U" \­5      GrÄ\U" \²5      GrÅ\U" \r5      GrÆ\U" \µ5      GrÇ\U" \¶5      GrÈ\U" \·5      GrÉ\U" \¸5      GrÊ\U" \¹5      GrË\U" \º5      GrÌ\U" \»5      GrÍ\U" \~5      GrÎ\U" \¿5      GrÏ\U" \À5      GrÐ\U" G\m5      GrÑ\U" \5      GrÒ\U" \ƒ5      GrÓ\U" \�5      GrÔ\U" \‚5      GrÕ\U" \€5      GrÖ\U" \Ã5      Gr×\U" \Ä5      GrØ\U" \Å5      GrÙ\U" \Æ5      GrÚ\U" \Ç5      GrÛ\U" \Ê5      GrÜ\U" \|5      GrÝ\U" \‰5      GrÞ\U" \Ë5      Grß\U" \‹5      Grà\U" \Ì5      Grá\U" \«5      Grâ\U" G\•5      Grã\U" \Ž5      Grä\U" \Í5      Grå\U" \�5      Græ\U" \’5      Grç\U" \‘5      Grè\U" \“5      Gré\U" \•5      Grê\U" \–5      Grë\U" \—5      Grì\U" \˜5      Grí\U" \š5      Grî\U" \Ï5      Grï\U" \›5      Grð\U" \œ5      Grñ\U" G\‡5      Grò\U" G\†5      Gró\U" \Ð5      Grô\U" \�5      Grõ\U" \Ñ5      Grö\U" G\�5      Gr÷\U" G\�5      Grø\U" G\‘5      Grù\U" G\’5      Grú\U" \p5      Grû\ð" \JGR¢                  5      Grü\ð" \JGR                  5      Grý\ð" \JGR”                  5      Grþ\ð" \JGR,                  5      Grÿ\ð" \JGR:                  5      Gr \ð" \JGR‚                  5      Gr\ð" \JGRL                  5      Gr\ð" \JGRž                  5      Gr\ð" \JGR¤                  5      Gr\ð" \JGRr                  SGSä9Gr\ð" \JGR²                  5      Gr\ð" \JGR´                  5      GrGSå GrGSæ Gr	GSç Gr
GSè\GR
                  GSé\\;\<4   4GSê jGr GSïGSë jGrSSSSGSì.GSí jGrS SGKrS SGKrS SGKrS SGKrS SGKrg(  é    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(  Ú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                 ó6   • U S L =(       d    U R                   S:g  $ )NÚhpu©Útype©Údevices    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_refs/__init__.pyÚis_noncontiguous_supportedr:  p  s   € Ø�Tˆ>×1˜VŸ[™[¨EÑ1Ð1ó    c                 ó¤   • S nSSK Jn  U  H!  n[        XC5      (       d  M  UR                  n  O   [	        U5      (       d  UR                  5       nU$ )Nr   )Ú
FakeTensor)Útorch._subclasses.fake_tensorr=  Ú
isinstanceÚfake_devicer:  rØ   )Úinput_tlistÚoutputr8  r=  rý   s        r9  Úhandle_noncontiguous_outputsrC  t  sK   € Ø€FÝ8ãˆÜ�a×$Ó$Ø—]‘]ˆFÙñ ô
 & f×-Ñ-Ø×"Ñ"Ó$ˆà€Mr;  c            	      óŒ  ^	^
^^• SSK JnJnJnJn  [
        R                  R                  R                  R                  n[        S [        S U 5       5       5      n[        U5      S:X  a  g U H$  m[        T[        5      (       a  M  [        ST5      e   S/[!        ["        S U 5       5      -  m
[%        U5       GHƒ  u  m	m['        SS[        T5      -
  S5       GH^  mU" TT   5      (       a)  U" T
T   5      (       a  U" TT   T
T   :H  5      (       a  M<  O¥U(       a†  U" TT   5      (       av  U" T
T   5      (       af  U" TT   5      nU" T
T   5      nUS:X  a"  US:w  a  [
        R(                  " TT   S:H  5        US:X  a"  US:w  a  [
        R(                  " T
T   S:H  5        U" TT   T
T   :H  5      (       a  Mâ  U" T
T   S:H  5      (       a  TT   S:  a  [+        S	5      eTT   T
T'   U" TT   5      (       d  U" TT   S:H  5      (       a  GM7  [
        R(                  " T
T   TT   :H  U	U
UU4S
 j5        GMa     GM†     T
$ )Nr   )Úguard_or_falseÚhas_hintÚis_nested_intÚ	size_hintc              3   óV   #   • U  H  n[        U[        5      (       a  U4OUv •  M!     g 7f©N©r?  r   ©Ú.0Úxs     r9  Ú	<genexpr>Ú$_broadcast_shapes.<locals>.<genexpr>�  s*   é € ð â9ˆAô ˜1œg×&Ñ&ˆ‰¨AÔ-Ú9ùs   ‚')c                 ó
   • U S L$ rJ  © ©rN  s    r9  Ú<lambda>Ú#_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   ó8   #   • U  H  n[        U5      v •  M     g 7frJ  ©Úlen)rM  Úshapes     r9  rO  rP     s   é € Ð4ªV E”S˜—Z�ZªVùó   ‚éÿÿÿÿz9Attempting to broadcast a dimension with negative length!c            
      ó,   >• STT    ST ST  ST ST 3
$ )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ÚidxrZ  s   €€€€r9  rT  rU  Í  s:   ø€ ÐLÈUÐSVÉZÈLÐX\Ð]`Ð\að b5Ø5<°I¸UÀ5À'ð J2Ø2>°ñAr;  )Ú%torch.fx.experimental.symbolic_shapesrE  rF  rG  rH  ÚtorchÚfxÚexperimentalÚ_configÚbacked_size_obliviousÚtupleÚfilterrY  r?  r   ÚRuntimeErrorr   ÚmaxÚ	enumerateÚrangeÚ_checkÚ
ValueError)Ú_shapesrE  rF  rG  rH  Ú	backed_soÚshapesÚaÚbr^  r_  r`  rZ  s            @@@@r9  Ú_broadcast_shapesrt  ƒ  sL  û€ ÷ó ô —‘×%Ñ%×-Ñ-×CÑC€Iäñ äÑ/°Ô9óó €Fô ˆ6ƒ{�aÓØãˆÜ˜%¤×*Ó*ÜØ_Øóð ñ ð 	
ð4äŒsÑ4©VÓ4Ó5ñ46€Lô $ F×+‰ˆ�Ü˜˜R¤# e£*™_¨b×1ˆCá˜U 3™Z×(Ñ(ñ ! ¨cÑ!2×3Ñ3¹Ø˜#‘J ,¨sÑ"3Ñ3÷9ñ 9ñ øö ¡¨%°©*×!5Ñ!5¹(À<ÐPSÑCT×:UÑ:UÙ! %¨¡*Ó-�AÙ! ,¨sÑ"3Ó4�AØ˜A“v ! q£&ÜŸš U¨3¡Z°1¡_Ô5Ø˜A“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÷ôS 2ñ ,ðb Ðr;  T)Úpreserve_cpu_scalar_tensorsc                 ó’   ^ ^^^• [        S U 5       6 mS[        S[        S[        4S jmUU U4S jm[        UU4S jU 5       5      $ )Nc              3   óh   #   • U  H(  n[        U[        5      (       a  UR                  OS v •  M*     g 7frJ  )r?  r'   rZ  ©rM  rý   s     r9  rO  Ú#_maybe_broadcast.<locals>.<genexpr>Ø  s%   é € Ð	GÂ$¸Q”Z ¤:×.Ñ.ˆ!�'Š'°DÔ
8Â$ùs   ‚02rr  rs  Úreturnc                 ó6  • SSK JnJnJn  [	        U 5      [	        U5      :w  a  g[        X5       Hg  u  pVU" XV:g  5      (       a    gU" U" US:H  US:H  5      5      (       a  OU" U" US:H  US:H  5      5      (       a    g[        R                  " XV:H  S 5        Mi     g)Nr   )rE  Úsym_andÚsym_orTrV  c                  ó   • g)NzCsizes assumed to be the same due to unbacked broadcasting semanticsrR  rR  r;  r9  rT  Ú9_maybe_broadcast.<locals>.should_expand.<locals>.<lambda>ö  s   € Ð]r;  F)ra  rE  r|  r}  rY  Úziprb  rm  )rr  rs  rE  r|  r}  rN  Úys          r9  Úshould_expandÚ'_maybe_broadcast.<locals>.should_expandÛ  s˜   € ÷	
ñ 	
ô ˆq‹6”S˜“VÓØä˜–I‰DˆAÙ˜a™f×%Ñ%áñ
 ™g a¨1¡f¨a°1©fÓ5×6Ñ6ØÙ¡ q¨A¡v¨q°A©vÓ 6×7Ñ7áô �LŠLØ‘Ù]öñ ð( r;  c                 óH  >• U c  g [        U [        5      (       a  U $ [        U [        5      (       aO  T(       a  [        R                  " U 5      (       a  U $ T" U R
                  T5      (       a  U R                  T5      $ U $ [        S[        [        U 5      5      -   S-   5      e)Nz#Unexpected type when broadcasting: Ú!)
r?  r!   r'   ÚutilsÚis_cpu_scalar_tensorrZ  rà   ri  Ústrr6  )rN  rZ  r_  ru  r‚  s     €€€r9  Ú__maybe_broadcastÚ+_maybe_broadcast.<locals>.__maybe_broadcastû  s‰   ø€ Ø‰9ØÜ˜œ6×"Ñ"ØˆHÜ˜œ:×&Ñ&Þ*¬u×/IÒ/IÈ!×/LÑ/LØ�á˜QŸW™W l×3Ñ3Ø—x‘x Ó-Ð-àˆHäØ5¼¼DÀ»G»ÑDÀsÑJóð r;  c              3   ó6   >#   • U  H  nT" UT5      v •  M     g 7frJ  rR  )rM  rN  r‰  r_  s     €€r9  rO  ry    s   øé € ÐBºT¸Ñ" 1 l×3Ð3ºTùs   ƒ)rt  r%   Úboolrg  )ru  Úargsr‰  r_  r‚  s   ` @@@r9  Ú_maybe_broadcastrŽ  Õ  sH   û€ ä$Ù	GÁ$Ó	Gð€Lðœð ¤yð ´Tô ÷@ô$ ÕB¹TÓBÓBÐBr;  )Úregister_decompositionF)Úaten_opÚ
extra_metaÚexact_dtyperz  c                ó0   ^ ^^^• S[         4UUUU 4S jjnU$ )NÚprimc                 ó  >^ • [        T 5      [        TS9[        [        STS9S[        S[        4UU 4S jj5       5       5       5       nT[
        L a!  [        R                  " T T R                  5      mTb  [        T5      " U5        U$ )N©r’  ©rr  ©Útype_promoting_argsÚtype_promotion_kindrr  rz  c                 óD   >• Tb  T" U 5        T" U 5      n[        U /U5      $ rJ  )rC  )rr  rB  r‘  r”  s     €€r9  Ú_refÚ>_make_elementwise_unary_reference.<locals>.inner.<locals>._ref&  s*   ø€ ð Ñ%Ù˜1”á˜!“WˆFÜ/°°°VÓ<Ð<r;  )
r
   r0   r/   r.   r(   Úinfer_aten_opr†  Úget_aten_opÚ__name__r�  )r”  rœ  r�  r’  r‘  rš  s   ` €€€€r9  ÚinnerÚ0_make_elementwise_unary_reference.<locals>.inner#  s‰   ù€ ô 
ˆt‹Ü	 Ñ	-Ü	)Ü	+Ø &Ø 3ñ

ð	=”Nð 	=¤~÷ 	=ó	

ó 
*ó 
.ó 
ð	=ð ”mÒ#Ü×'Ò'¨¨d¯m©mÓ<ˆGØÑÜ" 7Ô+¨DÔ1àˆr;  ©r   )rš  r�  r‘  r’  r¡  s   ```` r9  Ú!_make_elementwise_unary_referencer¤    s   û€ ð”H÷ ò ð0 €Lr;  c                 ó‚   ^ • U 4S jnXl         [        R                  " 5       R                  R                  S   Ul        U$ )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                  ó   >• T" U 0 UD6$ rJ  rR  )r�  ÚkwargsÚfns     €r9  Ú_fnÚ_make_alias.<locals>._fnF  s   ø€ Ù�4Ð"˜6Ñ"Ð"r;  r   )r   ÚinspectÚcurrentframeÚf_backÚ	f_globalsÚ
__module__)r¨  Únamer©  s   `  r9  Ú_make_aliasr±  >  s5   ø€ õ#ð „LÜ×)Ò)Ó+×2Ñ2×<Ñ<¸ZÑH€C„NØ€Jr;  c                 óô   ^ • [        T 5      U 4S j5       nT R                   S3nX!l        [        [        [        U5      5      " U5      nSSKJn  U" T 5      R                  nX$;  a  UR                  U5        U$ )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                 ó    >• T" U /UQ7SU 0UD6$ )NÚoutrR  )rr  r�  r§  r¨  s      €r9  r©  Ú_make_inplace.<locals>._fnU  s   ø€ á�!Ð,�dÒ, Ð, VÑ,Ð,r;  Ú_r   )Ú	getmodule)	r
   r   r�  ÚgetattrÚatenr«  r·  Ú__all__Úappend)r¨  r©  Úinplace_namer·  Ú_alls   `    r9  Ú_make_inplacer¾  N  ss   ø€ ô ˆ2ƒYô-ó ð-ð —k‘k�] !Ð$€LØ„LÜ
 ¤¬¨|Ó!<Ô
=¸cÓ
B€Cõ "á�R‹=× Ñ €DØÓØ�‰�LÔ!Ø€Jr;  r–  c                 ó.   • [         R                  " U 5      $ rJ  )Úprimsr1   r—  s    r9  r1   r1   g  s   € ô
 �9Š9�Q‹<Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r2   r—  s    r9  r2   r2   o  ó   € ä�:Š:�a‹=Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r3   r—  s    r9  r3   r3   t  ó   € ä�;Š;�q‹>Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r5   r—  s    r9  r5   r5   y  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r4   r—  s    r9  r4   r4   ~  rÄ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r6   r—  s    r9  r6   r6   ƒ  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r7   r—  s    r9  r7   r7   ˆ  rÄ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r8   r—  s    r9  r8   r8   �  s   € ä×Ò˜QÓÐr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r9   r—  s    r9  r9   r9   ’  ó   € ô
 �:Š:�a‹=Ðr;  Úinputc                 óB   • [         R                  " U R                  5      $ rJ  )r†  Úis_complex_dtypeÚdtype©rÌ  s    r9  r/  r/  š  s   € ä×!Ò! %§+¡+Ó.Ð.r;  c                 ó|   • [         R                  " U R                  5      (       d  U $ [        R                  " U 5      $ rJ  )r†  rÎ  rÏ  rÀ  r:   rÐ  s    r9  r:   r:   Ÿ  s/   € ô ×!Ò! %§+¡+×.Ñ.ØˆÜ×Ò˜uÓ%Ð%r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r;   r—  s    r9  r;   r;   §  ó   € ä�9Š9�Q‹<Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r<   r—  s    r9  r<   r<   ¬  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r?   r—  s    r9  r?   r?   ±  ó   € ä�=Š=˜ÓÐr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r@   r—  s    r9  r@   r@   ¶  rÓ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  Úerf_invr—  s    r9  rA   rA   »  rÖ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rB   r—  s    r9  rB   rB   À  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rC   r—  s    r9  rC   rC   Å  rÓ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rD   r—  s    r9  rD   rD   Ê  rÄ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rF   r—  s    r9  rF   rF   Ï  rÂ  r;  r—  r˜  rr  Úvaluec                 ó¢  • [        U [        5      (       d  [        S[        U 5       35      e[        U[        5      (       d  [        S[        U5       35      e[
        R                  " U R                  5      n[
        R                  " [        U5      U5      (       d  S[        U5       SU S3n[        U5      e[        R                  " X5      $ )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'   ÚAssertionErrorr6  r!   r†  r   rÏ  r    rn  rÀ  rG   )rr  rÞ  Úpython_typeÚmsgs       r9  rG   rG   Ö  s¬   € ô �aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDÜ�eœV×$Ñ$ÜÐ9¼$¸u»+¸ÐGÓHÐHä×%Ò% a§g¡gÓ.€KÜ×&Ò&¤t¨E£{°K×@Ñ@Ø'¬¨U« }Ð4SÐT_ÐS`Ð`aÐbˆÜ˜‹oÐä�:Š:�aÓÐr;  c                 ó^   • [         R                  " X5      n[         R                  " X5        U $ rJ  )rÀ  rG   r³   )rr  rÞ  Úrs      r9  rH   rH   é  s!   € Ü�
Š
�1Ó€AÜ	‡M‚M�!ÔØ€Hr;  c                 ó.   • [         R                  " U 5      $ rJ  )rb  r+  rÐ  s    r9  r)  r)  ï  s   € ô ×Ò˜EÓ"Ð"r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rI   r—  s    r9  rI   rI   õ  ó   € ô
 �;Š;�q‹>Ðr;  rN  c                 óÔ   • [         R                  " [         R                  " [         R                  " U 5      5      [         R                  " U 5      5      n[         R
                  " X5      $ rJ  )rb  rž   rI   r1   rl   r¨   )rN  Útrunc_xs     r9  rJ   rJ   ý  s<   € ô
 �iŠiœŸš¤E§I¢I¨a£LÓ1´5·:²:¸a³=ÓA€GÜ�9Š9�QÓ Ð r;  c                 óò   • [        U [        5      (       d  [        S[        U 5       35      e[        R
                  " [        R                  " U R                  5      S 5        [        R                  " U 5      $ )Nrà  c                  ó   • g)Nz#imag only supports complex tensors.rR  rR  r;  r9  rT  Úimag.<locals>.<lambda>  s   € Ð1Vr;  )r?  r'   rã  r6  rb  rm  r†  rÎ  rÏ  rÀ  r�   r—  s    r9  r�   r�     sW   € Ü�aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDÜ	‡L‚LÜ×Ò˜qŸw™wÓ'Ñ)Vôô �:Š:�a‹=Ðr;  )r�  c                 óò   • [         R                  " U R                  5      (       d%  [         R                  " U R                  5      (       a  [        R
                  " U 5      $ [        U [        R                  S9$ )N©rÏ  )	r†  Úis_float_dtyperÏ  rÎ  rÀ  rR   r&  rb  rŒ  r—  s    r9  rR   rR     sM   € ô
 ×Ò˜AŸG™G×$Ñ$¬×(>Ò(>¸q¿w¹w×(GÑ(GÜ�~Š~˜aÓ Ð ä�QœeŸj™jÑ)Ð)r;  c                 óÂ  • [         R                  " U R                  5      (       aQ  [        R                  " [        [        R                  " U 5      5      [        [        R                  " U 5      5      5      $ [         R                  " U R                  5      (       a"  [        R                  " U 5      [        S5      :H  $ [        R                  " U [        R                  S9$ )NÚinfrñ  )r†  rÎ  rÏ  rb  r˜   rS   r¢   r�   rò  r1   Úfloatr+  rŒ  r—  s    r9  rS   rS     s‡   € ä×Ò˜aŸg™g×&Ñ&Ü×Ò¤¤e§j¢j°£mÓ 4´e¼E¿JºJÀq»MÓ6JÓKÐKÜ×Ò˜AŸG™G×$Ñ$Ü�yŠy˜‹|œu U›|Ñ+Ð+Ü×Ò˜A¤U§Z¡ZÑ0Ð0r;  c                 ó,  ^ • [         R                  " [        R                  " T R                  5      (       + U 4S j5        [        R
                  " T R                  5      (       a  T [        S5      :H  $ [         R                  " T [         R                  S9$ )Nc                  ó"   >• ST R                    3$ )Nz7Complex dtype is not supported for isposinf, got dtype rñ  r—  s   €r9  rT  Úisposinf.<locals>.<lambda>+  ó   ø€ ÐIÈ!Ï'É'ÈÑSr;  rô  rñ  ©	rb  rm  r†  rÎ  rÏ  rò  rõ  r+  rŒ  r—  s   `r9  rT   rT   $  sf   ø€ ô
 
‡L‚LÜ×"Ò" 1§7¡7Ó+Ô+ÜSôô ×Ò˜AŸG™G×$Ñ$Ø”E˜%“LÑ Ð Ü×Ò˜A¤U§Z¡ZÑ0Ð0r;  c                 ó,  ^ • [         R                  " [        R                  " T R                  5      (       + U 4S j5        [        R
                  " T R                  5      (       a  T [        S5      :H  $ [         R                  " T [         R                  S9$ )Nc                  ó"   >• ST R                    3$ )Nz7Complex dtype is not supported for isneginf, got dtype rñ  r—  s   €r9  rT  Úisneginf.<locals>.<lambda>9  rù  r;  z-infrñ  rú  r—  s   `r9  rU   rU   2  sf   ø€ ô
 
‡L‚LÜ×"Ò" 1§7¡7Ó+Ô+ÜSôô ×Ò˜AŸG™G×$Ñ$Ø”E˜&“MÑ!Ð!Ü×Ò˜A¤U§Z¡ZÑ0Ð0r;  c                 ó.   • [         R                  " X 5      $ rJ  ©rÀ  rŸ   r—  s    r9  rV   rV   @  s   € ä�8Š8�A‹>Ðr;  ra   c                 óÄ   • [         R                  " U R                  5      (       a  [        R                  " U 5      S:H  $ [        R
                  " U [        R                  S9$ )Nr   rñ  )r†  rÎ  rÏ  rb  r�   r&  rŒ  r—  s    r9  rW   rW   I  sA   € ô
 ×Ò˜aŸg™g×&Ñ&Ü�zŠz˜!‹} Ñ!Ð!Ü�?Š?˜1¤E§J¡JÑ/Ð/r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  Ú	bessel_i0r—  s    r9  rX   rX   T  s   € ô �?Š?˜1ÓÐr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rZ   r—  s    r9  rZ   rZ   [  s   € ä�<Š<˜‹?Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r[   r—  s    r9  r[   r[   `  rÓ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r\   r—  s    r9  r\   r\   e  rÄ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r]   r—  s    r9  r]   r]   j  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r^   r—  s    r9  r^   r^   o  rÄ  r;  ÚdimrÏ  c           	      óœ   • U=(       d    U R                   n[        R                  " U5      n[        X5      n[        U[	        XQSS9-
  U5      $ )NT©Úkeepdim)rÏ  r†  Úget_computation_dtyper+   rš   )rr  r  rÏ  Úresult_dtypeÚcomputation_dtypeÚa_s         r9  r`   r`   u  sF   € ð ×#˜AŸG™G€LÜ×3Ò3°LÓAÐÜ	  Ó	6€BÜ" 2¬	°"À4Ñ(HÑ#HÈ,ÓWÐWr;  ©Úselfr  r  c                 óX  • [        U[        5      (       d  U4nU R                  5       S:X  a9  [        R                  " [        R
                  " U 5      X5      R                  5       $ [        R                  " [        R                  " U 5      USS9n[        R                  " X3R                  5       [        S5      :H  S5      nU(       a  UO[        R                  " X15      n[        R                  " [        R
                  " X-
  5      X5      nUR                  5       R                  U5      $ )Nr   Tr
  rô  )r?  r   Únumelrb  rÁ   rC   r[   r·   r¢   r¯   r1   rõ  rû   rx   )r  r  r  ÚmaxesÚmaxes_squeezedÚresults         r9  rš   rš   �  sÈ   € ô �cœ8×$Ñ$ØˆfˆØ‡z�zƒ|�qÓÜ�yŠyœŸš 4›¨#Ó7×;Ñ;Ó=Ð=ä�JŠJ”u—z’z $Ó'¨°dÑ;€EÜ×Ò˜e§Y¡Y£[´E¸%³LÑ%@À!ÓD€Eæ%‘U¬5¯=ª=¸Ó+D€Nä�YŠY”u—y’y ¡Ó.°Ó=€FØ�:‰:‹<×Ñ˜NÓ+Ð+r;  ÚnanÚposinfÚneginfc                 óÒ  • [        U [        5      (       d  [        S[        U 5       35      e[        R
                  " U R                  5      (       d%  [        R                  " U R                  5      (       a  U R                  5       $ Uc  SnUc*  [        R                  " U R                  5      R                  nUc*  [        R                  " U R                  5      R                  n[        R                  " [        R                  " U 5      X5      n[        R                  " [        R                  " U 5      X45      n[        R                  " [        R                   " U 5      X$5      nU$ )Nrà  ç        )r?  r'   rã  r6  r†  Úis_boolean_dtyperÏ  Úis_integer_dtyper²   rb  Úfinforj  Úminr±   rV   rU   rT   )rr  r  r  r  r  s        r9  rd   rd   ˜  sð   € ô �aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDä×Ò˜aŸg™g×&Ñ&¬%×*@Ò*@ÀÇÁ×*IÑ*IØ�w‰w‹yÐà
�{Øˆà�~Ü—’˜QŸW™WÓ%×)Ñ)ˆà�~Ü—’˜QŸW™WÓ%×)Ñ)ˆä�[Š[œŸš Q›¨Ó0€FÜ�[Š[œŸš¨Ó*¨FÓ;€FÜ�[Š[œŸš¨Ó*¨FÓ;€FØ€Mr;  c                 óh   • [         R                  " U R                  [         R                  LS 5        g )Nc                  ó   • g)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;  r9  rT  Ú_neg_meta.<locals>.<lambda>¸  s   € ð r;  )rb  rm  rÏ  rŒ  r—  s    r9  Ú	_neg_metar#  µ  s#   € Ü	‡L‚LØ	�‰”u—z‘zÐ!ñ	
õr;  )r‘  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  re   r—  s    r9  re   re   À  s   € ô �9Š9�Q‹<Ðr;  c                 ó²   • [        U [        5      (       d  [        S[        U 5       35      eU R                  [
        R                  L a  Sn[        U5      eU $ )Nrà  z'positive does not support bool tensors.)r?  r'   rã  r6  rÏ  rb  rŒ  ri  )rr  rå  s     r9  rf   rf   É  sK   € Ü�aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDØ‡w�w”%—*‘*ÒØ7ˆÜ˜3ÓÐØ€Hr;  c                 óÔ   • [        U [        5      (       d  [        S[        U 5       35      e[        R
                  " U R                  5      (       a  [        R                  " U 5      $ U $ )Nrà  )	r?  r'   rã  r6  r†  rÎ  rÏ  rÀ  r¢   r—  s    r9  r¢   r¢   Ó  sN   € Ü�aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDÜ×Ò˜aŸg™g×&Ñ&Ü�zŠz˜!‹}ÐØ€Hr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rh   r—  s    r9  rh   rh   Û  s   € ä×Ò˜AÓÐr;  )Údecimalsr(  c                óÎ   • US:X  a  [         R                  " U 5      $ SU-  nSU* -  n[         R                  " [         R                  " [         R                  " X5      5      U5      $ )Nr   é
   )rÀ  ri   rž   )rr  r(  Úten_powÚten_neg_pows       r9  ri   ri   à  sQ   € ð �1ƒ}Ü�{Š{˜1‹~Ðà�h‘,ˆØ˜h˜YÑ'ˆÜ�yŠyœŸš¤U§Y¢Y¨qÓ%:Ó;¸[ÓIÐIr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r÷   r—  s    r9  r÷   r÷   ï  rÄ  r;  c                 óR   • [        S[        S[        [        U 5      5      5      5      $ ©NrV  )r©   rx   rC   re   r—  s    r9  rj   rj   ô  s   € ä�qœ#˜a¤¤S¨£V£Ó-Ó.Ð.r;  c                 óÆ   • [         R                  " U R                  5      (       a-  U R                  5       n[        R
                  " US:H  SX-  5      $ U R                  5       $ ©Nr   )r†  rÎ  rÏ  r1   rb  r±   rl   )rr  Úa_abss     r9  rk   rk   ù  sH   € ô
 ×Ò˜aŸg™g×&Ñ&Ø—‘“ˆÜ�{Š{˜5 A™: q¨!©)Ó4Ð4à�v‰v‹xˆr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rl   r—  s    r9  rl   rl     rË  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rm   r—  s    r9  rm   rm     s   € ô
 �=Š=˜ÓÐr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rn   r—  s    r9  rn   rn     rÓ  r;  c                 óŒ   • [         R                  U -  n [        R                  " U S:H  S[        R                  " U 5      U -  5      $ ©Nr   rV  )ÚmathÚpirb  r±   rn   r—  s    r9  ro   ro     s3   € ä�‰�!‰€AÜ�;Š;�q˜A‘v˜q¤%§)¢)¨A£,°Ñ"2Ó3Ð3r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rp   r—  s    r9  rp   rp   "  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rr   r—  s    r9  rr   rr   '  rÂ  r;  c                 ó   • [        X 5      $ rJ  )rž   r—  s    r9  rs   rs   ,  s   € ô
 ˆq‹9Ðr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rt   r—  s    r9  rt   rt   4  rÓ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  ru   r—  s    r9  ru   ru   9  rÂ  r;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  rw   r—  s    r9  rw   rw   >  rê  r;  c                 ó¶  ^• U R                   m[        R                  " [        R                  " T5      U4S j5        U R                  5       n[        R                  " [        U5      S:g  S 5        [        R                  " US   S:H  S 5        U R                  5       n[        R                  " US   S:H  S 5        US S n[        R                  " [        R                  " S	 U 5       5      S
 5        [        R                  " U R                  5       S-  S:H  S 5        [        R                  " U [        R                  " T5      5      R                  S5      $ )Nc                  ó   >• ST  3$ )Nz^view_as_complex is only supported for floating pointtensors, but got a tensor of scalar type: rR  )Úinput_dtypes   €r9  rT  Ú!view_as_complex.<locals>.<lambda>K  s   ø€ ð 5Ø5@°MñCr;  r   c                  ó   • g)Nz-Input tensor must have one or more dimensionsrR  rR  r;  r9  rT  rC  Q  ó   € Ð?r;  r\  é   c                  ó   • g)Nz+Tensor must have a last dimension of size 2rR  rR  r;  r9  rT  rC  U  ó   € Ð=r;  rV  c                  ó   • g)Nz/Tensor must have a last dimension with stride 1rR  rR  r;  r9  rT  rC  [  ó   € ÐAr;  c              3   ó0   #   • U  H  oS -  S:H  v •  M     g7f)rF  r   NrR  )rM  Ústrides     r9  rO  Ú"view_as_complex.<locals>.<genexpr>_  s   é € Ð8²4¨˜a‘Z 1–_²4ùs   ‚c                  ó   • g)NzCTensor must have a stride divisible by 2 for all but last dimensionrR  rR  r;  r9  rT  rC  `  s   € ÐUr;  c                  ó   • g)Nz0Tensor must have a storage_offset divisible by 2rR  rR  r;  r9  rT  rC  d  s   € ÐBr;  )rÏ  rb  rm  r†  rò  ÚsizerY  rL  Úbuiltinsr¶   Ústorage_offsetrÀ  Úview_element_typeÚcorresponding_complex_dtyperû   )r  ÚsizesÚold_stridesÚdimsrB  s       @r9  r  r  G  s  ø€ Ø—*‘*€KÜ	‡L‚LÜ×Ò˜[Ó)ô	Côð
 �I‰I‹K€EÜ	‡L‚LÜˆE‹
�a‰Ù?ôô 
‡L‚LØˆb‰	�Q‰Ù=ôð
 —+‘+“-€KÜ	‡L‚LØ�B‰˜1ÑÙAôð �s˜Ð€DÜ	‡L‚LÜ�ŠÑ8±4Ó8Ó8ÙUôô 
‡L‚LØ×ÑÓ Ñ! QÑ&ÙBôô ×"Ò"ØŒe×/Ò/°Ó<óç�gˆbƒkðr;  c           	      ó@   ^ ^^^^^^^• S[         4UUUUUUUU 4S jjnU$ )Nr”  c                 ó€  >^ • Tc  T R                   m[        T 5      [        ST	S9S[        [        [
        4   S[        [        [
        4   S[        4UU UUU4S jj5       5       nT(       a  [        5       " U5      nTUl         T[        L a  [        R                  " T T5      mTb  T(       a  [        T5      " U5        U$ )N©rr  rs  r˜  rr  rs  rz  c                 óÀ  >• [         R                  " T=(       d    [        U [        5      (       + U4S j5        [         R                  " T=(       d    [        U[        5      (       + U4S j5        [         R                  " T=(       d,    [        U [        5      =(       a    [        U[        5      (       + U4S j5        [	        X5      u  pT" X5      n[        X/U5      $ )Nc                  ó   >• T  S3$ )Nzc: Received a lhs Python scalar to an elementwise binary operation that does not accept lhs scalars!rR  ©r°  s   €r9  rT  ÚQ_make_elementwise_binary_reference.<locals>.inner.<locals>._ref.<locals>.<lambda>…  ó   ø€ ˜4˜&ð !>ñ >r;  c                  ó   >• T  S3$ )Nzc: Received a rhs Python scalar to an elementwise binary operation that does not accept rhs scalars!rR  r]  s   €r9  rT  r^  Š  r_  r;  c                  ó   >• T  S3$ )Nz?: Receive two Number inputs to an elementwise binary operation!rR  r]  s   €r9  rT  r^  �  s   ø€ ˜4˜&Ð _Ñ`r;  )rb  Ú_check_valuer?  r!   rŽ  rC  )rr  rs  rB  r°  r”  Úsupports_lhs_python_scalarÚsupports_rhs_python_scalarÚsupports_two_python_scalarss      €€€€€r9  rœ  Ú?_make_elementwise_binary_reference.<locals>.inner.<locals>._refz  s¬   ø€ ô ×ÒØ*×G´*¸QÄÓ2GÔ.Gô>ôô
 ×ÒØ*×G´*¸QÄÓ2GÔ.Gô>ôô
 ×ÒØ+÷ IÜ" 1¤fÓ-×G´*¸QÄÓ2GÔHÜ`ôô
 $ AÓ)‰DˆAÙ˜!“ZˆFÜ/°°¸Ó?Ð?r;  )r   r
   r.   r   ÚTensorr"   r0   rž  r†  rŸ  r�  )
r”  rœ  r�  Úhas_outr°  Úshould_register_decompositionrc  rd  re  rš  s
   ` €€€€€€€€r9  r¡  Ú1_make_elementwise_binary_reference.<locals>.inneru  sÀ   ù€ à‰<Ø—=‘=ˆDä	ˆt‹Ü	+Ø *Ø 3ñ

ð	@Ü”VœZÐ'Ñ(ð	@ä”VœZÐ'Ñ(ð	@ô ÷	@ò 	@ó	

ó 
ð
	@ö. Ü”= Ó&ˆDàˆŒØ”mÒ#Ü×'Ò'¨¨dÓ3ˆGØÑÖ#@Ü" 7Ô+¨DÔ1àˆr;  r£  )	rš  r�  r°  rh  rc  rd  re  ri  r¡  s	   ```````` r9  Ú"_make_elementwise_binary_referencerk  k  s   ÿ€ ð*”H÷ *ö *ðX €Lr;  rZ  ©Úalphars  rm  c                óä  • [        X5      u  pUb¾  [        U [        5      (       a  U R                  OUR                  n[        R
                  " U5      nU[        LaB  [        R                  " [        U5      U5      (       d  S[        U5       SU S3n[        U5      e[        U[        5      (       a  [        R                  " X5      nOX-  n[        R                  " X5      n[        X/U5      $ )z'
Reference implementation of torch.add
úalpha argument of type râ  r…  )rŽ  r?  r'   rÏ  r†  r   rŒ  r    r6  rn  rÀ  rž   rx   rC  ©rr  rs  rm  rÏ  rä  rå  rB  s          r9  rx   rx   ¥  sÊ   € ô  ˜AÓ!�D€AàÑÜ% a¬×4Ñ4�—’¸!¿'¹'ˆÜ×)Ò)¨%Ó0ˆØœdÒ"¬5×+FÒ+FÜ�‹K˜÷,
ñ ,
ð ,¬D°«K¨=Ð8WÐXcÐWdÐdeÐfˆCÜ˜S“/Ð!Ü�aœ×$Ñ$Ü—	’	˜!Ó#‰Aà‘	ˆAä�YŠY�q‹_€FÜ'¨¨°Ó7Ð7r;  )rš  rc  rd  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  ry   rZ  s     r9  ry   ry   È  ó   € ô �;Š;�qÓÐr;  )rš  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rz   rZ  s     r9  rz   rz   Ñ  ó   € ô ×Ò˜QÓ"Ð"r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  Ú
shift_leftrZ  s     r9  r{   r{   Ø  ó   € ô ×Ò˜AÓ!Ð!r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r|   rZ  s     r9  r|   r|   ß  rw  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  Úshift_right_arithmeticrZ  s     r9  r}   r}   æ  s   € ô ×'Ò'¨Ó-Ð-r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r~   rZ  s     r9  r~   r~   í  rt  r;  )rš  rc  c                 óÎ  • [        U[        5      (       a4  [        U [        5      (       a  [        XR                  U R
                  S9nOl[        U [        5      (       aW  [        U[        5      (       aB  U R
                  UR
                  :w  a(  SU R
                   SUR
                   S3n[        U5      e[        [        U5      [        [        U 5      5      [        U 5      5      $ )N©rÏ  r8  ú/Expected divisor (b) to be on the same device (ú&) as dividend (a), but it is found on r…  )r?  r!   rg  r(  rÏ  r8  ri  r±   rm   re   r1   )rr  rs  rå  s      r9  r�   r�   ô  s¥   € ô �!”V×Ñ¤¨A¬v×!6Ñ!6ä˜!§7¡7°1·8±8Ñ<‰Ü	�A”v×	Ñ	¤:¨a´×#8Ñ#8¸Q¿X¹XÈÏÉÓ=QØ?ÀÇÁ¸zÐIoÐpq×pxÑpxÐoyÐyzÐ{ˆÜ˜3ÓÐä”˜“œS¤ Q£›[¬#¨a«&Ó1Ð1r;  )Úrounding_moder€  c                ó„   • Uc  [        X5      $ US:X  a  [        X5      $ US:X  a  [        X5      $ SU S3n[        U5      e)z'
Reference implementation of torch.div
rw   rI   zLdiv expected rounding_mode to be one of None, 'trunc', or 'floor' but found Ú.)r©   rª   r…   rn  )rr  rs  r€  rå  s       r9  r‚   r‚     sV   € ð ÑÜ˜1Ó Ð Ø	˜'Ó	!Ü˜AÓ!Ð!Ø	˜'Ó	!Ü˜AÓ!Ð!à\Ð]jÐ\kÐklÐmˆÜ˜‹oÐr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rƒ   rZ  s     r9  rƒ   rƒ     ó   € ô
 �8Š8�A‹>Ðr;  c                 ól  • [        U [        5      (       d   [        U[        5      (       d  [        S5      e[        U[        5      (       a=  US:X  a  U R	                  5       $ US:X  a  X -  $ US:X  a  [
        R                  " U 5      $ O˜[        U [        5      (       aƒ  U S:X  a  [
        R                  " US5      $ U S:X  a`  [        R                  " UR                  5      (       d%  [        R                  " UR                  5      (       a  [
        R                  " U5      $ [        R                  " X5      $ )Nz-at least one of a or b must be TensorLikeTypeç      ð?g       @ç      à?T)r?  r(   rã  r!   r²   rb  rr   rG   r†  rò  rÏ  rÎ  rF   rÀ  r¡   rZ  s     r9  r¡   r¡   &  sâ   € ô �qœ.×)Ñ)¬Z¸¼>×-JÑ-JÜÐLÓMÐMä�!”V×ÑØ�‹8Ø—7‘7“9ÐØ�#‹XØ‘5ˆLØ�#‹XÜ—:’:˜a“=Ð ð ä	�A”v×	Ñ	Ø�‹8Ü—:’:˜a Ó&Ð&Ø�‹8Ü× Ò  §¡×)Ñ)¬U×-CÒ-CÀAÇGÁG×-LÑ-Lä—:’:˜a“=Ð ä�9Š9�Q‹?Ðr;  c                 óˆ  • [        U [        5      (       a   [        U[        5      (       a  [        S5      e[        R                  " X5      nUc  [        S5      e[        R                  " U5      (       a  [        R                  nO[        R                  n[        X5      n [        X5      n[        X5      u  p[        X5      $ )Nz=Receive two Number inputs to an elementwise binary operation!z/dtype should not be None after get_higher_dtype)r?  r!   rn  r†  Úget_higher_dtyperã  rÎ  rb  Ú
complex128Úfloat64r+   rŽ  r¡   ©rr  rs  rÏ  s      r9  r„   r„   D  s¡   € ô
 �!”V×Ñ¤¨A¬v×!6Ñ!6ÜØKó
ð 	
ô
 ×"Ò" 1Ó(€EØ�}ÜÐNÓOÐOÜ×Ò˜e×$Ñ$Ü× Ñ ‰ä—‘ˆô
 	  Ó)€Aä Ó)€Aä˜AÓ!�D€Aäˆq‹9Ðr;  )rš  re  ri  c                 óZ  ^• [        U [        5      (       a-  [        U[        5      (       a  [        U 5      n [        U5      nGO@[        U[        5      (       a4  [        U [        5      (       a  [        XR                  U R
                  S9nO÷[        U [        5      (       a4  [        U[        5      (       a  [        XR                  UR
                  S9n O®[        U [        5      (       a™  [        U[        5      (       a„  U R
                  UR
                  :w  aj  U R
                  [        R
                  " S5      :X  a(  SU R
                   SUR
                   S3n[        U5      e[        R                  " XR
                  S9n[        U [        5      (       a  [        U[        5      (       d  [        S5      eU R                  m[        R                  " T5      (       a  [        X5      $ [        R                  " T5      (       a  [        X5      $ [        R                   " SU4S	 j5        g )
Nr}  Úcpur~  r  r…  r7  z*a and b must both be Tensors at this pointFc                  ó   >• T  S3$ )Nz not supported for floor_dividerR  rñ  s   €r9  rT  Úfloor_divide.<locals>.<lambda>¢  s   ø€  u gÐ-LÑ$Mr;  )r?  r!   r(  rg  rÏ  r8  rb  ri  rÀ  Ú
device_putrã  r†  rò  Ú_floor_divide_floatr  Ú_floor_divide_integerrm  )rr  rs  rå  rÏ  s      @r9  r…   r…     s  ø€ ô �!”V×Ñ¤¨A¬v×!6Ñ!6ä˜!Óˆä˜!ÓŠÜ	�A”v×	Ñ	¤:¨a´×#8Ñ#8ä˜!§7¡7°1·8±8Ñ<‰Ü	�A”v×	Ñ	¤:¨a´×#8Ñ#8ä˜!§7¡7°1·8±8Ñ<‰Ü	�A”v×	Ñ	¤:¨a´×#8Ñ#8¸Q¿X¹XÈÏÉÓ=QØ�8‰8”u—|’| EÓ*Ó*ØCÀAÇHÁHÀ:ÐMsÐtu×t|Ñt|Ðs}Ð}~ÐˆCÜ˜sÓ#Ð#ä× Ò  ¯8©8Ñ4ˆAä�qœ&×!Ñ!¤j°´F×&;Ñ&;ÜÐIÓJÐJØ�G‰G€EÜ×Ò˜E×"Ñ"Ü" 1Ó(Ð(Ü	×	Ò	 ×	&Ñ	&Ü$ QÓ*Ð*ä�Š�UÔMÕNr;  c                 ó|  • [        X5      u  pU R                  R                  (       d  [        R                  " X5      $ [
        R                  " U 5      [
        R                  " U5      :g  R                  [
        R                  " X5      S:g  5      n[        R                  " X5      [        X R                  5      -
  $ r1  )
rŽ  rÏ  Ú	is_signedrÀ  r‚   rb  rm   r–   rˆ   r+   )rr  rs  Úoffsets      r9  r“  r“  ¥  s~   € Ü˜AÓ!�D€Aà�7‰7××Ü�yŠy˜‹Ðô �mŠm˜AÓ¤%§-¢-°Ó"2Ñ2×?Ñ?ÄÇ
Â
È1Ó@PÐTUÑ@UÓV€FÜ�9Š9�Q‹?Ô4°V¿W¹WÓEÑEÐEr;  c                 ó  • [        X5      n[        [        X5      U5      n[        [	        U S5      [	        US5      5      n[        US5      n[        XT5      n[        U[        US5      U5      n[        U5      n[        [        X75      S5      n[        U[        US5      U5      n[        X5      n[        SUR                  UR                  S9n	[        [        US5      U[        X˜5      5      n[        [        US5      Xx5      $ )Nr   rV  r‡  r}  )rˆ   r©   r¨   r~   r›   rŸ   rz   r±   rI   r‹   rx   r(  rÏ  r8  r�   )
rr  rs  Úmodr‚   Údifferent_signed_inputsÚnon_zero_remainderÚmaskÚ	floor_divÚ	basic_divÚzero_tensors
             r9  r’  r’  °  sä   € Ü
ˆq‹*€CÜ
”c˜!“k 1Ó
%€Cô *¬"¨Q°«(´B°q¸!³HÓ=ÐÜ˜C ›ÐÜÐ)ÓC€DÜ
�”c˜#˜q“k 3Ó
'€Cô �c“
€IÜŒc�#Ó! 3Ó'€DÜ�dœC 	¨1Ó-¨yÓ9€Iä˜AÓ!€IÜ ¨¯©À×AQÑAQÑR€Kô ”b˜˜a“j )¬X°kÓ-MÓN€Iô ”�A�q“˜9Ó0Ð0r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r†   rZ  s     r9  r†   r†   É  ó   € ô �:Š:�aÓÐr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r‡   rZ  s     r9  r‡   r‡   Ò  r   r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rˆ   rZ  s     r9  rˆ   rˆ   Û  r   r;  ÚmantissaÚexponentc                 óh   • [         R                  R                  [        R                  " U 5      5      $ rJ  )rb  Úreturn_typesÚfrexprÀ  r  s    r9  r§  r§  ä  s$   € ô ×Ñ×#Ñ#¤E§K¢K°Ó$5Ó6Ð6r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r‰   rZ  s     r9  r‰   r‰   ê  s   € ô �9Š9�Q‹?Ðr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rŠ   rZ  s     r9  rŠ   rŠ   ó  r„  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r‹   rZ  s     r9  r‹   r‹   û  r„  r;  Úvaluesc                 ó  • [         R                  " U S5      n[         R                  " [         R                  " U S5      [         R                  " U 5      5      n[         R
                  " USS5      n[         R
                  " X!U5      nU$ r7  )rb  rƒ   r˜   r›   rV   r±   )rÌ  r«  Úinput_eq_zeroÚinput_lt_zeroÚzeros_and_onesrB  s         r9  rŒ   rŒ     sa   € ô —H’H˜U AÓ&€MÜ×$Ò$¤U§X¢X¨e°QÓ%7¼¿ºÀUÓ9KÓL€MÜ—[’[ °°1Ó5€NÜ�[Š[˜°Ó?€FØ€Mr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r�   rZ  s     r9  r�   r�     rr  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rŽ   rZ  s     r9  rŽ   rŽ     s   € ô �<Š<˜ÓÐr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r�   rZ  s     r9  r�   r�   "  s   € ô �=Š=˜ÓÐr;  r°  ÚrtolÚatolc                 óò   ^ ^^^^• [         R                  " TR                  TR                  :H  UUU 4S j5        [         R                  " TS:¬  U U4S j5        [         R                  " TS:¬  UU 4S j5        g )Nc                  óB   >• T ST R                    STR                    S3$ )Nz4: Attempting to compare tensors of different dtypes ú and r…  rñ  )rr  rs  r°  s   €€€r9  rT  Ú#_check_close_args.<locals>.<lambda>4  s'   ø€ �4�&ÐLÈQÏWÉWÈIÐUZÐ[\×[bÑ[bÐZcÐcdÑer;  r   c                  ó   >• T  ST S3$ )Nz6: rtol must be greater than or equal to zero, but got r…  rR  )r°  r³  s   €€r9  rT  r¸  8  ó   ø€ �4�&ÐNÈtÈfÐTUÑVr;  c                  ó   >• T ST  S3$ )Nz6: atol must be greater than or equal to zero, but got r…  rR  )r´  r°  s   €€r9  rT  r¸  <  rº  r;  )rb  rb  rÏ  rm  ©r°  rr  rs  r³  r´  s   `````r9  Ú_check_close_argsr½  +  sV   ü€ ô 
×ÒØ	�‰�1—7‘7ÑÞeôô 
‡L‚LØ�‰	ÝVôô 
‡L‚LØ�‰	ÝVõr;  Ú	equal_nanc           
      ó0  • [        SXX#S9  [        X5      nU(       ar  [        R                  " U R                  5      (       d%  [        R
                  " U R                  5      (       a(  [        U[        [        U 5      [        U5      5      5      nUS:X  a  US:X  a  U$ [        R                  " U R                  5      (       dy  [        R
                  " U R                  5      (       dT  [        R                  " U [        R                  " 5       5      n [        R                  " U[        R                  " 5       5      n[        U[        [        X5      5      5      n[        [!        X5      5      n[        U[        [#        U5      [%        Xv5      5      5      nU$ )Nztorch.iscloser¼  r   )r½  rƒ   r†  rò  rÏ  rÎ  r˜   r–   rV   rÀ  Úconvert_element_typerb  Úget_default_dtyperx   r1   rž   r¨   rR   r“   )	rr  rs  r³  r´  r¾  ÚcloseÚallowed_errorÚactual_errorr  s	            r9  r‘   r‘   A  s  € ô ˜?¨a¸4ÒKäˆq‹H€EÞ”e×*Ò*¨1¯7©7×3Ñ3´u×7MÒ7MÈaÏgÉg×7VÑ7VÜ˜5¤+¬e°A«h¼¸a»Ó"AÓBˆð ˆqƒy�T˜Q“YØˆô ×Ò §¡×(Ñ(´×1GÒ1GÈÏÉ×1PÑ1PÜ×&Ò& q¬%×*AÒ*AÓ*CÓDˆÜ×&Ò& q¬%×*AÒ*AÓ*CÓDˆä˜œc¤# a£,Ó/Ó0€MÜ”s˜1“y“>€Lô ØŒ{œ8 LÓ1´2°lÓ3RÓSó€Fð €Mr;  c                 óü  • U R                   nU[        R                  [        R                  4;   nU(       aJ  [        R
                  " U [        R                  5      n [        R
                  " U[        R                  5      n[        R                  " X5      n[        R                  " US:H  SU5      n[        R                  " [        R                  " X5      U-  5      nU(       d  U$ [        R
                  " XR5      $ r7  )rÏ  rb  Úint8Úint16rÀ  rÀ  Úint32r‰   r±   r1   r‚   )rr  rs  rÏ  Úpromote_to_intÚgÚress         r9  r’   r’   l  s«   € ð �G‰G€Eð œuŸz™z¬5¯;©;Ð7Ñ7€NÞÜ×&Ò& q¬%¯+©+Ó6ˆÜ×&Ò& q¬%¯+©+Ó6ˆä�	Š	�!‹€Aä�Š�A˜‘F˜A˜qÓ!€AÜ
�)Š)”E—I’I˜a“O aÑ'Ó
(€CÞ$ˆ3ÐP¬%×*DÒ*DÀSÓ*PÐPr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r“   rZ  s     r9  r“   r“   �  r„  r;  c                 óÊ  • [         R                  " U 5      [         R                  " U5      :¬  n[         R                  " X U5      n[         R                  " X!U 5      n[         R                  " [         R                  " [         R
                  " [         R                  " U 5      5      5      [         R                  " U 5      [         R                  " U5      :H  5      n[        R                  " U R                  5      (       d%  [        R                  " UR                  5      (       aý  [         R                  " U5      S:  n[         R                  " Xd[         R                  " [         R                  " U5      [         R                  " U5      -   5      5      n[         R                  " XWU[         R                  " [         R                  " XC-
  5      5      -   5      n[         R                  " U5      n	[         R                  " U	[        [        S5      [        S5      5      U5      $ [         R                  " XPU[         R                  " [         R                  " XC-
  5      5      -   5      $ )Nr   r  )rb  r¢   r±   r–   r—   rR   r†  rÎ  rÏ  r[   rC   r\   rV   Úcomplexrõ  )
rr  rs  r›  Úmax_Úmin_Úinf_maskÚneg_min_maskÚinf_valsÚnon_nan_valsÚnan_masks
             r9  r”   r”   ‰  s~  € ô �:Š:�a‹=œEŸJšJ q›MÑ)€DÜ�;Š;�t Ó"€DÜ�;Š;�t Ó"€DÜ× Ò Ü×Òœ%Ÿ.š.¬¯ª°A«Ó7Ó8¼%¿*º*ÀQ»-Ì5Ï:Ê:ÐVWË=Ñ:Xó€Hô ×Ò˜aŸg™g×&Ñ&¬%×*@Ò*@ÀÇÁ×*IÑ*Iä—z’z $Ó'¨!Ñ+ˆÜ—;’;Ø¤§	¢	¬%¯)ª)°D«/¼E¿IºIÀd»OÑ*KÓ Ló
ˆô —{’{Ø ¤u§{¢{´5·9²9¸T¹[Ó3IÓ'JÑ Jó
ˆô —;’;˜tÓ$ˆÜ�{Š{˜8¤W¬U°5«\¼5À»<Ó%HÈ,ÓWÐWä�{Š{˜8¨¬u¯{ª{¼5¿9º9ÀTÁ[Ó;QÓ/RÑ(RÓSÐSr;  c                 óH  • [         R                  " [        R                  " U R                  5      =(       d     [        R                  " UR                  5      (       + S 5        X:¬  n[         R
                  " X U5      n[         R
                  " X!U 5      n[         R                  " [         R                  " U 5      X:H  5      nS[        R                  " S5      -  nU[         R                  " [         R                  " XC-
  5      5      U-  -   n[         R
                  " XPU5      $ )Nc                  ó   • g)Nz)logaddexp2 doesn't support complex dtypesrR  rR  r;  r9  rT  Úlogaddexp2.<locals>.<lambda>®  ó   € Ð;r;  r†  rF  )rb  rm  r†  rÎ  rÏ  r±   r–   rS   r8  r[   r\   rF   )rr  rs  r›  rÏ  rÐ  rÑ  Ú	inv_log_2r  s           r9  r•   r•   ¦  sÇ   € ô 
‡L‚LÜ×#Ò# A§G¡GÓ,×O´×0FÒ0FÀqÇwÁwÓ0OÔPÙ;ôð
 ‰6€DÜ�;Š;�t Ó"€DÜ�;Š;�t Ó"€DÜ× Ò ¤§¢¨Q£°±Ó8€HØ”d—h’h˜q“kÑ!€IØ”E—K’K¤§
¢
¨4©;Ó 7Ó8¸9ÑDÑD€FÜ�;Š;�x FÓ+Ð+r;  c                 ó²   • [         R                  " U R                  5      (       d  U S:g  n [         R                  " UR                  5      (       d  US:g  nX-  $ r1  ©r†  r  rÏ  rZ  s     r9  r–   r–   º  óG   € ô ×!Ò! !§'¡'×*Ñ*Ø�‰FˆÜ×!Ò! !§'¡'×*Ñ*Ø�‰FˆØ‰5€Lr;  c                 ó\   • [         R                  " U R                  5      (       d  U S:H  $ U ) $ r1  rÜ  r—  s    r9  r—   r—   Å  s'   € ä×!Ò! !§'¡'×*Ñ*Ø�A‰vˆØˆ2€Ir;  c                 óÀ   • [         R                  " U R                  5      (       d  U S:g  n [         R                  " UR                  5      (       d  US:g  n[        X5      $ r1  )r†  r  rÏ  r|   rZ  s     r9  r˜   r˜   Ì  sK   € ô ×!Ò! !§'¡'×*Ñ*Ø�‰FˆÜ×!Ò! !§'¡'×*Ñ*Ø�‰FˆÜ�aÓÐr;  c                 ó²   • [         R                  " U R                  5      (       d  U S:g  n [         R                  " UR                  5      (       d  US:g  nX-  $ r1  rÜ  rZ  s     r9  r™   r™   Ø  rÝ  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r›   rZ  s     r9  r›   r›   ã  r„  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rœ   rZ  s     r9  rœ   rœ   ë  ó   € ô �=Š=˜ÓÐr;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r�   rZ  s     r9  r�   r�   ò  rã  r;  )rš  re  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  rž   rZ  s     r9  rž   rž   ù  s   € ô
 �9Š9�Q‹?Ðr;  c                 ó.   • [         R                  " X5      $ rJ  rÿ  rZ  s     r9  rŸ   rŸ     r„  r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r    rZ  s     r9  r    r    	  s   € ô �?Š?˜1Ó Ð r;  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r¤   rZ  s     r9  r¤   r¤     s   € ô �?Š?˜1Ó Ð r;  rV  c                 óp   • [        U [        5      (       a  Sn[        U5      e[        R                  " XUS9$ )Nz?Received a Number for the first argument, but expected a Tensorrl  )r?  r!   rn  rb  r¨   )rr  rs  rm  rå  s       r9  r¥   r¥     s1   € ô �!”V×ÑØOˆÜ˜‹oÐä�9Š9�Q Ñ'Ð'r;  c                ó  • [        X5      u  p[        U [        5      (       a|  [        U[        5      (       ag  [        R                  " [
        R                  " U R                  5      (       + =(       a%    [
        R                  " UR                  5      (       + S 5        US:w  a¿  [        U [        5      (       a  U R                  OUR                  n[
        R                  " U5      n[
        R                  " [        U5      U5      (       d  S[        U5       SU S3n[        U5      e[        U[        R                  5      (       a  [        R                  " X5      nOX-  n[        R                  " X5      n[!        X/U5      $ )z'
Reference implementation of torch.sub
c                  ó   • g)NzwSubtraction, the `-` operator, with two bool tensors is not supported. Use the `^` or `logical_xor()` operator instead.rR  rR  r;  r9  rT  Úsub.<locals>.<lambda>?  s   € ðCr;  rV  ro  râ  r…  )rŽ  r?  r'   rb  rm  r†  r  rÏ  r   r    r6  rn  rg  rÀ  rž   r¨   rC  rp  s          r9  r¨   r¨   *  s  € ô  ˜AÓ!�D€Aä�!”Z× Ñ ¤Z°´:×%>Ñ%>Ü�ŠÜ×&Ò& q§w¡wÓ/Ô/×W¼×8NÒ8NÈqÏwÉwÓ8WÔ4Wñô	
ð �ƒzÜ% a¬×4Ñ4�—’¸!¿'¹'ˆÜ×)Ò)¨%Ó0ˆÜ×*Ò*¬4°«;¸×DÑDØ+¬D°«K¨=Ð8WÐXcÐWdÐdeÐfˆCÜ˜S“/Ð!Ü�aœŸ™×&Ñ&Ü—	’	˜!Ó#‰Að
 ‘	ˆAä�YŠY�q‹_€FÜ'¨¨°Ó7Ð7r;  r©   )rš  r°  r�  re  c                 ó.   • [         R                  " X5      $ rJ  )rÀ  r‚   rZ  s     r9  r©   r©   W  s   € ô �9Š9�Q‹?Ðr;  c           
      ód  • [         R                  " [        U [        5      =(       d    [        U[        5      S 5        [        U[        5      (       a4  [        U [        5      (       a  [        XR                  UR                  S9n OH[        U [        5      (       a3  [        U[        5      (       a  [        XR                  U R                  S9n[        U [        5      (       d  [        S[        U 5       35      e[        U[        5      (       d  [        S[        U5       35      e[         R                  " [         R                  " U S5      S[         R                  " U [         R                  " U5      5      5      n[         R                  " [         R                  " U5      [        S5      U5      $ )Nc                  ó   • g)Nz/Expected either argument a or b to be a Tensor"rR  rR  r;  r9  rT  Úxlogy.<locals>.<lambda>j  rJ  r;  r}  rà  zb must be TensorLike, got r   r  )rb  rm  r?  r'   r!   r(  rÏ  r8  rã  r6  r±   rƒ   rž   r[   rV   rõ  )rr  rs  Úrhss      r9  r«   r«   a  s  € ô 
‡L‚LÜ�1”jÓ!×>¤Z°´:Ó%>ÙAôô �!”Z× Ñ ¤Z°´6×%:Ñ%:ä˜!§7¡7°1·8±8Ñ<‰Ü	�A”z×	"Ñ	"¤z°!´V×'<Ñ'<ä˜!§7¡7°1·8±8Ñ<ˆô �aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDÜ�aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDÜ
�+Š+”e—h’h˜q !“n a¬¯ª°1´e·i²iÀ³lÓ)CÓ
D€CÜ�;Š;”u—{’{ 1“~¤u¨U£|°SÓ9Ð9r;  )rš  r�  re  c                 óÎ   • [         R                  " U 5      n[         R                  " U5      (       a  [        R                  " X5      $ [        [        R                  " X5      5      $ rJ  )r†  Ú	get_dtyper  rÀ  r‚   rw   rŒ  s      r9  rª   rª   ~  sD   € ô �OŠO˜AÓ€EÜ×Ò˜e×$Ñ$Ü�yŠy˜‹Ðä”—’˜1“Ó!Ð!r;  )r  Útensor1Útensor2©rÞ  rô  rõ  c                óÚ   ^^• Tb\  U R                   n[        R                  " U5      m[        R                  " [        R
                  " [        T5      T5      UU4S j5        U TU-  U-  -   $ )z+
Reference implementation of torch.addcdiv
c                  ó(   >• S[        T5       ST  S3$ ©Nrá  râ  r…  r5  ©rä  rÞ  s   €€r9  rT  Úaddcdiv.<locals>.<lambda>§  ó   ø€ Ð-¬d°5«k¨]Ð:YÐZeÐYfÐfgÑhr;  ©rÏ  r†  r   rb  rb  r    r6  ©r  rô  rõ  rÞ  rÏ  rä  s      ` @r9  r¬   r¬   ’  ó_   ù€ ð  ÑØ—
‘
ˆÜ×)Ò)¨%Ó0ˆÜ×ÒÜ×'Ò'¬¨U«°[ÓAÝhô	
ð
 �%˜'‘/ GÑ+Ñ+Ð+r;  c                óÚ   ^^• Tb\  U R                   n[        R                  " U5      m[        R                  " [        R
                  " [        T5      T5      UU4S j5        U TU-  U-  -   $ )z+
Reference implementation of torch.addcmul
c                  ó(   >• S[        T5       ST  S3$ rù  r5  rú  s   €€r9  rT  Úaddcmul.<locals>.<lambda>Â  rü  r;  rý  rþ  s      ` @r9  r­   r­   ­  rÿ  r;  )rr  r  rj  r  rj  c                 ó˜  • Uc  Uc  Sn[        U5      eUbX  [        R                  " U 5      n[        R                  " [        R                  " X5      U5      n[        R
                  " XPU5      n UbX  [        R                  " U 5      n[        R                  " [        R                  " X5      U5      n[        R
                  " XPU5      n U $ )Nz+clamp called but both min and max are none!)rn  rb  rV   r|   rŠ   r±   r“   )rr  r  rj  rå  Úa_isnanÚ	conditions         r9  r®   r®   È  s�   € ð �{�s‘{Ø;ˆÜ˜‹oÐØ
�Ü—+’+˜a“.ˆÜ×$Ò$¤U§X¢X¨aÓ%5°wÓ?ˆ	ô
 �KŠK˜	 cÓ*ˆØ
�Ü—+’+˜a“.ˆä×$Ò$¤U§X¢X¨aÓ%5°wÓ?ˆ	Ü�KŠK˜	 cÓ*ˆà€Hr;  c                 ó*   • [         R                  " XS9$ )N)r  ©rb  r®   )r  r  s     r9  r   r   è  ó   € ô �;Š;�tÑ%Ð%r;  c                 ó*   • [         R                  " XS9$ )N)rj  r  )r  rj  s     r9  r€   r€   ñ  r  r;  Úpredc                 óþ   ^ • Ub  Uc  [         e[        R                  " T XSS9  [        R                  " T R
                  [        R                  L U 4S j5        [        T X5      u  m p[        R                  " T X5      $ )Ú T©Úallow_cpu_scalar_tensorsc                  ó"   >• ST R                    3$ )Nz#expected predicate to be bool, got rñ  )r
  s   €r9  rT  Úwhere.<locals>.<lambda>  s   ø€ Ð5°d·j±j°\ÑBr;  )
ÚNotImplementedErrorr†  Úcheck_same_devicerb  rm  rÏ  rŒ  rŽ  rÀ  r±   )r
  rr  rs  s   `  r9  r±   r±     sh   ø€ ð" 	�y�A‘IÜ!Ð!ä	×Ò˜D !ÀÒFÜ	‡L‚LØ�
‰
”e—j‘jÐ ÜBôô
 " $¨Ó-�J€Dˆ!Ü�;Š;�t˜QÓ"Ð"r;  ©Úmemory_formatr  c                ó.   • [         R                  " XS9nU$ ©Nr  )rÀ  r²   )rr  r  r  s      r9  r²   r²   "  s   € ô
 �[Š[˜Ñ8€FØ€Mr;  )Úallow_cross_devicec                óÀ   • U(       dB  U R                   UR                   :w  a(  SUR                    SU R                    S3n[        U5      e[        R                  " X5      $ )NzAttempting to copy from device z to device z*, but cross-device copies are not allowed!)r8  ri  rÀ  r³   )rr  rs  r  rå  s       r9  r³   r³   +  sK   € Þ !§(¡(¨a¯h©hÓ"6Ø/°·±¨z¸ÀQÇXÁXÀJÐNxÐyˆÜ˜3ÓÐä�=Š=˜ÓÐr;  c                 óà   • U R                  5       S:w  a  SU R                  5        S3n[        U5      e[        R                  " U R                  5      nU" [
        R                  " U 5      5      $ )NrV  zCan't convert a tensor with z elements to a number!)r  rn  r†  r   rÏ  rÀ  r´   )rr  rå  Únumber_types      r9  r´   r´   3  sW   € à‡w�wƒy�Aƒ~Ø,¨Q¯W©W«Y¨KÐ7MÐNˆÜ˜‹oÐô ×%Ò% a§g¡gÓ.€KÙ”u—z’z !“}Ó%Ð%r;  r8  ÚcopyÚlayoutÚ
pin_memoryÚnon_blockingc                 óV  • U(       + =(       aœ    US L =(       d    U R                   U:H  =(       a{    US L =(       d    U R                  U:H  =(       aZ    US L =(       d    U R                  U:H  =(       a9    US L =(       d.    U[        R                  :H  =(       d    [
        R                  " XS9$ r  )r8  rÏ  r  rb  Úpreserve_formatr†  Úis_contiguous_for_memory_format)rr  r8  rÏ  r  r  r  r  r  s           r9  Ú_to_will_aliasr"  @  s•   € ð Œ÷ 
	
Ø�tˆ^×1˜qŸx™x¨6Ñ1÷
	
à�dˆ]×.˜aŸg™g¨Ñ.÷
	
ð �tˆ^×1˜qŸx™x¨6Ñ1÷
	
ð ˜TÐ!÷ UØ¤× 5Ñ 5Ñ5÷Uä×4Ò4°QÑTðr;  c                  ó   • [         erJ  )r  )r�  r§  s     r9  Ú_to_dispatchr$  Y  s   € ä
Ðr;  c                 ó   • U UUUUS.nU$ ©N)r8  rÏ  r  r  r  rR  ©r8  rÏ  r  r  r  r§  s         r9  Ú
_to_devicer(  ^  s!   € ð ØØ$ØØ&ñ€Fð €Mr;  c                 ó>   • [         R                  " U 5      UUUUS.nU$ r&  )rb  r8  r'  s         r9  Ú_to_device_strr*  p  s*   € ô —,’,˜vÓ&ØØ$ØØ&ñ€Fð €Mr;  c                 ó   • U UUUS.nU$ )N)rÏ  r  r  r  rR  )rÏ  r  r  r  r§  s        r9  Ú	_to_dtyper,  ‚  s   € ð Ø$ØØ&ñ	€Fð €Mr;  Úotherc                 ó`   • U R                   nU R                  nU R                  nUUUUUUS.nU$ )N)r8  rÏ  r  r  r  r  )r8  rÏ  r  )r-  r  r  r  r8  rÏ  r  r§  s           r9  Ú	_to_otherr/  ’  sA   € ð �\‰\€FØ�K‰K€EØ�\‰\€Fð ØØØ$ØØ&ñ€Fð €Mr;  Ú	to_kwargsc                 óê  • / SQnSU;   a4  [        US   [        5      (       a  [        R                  " US   5      US'   U H¯  nX1;   d  M
  US:X  a  X   [        R                  L dy  US:X  a_  X   R
                  U R                  R
                  :X  a9  X   R                  (       a:  X   R                  U R                  R                  :X  d  [        XS 5      X   :X  d  Mž  UR                  U5        M±     g )N)rÏ  r8  r  r  r8  r  )	r?  rˆ  rb  r8  r   r6  Úindexr¸  Úpop)rr  r0  Úoptions_to_checkÚkws       r9  Ú_canonicalize_to_argumentsr6  ª  sÁ   € ÚEÐà�9Ó¤¨I°hÑ,?Ä×!EÑ!EÜ#Ÿlšl¨9°XÑ+>Ó?ˆ	�(ÑãˆØ�?à�Ó&¨9©=¼E×<QÑ<QÒ+Qà˜(“NØ!™×*Ñ*¨a¯h©h¯m©mÓ;à%™M×/×/°9±=×3FÑ3FÈ!Ï(É(Ï.É.Ó3Xô ˜A 4Ó(¨I©MÕ9ð —‘˜bÖ!ò r;  c                 ó4  • [        U5      S:w  a  [        U0 UD6nSU;   a  [        S5      e[        X5        [	        U 40 UD6(       a  U $ SU;   a  UR                  S5      OSnSU;   a  UR                  S5      OSnU(       d*  UR                  SU R                  5      U R                  :w  aI  U(       dB  SU;  a<  S	U;  a6  S
U;  a0  [        R                  " XR                  SU R                  5      5      $ [        R                  " U 40 UD6n[        XP5        U$ )Nr   r  z#pin_memory is not supported in refsr  Fr  rÏ  r  r8  r  )rY  r$  rã  r6  r"  r3  ÚgetrÏ  rÀ  rÀ  rb  r  r³   )rr  r�  r§  r  r  r  s         r9  rµ   rµ   Â  sø   € ä
ˆ4ƒy�Aƒ~Ü˜tÐ. vÑ.ˆð �vÓÜÐBÓCÐCÜ˜qÔ)ä�aÑ"˜6×"Øˆà!'¨6Ó!1ˆ6�:‰:�fÔ°u€DØ1?À6Ó1I�6—:‘:˜nÔ-Èu€Lö 
�&—*‘*˜W a§g¡gÓ.°!·'±'Ó9ÞØ FÓ*Ø˜VÓ#Ø˜VÓ#ô ×)Ò)¨!¯Z©Z¸ÀÇÁÓ-IÓJÐJä×Ò˜aÑ* 6Ñ*€FäˆFÔØ€Mr;  )Úhas_identityÚaccepts_dim_tuplerW  ÚkeepdimsrÏ  r´  r”  r9  r:  rW  r;  r´  Úoutput_dtype_kindc                ó  ^ • [        T [        5      (       d  [        S[        T 5       35      eT R                  S:”  a  [        ST R                   S35      eUbI  [        U[        5      (       d  [        S[        U5       35      eUb  XgR                  :w  a  [        S5      eU(       d/  Ub,  [        U[        5      (       d  [        S[        U5       35      e[        U[        5      (       a  U4n[        R                  " T R                  U5      nU(       dC  SS	KJn	  T R                  S:H  =(       d    U	" U 4S
 jU 5       6 n
[        R                  " U
S 5        [        R                  " T X†5      u  p¼[!        T U5      m U" T U5      nU(       a|  [#        T R                  5       Vs/ s H  oîU;  a  T R                  U   OSPM     nn[#        T R                  5       Vs/ s H  oîU;  d  M
  UPM     nn[$        R&                  " XßU5      nUbI  Uc  [        S5      eUb  XÇR                  :w  a  [        S5      e[)        X}R                  5      n[+        X×S9$ UR                  U:w  a  Ub  [$        R,                  " XÜ5      nU$ s  snf s  snf )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   )r|  c              3   óH   >#   • U  H  nTR                   U   S :„  v •  M     g7f©r   N©rZ  ©rM  Úirr  s     €r9  rO  Ú_reduction.<locals>.<genexpr>	  s   øé € Ð.LÂtÀ!¨q¯w©w°q©z¸A®~Âtùs   ƒ"c                  ó   • g)NzJreducing over zero-size dimension for reduction operation without identityrR  rR  r;  r9  rT  Ú_reduction.<locals>.<lambda>	  s   € Ð`r;  rV  z4result_dtype should not be None when out is providedz7Expected the dtype of reduction result and out to match©Ú	copy_fromr³   )r?  r'   rã  r6  Úndimri  rÏ  r   r†  Úreduction_dimsrZ  ra  r|  rb  rm  Úreduction_dtypesr+   rl  rÀ  Úbroadcast_in_dimr,   r-   rÀ  )rr  r”  r9  r:  rW  r;  rÏ  r´  r<  r|  Úvalid_shaper  r  r  rD  Úoutput_shapeÚbroadcast_dimss   `                r9  Ú
_reductionrQ  ê  sA  ø€ ô �aœ×$Ñ$ÜÐ9¼$¸q»'¸ÐCÓDÐDØ‡v�v�ƒ{ÜØ% a§f¡f XÐ-lÐmó
ð 	
ð �Ü˜#œz×*Ñ*Ü Ð#?ÄÀSÃ	¸{Ð!KÓLÐLØÑàŸ	™	Ó!Ü"ØJóð ö Ø‘¤
¨4´× 5Ñ 5Ü Ð#AÄ$ÀtÃ*ÀÐ!NÓOÐOÜ�$œ×ÑØˆwˆÜ×Ò §¡¨Ó.€DÞÝAà—f‘f ‘k×M¡WÔ.LÁtÓ.LÐ%MˆÜ�ŠØÙ`ô	
ô
 ',×&<Ò&<Ø	Ðó'Ñ#Ðô 	  Ð#4Ó5€AÙ�!�T‹]€FÞÜDIÈ!Ï&É&ÄMÓRÂM¸q¨t£m˜Ÿ™ š
¸Ò:ÁMˆÐRÜ%*¨1¯6©6¤]ÓD¢] ¸t±mŸ!¡]ˆÐDÜ×'Ò'¨¸nÓMˆà
�ØÑÜ Ð!WÓXÐXØÑ ·±Ó!:ÜØIóð ô   §\¡\Ó2ˆÜ¨Ñ<Ð<à‡|�|�|Ó#¨Ñ(@Ü×+Ò+¨FÓAˆà€Mùò# SùÚDs   Æ( JÇ!	J	Ç.J	c                 óF  ^ ^• [        [        T R                  5      n[        T S0 5      n[        SS9" U5      m [	        T 5      SS.U U4S jj5       nT R                   S3nXTl        UR
                  R                  U5        [        [        [        U5      5      " U5        U$ )zc
Given a view function (e.g. torch.diagonal) generates its copy variant (e.g. torch.diagonal_copy)
Ú__annotations__Tr–  N©r´  c                 óh   >• T" USU 0UD6nT(       a  U b  g U b  U$ [         R                  " S U5      $ )Nr´  c                 ó<   • U R                  [        R                  S9$ r  )r²   rb  Úcontiguous_formatrS  s    r9  rT  Ú3_make_copy_from_view.<locals>._fn.<locals>.<lambda>C	  s   € �a—g‘g¬E×,CÑ,C�gÑDr;  )ÚpytreeÚtree_map)r´  r�  r§  r  r¨  Úreturn_none_on_out_variants       €€r9  r©  Ú!_make_copy_from_view.<locals>._fn:	  sB   ø€ á�TÐ-˜sÐ- fÑ-ˆÞ%¨#©/ØØ‰?ØˆMä�ŠÙDØó
ð 	
r;  Ú_copy)r¸  r¹  r   r0   r
   rS  Úupdater�  )r¨  r[  Úaten_fnÚannotationsr©  Ú	copy_names   ``    r9  Ú_make_copy_from_viewrb  0	  s—   ù€ ô ”d˜BŸK™KÓ(€GÜ˜"Ð/°Ó4€Kô 
 Ò	& wÓ	/€Bä
ˆ2ƒYØ÷ 

ð 

ó ð

ð —;‘;�-˜uÐ%€IØ„LØ×Ñ×Ñ˜{Ô+Üœ7¤4¨Ó3Ô4°SÔ9Ø€Jr;  c                 óö   • [         R                  " [         R                  " [         R                  " U 5      XS95      nU R                  [         R                  :X  a  UR                  [         R                  S9nU$ )Nr
  rñ  )rb  r—   r¹   rÏ  Úuint8rµ   )rr  r  r  r  s       r9  r¶   r¶   N	  sS   € ô ×ÒœuŸyšy¬×):Ò):¸1Ó)=¸sÑTÓU€Fà‡w�w”%—+‘+ÓØ—‘¤§¡�Ð-ˆà€Mr;  c                 óp  • [        U [        R                  5      n[        U[        [
        45      (       a   [        U5      S:X  a  UR                  5       nOUR                  XS9R                  S5      nU R                  [        R                  L a%  [        R                  " U[        R                  5      $ U$ )Nr   )r  r  F)r+   rb  rŒ  r?  Úlistrg  rY  r²   rÁ   rŸ   rÏ  rd  rÀ  rÀ  )rr  r  r  r  r  s        r9  r¹   r¹   ]	  sƒ   € ô 
! ¤E§J¡JÓ	/€BÜ�#œœe�}×%Ñ%¬#¨c«(°a«-Ø—‘“‰à—‘˜C�Ð1×4Ñ4°UÓ;ˆð 	‡w�w”%—+‘+ÒÜ×)Ò)¨&´%·+±+Ó>Ð>à€Mr;  )rÏ  r´  c          
      óh  • Ucw  Ub  UR                   nOg[        R                  " U R                   5      (       d%  [        R                  " U R                   5      (       a  [        R
                  nOU R                   nUS:X  d  U/ :X  a  S n[        U [        R                  UUUU[        R                  S9$ ©NrR  ©rW  r;  rÏ  r´  r<  )rÏ  r†  r  r  rb  Úint64rQ  rÀ  rÁ   r$   ÚSAME©rr  r  r  rÏ  r´  s        r9  rÁ   rÁ   q	  s�   € ð �}Ø‰?Ø—I‘I‰EÜ×#Ò# A§G¡G×,Ñ,´×0FÒ0FÀqÇwÁw×0OÑ0OÜ—K‘K‰Eà—G‘GˆEà
ˆbƒy�C˜2“IØˆÜØ	Ü�	‰	ØØØØÜ4×9Ñ9ñð r;  c           
      ó  ^ ^^• [         R                  " TSS9m[        R                  " [         R                  " TT R
                  5      U U4S j5        [         R                  " TT R
                  5      (       a%  [        T5      S:”  a  [        R                  " T 5      $ T R                  [        T5      -
  m[        [        T5      5      [        U UU4S j[        T[        T5      5       5       5      -   n[        R                  " T USS S9$ )NF©Úvalidatec                  ó*   >• ST ST R                    S3$ )Nzsum_to_size: size "z" is not expandable to size "Ú"rB  ©rr  rZ  s   €€r9  rT  Úsum_to_size.<locals>.<lambda>–	  s   ø€ Ð% e WÐ,IÈ!Ï'É'ÈÐRSÑTr;  r   c              3   ón   >#   • U  H*  nTUT-
     S :X  d  M  TR                   U   S :w  d  M&  Uv •  M,     g7f©rV  NrB  )rM  rD  rr  Úleading_dimsrZ  s     €€€r9  rO  Úsum_to_size.<locals>.<genexpr>�	  s@   øé € ð 5â0ˆAØ��\Ñ!Ñ" aÑ'ó 	
à,-¯G©G°A©J¸!©O÷ 	
‰Ú0ùs   ƒ5—5¬	5T)r  r  rÏ  )r†  Úextract_shape_from_varargsrb  rm  Úis_expandable_torZ  Úis_same_shaperY  rÀ  Úview_ofrJ  rg  rl  rÁ   )rr  rZ  Úreduce_dimsrv  s   `` @r9  rÂ   rÂ   �	  sÈ   ú€ ô ×,Ò,¨U¸UÑC€EÜ	‡L‚LÜ×Ò˜u a§g¡gÓ.ÝTôô ×Ò˜5 !§'¡'×*Ñ*¬s°5«z¸A«~Ü�}Š}˜QÓÐØ—6‘6œC ›JÑ&€LÜœ˜lÓ+Ó,¬uö 5ä�|¤S¨£ZÔ0ó5ó 0ñ €Kô
 �9Š9�Q˜K°¸TÑBÐBr;  c          
      óh  • Ucw  Ub  UR                   nOg[        R                  " U R                   5      (       d%  [        R                  " U R                   5      (       a  [        R
                  nOU R                   nUS:X  d  U/ :X  a  S n[        U [        R                  UUUU[        R                  S9$ rh  )rÏ  r†  r  r  rb  rj  rQ  rÀ  rÃ   r$   rk  rl  s        r9  rÃ   rÃ   ¥	  s�   € ð �}Ø‰?Ø—I‘I‰EÜ×#Ò# A§G¡G×,Ñ,´×0FÒ0FÀqÇwÁw×0OÑ0OÜ—K‘K‰Eà—G‘GˆEà
ˆbƒy�C˜2“IØˆÜØ	Ü�
‰
ØØØØÜ4×9Ñ9ñð r;  rT  c                óv   • US:X  d  U/ :X  a  S n[        U [        R                  UUS US[        R                  S9$ ©NrR  F©rW  r;  rÏ  r´  r9  r<  )rQ  rÀ  r¸   r$   rk  ©rr  r  r  r´  s       r9  r¸   r¸   Ã	  óE   € ð ˆbƒy�C˜2“IØˆäØ	Ü�
‰
ØØØØØÜ4×9Ñ9ñ	ð 	r;  c                óv   • US:X  d  U/ :X  a  S n[        U [        R                  UUS US[        R                  S9$ r  )rQ  rÀ  r·   r$   rk  r�  s       r9  r·   r·   Û	  r‚  r;  c                 ó@   • Uc  [        U [        5      (       a  U nS n X4$ rJ  )r?  rŒ  )r  Úunbiaseds     r9  Ú_dim_var_dispatchr†  ó	  s(   € ð ÑœJ s¬D×1Ñ1ØˆØˆØˆ=Ðr;  ©Ú
correctionr…  rˆ  c                óÐ   • [        X5      u  p[        R                  " X$5      nUS:X  d  U/ :X  a  S n[        U [	        [
        R                  US9UUS S S[        R                  S9nU$ )NrR  r‡  Tr€  )	r†  r†  Úset_correctionrQ  r   rÀ  rÄ   r$   ÚCOMPLEX_TO_FLOAT)rr  r  r…  r  rˆ  r  s         r9  rÄ   rÄ   ý	  sl   € ô & cÓ4�M€CÜ×%Ò% hÓ;€Jà
ˆbƒy�C˜2“IØˆäØ	Ü”—	‘	 jÑ1ØØØØØÜ4×EÑEñ	€Fð €Mr;  c                ó4  • [        X5      u  p[        R                  " X$5      n[        R                  " U [        R
                  5      u  pV[        X5      n [        R                  " XXCS9n[        R                  " U5      nUc  [        S5      e[        X†5      $ ©N)rˆ  r  z/dtype should not be None after reduction_dtypes)r†  r†  rŠ  rL  r$   r‹  r+   rb  rÄ   rr   rã  )	rr  r  r…  r  rˆ  Úopmath_dtyperÏ  Úa_varÚa_stds	            r9  r¿   r¿   
  s…   € ô & cÓ4�M€CÜ×%Ò% hÓ;€Jä×0Ò0Ø	Ô%×6Ñ6óÑ€Lô 	  Ó0€AÜ�IŠI�a¨ÑE€EÜ�JŠJ�uÓ€EØ�}ÜÐNÓOÐOÜ" 5Ó0Ð0r;  c          
      ó  ^ ^^	• US:X  d  U/ :X  a  S nTm	Tc  T R                   m[        T [        R                  UUTS [        R
                  S9n[        R                  " [        R                  " T5      =(       d    [        R                  " T5      UU	4S j5        [        U[        5      (       a  U4n[        R                  " T R                  U5      nT R                  S:X  a  SO$[!        ["        R$                  U 4S jU 5       S5      n['        XW5      nTc  T R                   OTn[)        XX5      nUbJ  [        U[*        5      (       d  [-        S[/        U5       35      e[1        XER                  5      n[3        XTS9$ U$ )	NrR  ri  c                  ó   >• STc  SOS ST  3$ )Nz&mean(): could not infer output dtype. ÚInputr   z> dtype must be either a floating point or complex dtype. Got: rR  )rÏ  Ú
orig_dtypes   €€r9  rT  Úmean.<locals>.<lambda>L
  s"   ø€ Ø4Ø$Ñ,‰w°*Ð=ð >7Ø7<°gñ?r;  r   rV  c              3   óB   >#   • U  H  nTR                   U   v •  M     g 7frJ  rB  rC  s     €r9  rO  Úmean.<locals>.<genexpr>U
  s   øé € Ð7QÊDÀq¸¿¹À¾
ÊDùs   ƒr?  rH  )rÏ  rQ  rÀ  rÁ   r$   ÚKEEP_PROMOTED_TYPErb  rm  r†  rò  rÎ  r?  r   rK  rZ  rJ  r   Úoperatorrž   r©   r+   r'   rã  r6  r,   r-   )
rr  r  r  rÏ  r´  r  rW  Únelemr  r”  s
   `  `     @r9  r¼   r¼   2
  s?  ú€ ð ˆbƒy�C˜2“IØˆØ€JØ�}Ø—‘ˆÜØ	Ü�	‰	ØØØØÜ4×GÑGñ€Fô 
‡L‚LÜ×Ò˜UÓ#×D¤u×'=Ò'=¸eÓ'Dõ	
ôô �#”s×ÑØˆfˆÜ×Ò §¡¨Ó-€DØ—‘˜1“‰A¤&¬¯©Ô7QÉDÓ7QÐSTÓ"U€EÜ˜Ó'€FØ#™m�1—7’7°€LÜ$ VÓ:€FØ
�Ü˜#œz×*Ñ*Ü Ð#?ÄÀSÃ	¸{Ð!KÓLÐLÜ §\¡\Ó2ˆÜ¨Ñ<Ð<Ø€Mr;  Úout0Úout1)r…  r  rˆ  c                óf  • [        X5      u  p[        R                  " X$5      n[        R                  " U [        R
                  5      u  pVU R                  n[        X5      n [        R                  " XXCS9u  p‰[        R                  " U5      n
Uc  [        S5      e[        X¦5      [        X—5      4$ r�  )r†  r†  rŠ  rL  r$   r‹  rÏ  r+   rb  rÅ   rr   rã  )rr  r  r…  r  rˆ  rŽ  rÏ  Úoriginal_dtyper�  Úa_meanr�  s              r9  rÀ   rÀ   a
  sŸ   € ô & cÓ4�M€CÜ×%Ò% hÓ;€JÜ×0Ò0Ø	Ô%×6Ñ6óÑ€Lð —W‘W€NÜ Ó0€AÜ—N’N 1°jÑR�M€EÜ�JŠJ�uÓ€EØ�}ÜÐNÓOÐOä Ó-Ü Ó7ðð r;  c                óP   • [        X5      u  p[        XX#US9n[        XU5      nXV4$ )Nr‡  )r†  rÄ   r¼   )rr  r  r…  r  rˆ  ÚvÚms          r9  rÅ   rÅ   |
  s1   € ô & cÓ4�M€CÜˆA�H°*Ñ=€AÜˆQ�WÓ€AØˆ4€Kr;  )r  Úvec1Úvec2)Úbetarm  r£  r¤  r¥  c                ó  ^ ^^^^^• [         R                  " TR                  S:H  U4S j5        [         R                  " TR                  S:H  U4S j5        TS4TS44 H¤  u  nm[        U[        5      (       d  M  [         R                  " [
        R                  " T R                  5      =(       aG    [
        R                  " TR                  5      =(       a     [
        R                  " TR                  5      U4S j5        M¦     T R                  TR                  S   TR                  S   5      m [
        R                  " T R                  5      (       aî  [         R                  " [        [        T5      [        5      U4S j5        [         R                  " [        [        T5      [        5      U4S	 j5        T(       d5  T(       a  [         R                  " TT5      $ [         R                  " T S
5      $ [         R                  " T T(       a  [         R                  " TT5      5      $ [         R                  " T S
5      5      $ [         R                  " [        [        T5      [!        T R                  5      5      UU 4S j5        [         R                  " [        [        T5      [!        T R                  5      5      UU 4S j5        TS:X  a  T[         R                  " TT5      -  $ TT -  T[         R                  " TT5      -  -   $ )NrV  c                  ó$   >• ST R                    S3$ )Nz*addr: Expected 1-D argument vec1, but got ú-D©rJ  )r£  s   €r9  rT  Úaddr.<locals>.<lambda>œ
  ó   ø€ Ð<¸T¿Y¹Y¸KÀrÑJr;  c                  ó$   >• ST R                    S3$ )Nz*addr: Expected 1-D argument vec2, but got r¨  r©  )r¤  s   €r9  rT  rª   
  r«  r;  rm  r¥  c                  ó   >• ST  S3$ )NzBoolean z$ only supported for Boolean results.rR  )Úarg_names   €r9  rT  rª  ¨
  s   ø€ ˜( 8 *Ð,PÑQr;  r   c                  ó    >• S[        T 5       3$ )Nzexpected bool/int beta but got r5  )r¥  s   €r9  rT  rª  ¯
  s   ø€ Ð5´d¸4³j°\ÑBr;  c                  ó    >• S[        T 5       3$ )Nz expected bool/int alpha but got r5  rl  s   €r9  rT  rª  ³
  s   ø€ Ð6´t¸E³{°mÑDr;  Fc                  ó:   >• S[        T 5       STR                   3$ ©Nzcannot safely convert z to ©r6  rÏ  )r¥  r  s   €€r9  rT  rª  ¿
  s   ø€ Ð,¬T°$«Z¨L¸¸T¿Z¹Z¸LÑIr;  c                  ó:   >• S[        T 5       STR                   3$ r²  r³  )rm  r  s   €€r9  rT  rª  Ã
  s   ø€ Ð,¬T°%«[¨M¸¸d¿j¹j¸\ÑJr;  )rb  rm  rJ  r?  rŒ  r†  r  rÏ  rà   rZ  r    r6  ÚintÚouterr  r˜   r   )r  r£  r¤  r¥  rm  Úargr®  s   ````` @r9  rÆ   rÆ   Œ
  s  ý€ ô 
‡L‚LØ�	‰	�Q‰ÜJôô 
‡L‚LØ�	‰	�Q‰ÜJôð ! 'Ð*¨T°6¨NÓ;‰ˆˆXÜ�cœ4× Ó Ü�LŠLÜ×&Ò& t§z¡zÓ2÷ 7Ü×*Ò*¨4¯:©:Ó6÷7ä×*Ò*¨4¯:©:Ó6ÜQö	ñ <ð �;‰;�t—z‘z !‘} d§j¡j°¡mÓ4€DÜ×Ò˜dŸj™j×)Ñ)ä�ŠÜ!¤$ t£*¬cÓ2ÜBô	
ô 	�ŠÜ!¤$ u£+¬sÓ3ÜDô	
ö Þ.3”5—;’;˜t TÓ*ÐU¼¿ºÈÈuÓ9UÐUä×#Ò#ØÞ+0”—’˜D $Ó'óð ä6;·o²oÀdÈEÓ6Róð ô
 	�ŠÜ!¤$ t£*¬m¸D¿J¹JÓ.GÓHÝIô	
ô 	�ŠÜ!¤$ u£+¬}¸T¿Z¹ZÓ/HÓIÝJô	
ð �1‹9àœ5Ÿ;š; t¨TÓ2Ñ2Ð2à˜$‘; ¬¯ª°T¸4Ó)@Ñ!@Ñ@Ð@r;  r·  r�  .c                 ó,  • U(       d,  [        U [        R                  R                  5      (       a  U nO:[        U [        R                  R                  5      (       a  [	        S5      eU 4U-   n[        S U 5       5      n[        U5      S:”  a  U$ US   $ )z5Reference implementation of :func:`torch.atleast_1d`.ú2arg should not be a Sequence when args is providedc              3   ó\   #   • U  H"  oR                   S :¼  a  UO[        US5      v •  M$     g7f)rV  r   N)rJ  r  ©rM  rr  s     r9  rO  Úatleast_1d.<locals>.<genexpr>×
  s#   é € ÐEºu¸!—V‘V˜q“[‘¤i°°1£oÔ5ºuùs   ‚*,rV  r   )r?  ÚcollectionsÚabcr   rã  rg  rY  )r·  r�  Úargs_rË  s       r9  rÉ   rÉ   Í
  sy   € ö ”J˜s¤K§O¡O×$<Ñ$<×=Ñ=Ø‰ä�cœ;Ÿ?™?×3Ñ3×4Ñ4Ü Ð!UÓVÐVØ�˜‘ˆÜ
ÑE¹uÓEÓ
E€CÜ�c“(˜Q“,ˆ3Ð* C¨¡FÐ*r;  Úat_least_fnc                 ó€   • U " U5      n[        U[        5      (       d  [        S[        U5       35      e[	        X15      $ )Nz(at_least_fn must return TensorLike, got )r?  r'   rã  r6  r  )rÀ  r  r·  Úarg_s       r9  Ú_unsqueeze_atleastrÃ  Ý
  s=   € ñ �sÓ€DÜ�dœJ×'Ñ'ÜÐGÌÈTË
À|ÐTÓUÐUÜ�TÓÐr;  c                 ó^  ^• U(       d,  [        U [        R                  R                  5      (       a  U nO:[        U [        R                  R                  5      (       a  [	        S5      eU 4U-   n[        [        [        S5      m[        U4S jU 5       5      n[        U5      S:”  a  U$ US   $ )z5Reference implementation of :func:`torch.atleast_2d`.r¹  r   c              3   óV   >#   • U  H  oR                   S :¼  a  UOT" U5      v •  M      g7f)rF  Nr©  )rM  rr  Úunsqueeze_atleast_1ds     €r9  rO  Úatleast_2d.<locals>.<genexpr>ò
  ó$   øé € ÐMÂuÀ!—V‘V˜q“[‘Ñ&:¸1Ó&=Ô=Âuùó   ƒ&)rV  )
r?  r½  r¾  r   rã  r   rÃ  rÉ   rg  rY  )r·  r�  r¿  rË  rÆ  s       @r9  rÊ   rÊ   ç
  sŠ   ø€ ö ”J˜s¤K§O¡O×$<Ñ$<×=Ñ=Ø‰ä�cœ;Ÿ?™?×3Ñ3×4Ñ4Ü Ð!UÓVÐVØ�˜‘ˆÜ"Ô#5´zÀ1ÓEÐÜ
ÔMÁuÓMÓ
M€CÜ�c“(˜Q“,ˆ3Ð* C¨¡FÐ*r;  c                 ó^  ^• U(       d,  [        U [        R                  R                  5      (       a  U nO:[        U [        R                  R                  5      (       a  [	        S5      eU 4U-   n[        [        [        S5      m[        U4S jU 5       5      n[        U5      S:”  a  U$ US   $ )z5Reference implementation of :func:`torch.atleast_3d`.r¹  r\  c              3   óV   >#   • U  H  oR                   S :¼  a  UOT" U5      v •  M      g7f)é   Nr©  )rM  rr  Úunsqueeze_atleast_2ds     €r9  rO  Úatleast_3d.<locals>.<genexpr>  rÈ  rÉ  rV  r   )
r?  r½  r¾  r   rã  r   rÃ  rÊ   rg  rY  )r·  r�  r¿  rË  rÍ  s       @r9  rË   rË   ÷
  sŠ   ø€ ö ”J˜s¤K§O¡O×$<Ñ$<×=Ñ=Ø‰ä�cœ;Ÿ?™?×3Ñ3×4Ñ4Ü Ð!UÓVÐVØ�˜‘ˆÜ"Ô#5´zÀ2ÓFÐÜ
ÔMÁuÓMÓ
M€CÜ�c“(˜Q“,ˆ3Ð* C¨¡FÐ*r;  rP  rL  rR  c                 óZ   • Ub  UOU R                  5       n[        R                  " XX$5      $ rJ  )rR  rÀ  rÌ   )rr  rP  rL  rR  Ústorage_offset_ints        r9  rÌ   rÌ     s1   € ð )Ñ4‰¸!×:JÑ:JÓ:Lð ô ×Ò˜A VÓ@Ð@r;  Úsrcc                 ó@   • Uc  SOUn[         R                  " XX#U5      $ r1  )rÀ  rÎ   )rÌ  rÑ  rP  rL  rR  rÐ  s         r9  rÎ   rÎ     s'   € ð -Ñ4™¸.ÐÜ×#Ò# E°Ð>PÓQÐQr;  c                  ó:   • [         R                  " [        U 6 5      $ rJ  )rb  ÚSizert  )rq  s    r9  rÐ   rÐ     s   € Ü�:Š:Ô'¨Ð0Ó1Ð1r;  c                  ó‚   • [        U 5      S:X  a  [        U S   [        5      (       d  U S   n [        [	        U SS065      $ )NrV  r   ru  F)rY  r?  rg  rf  rŽ  ©Útensorss    r9  rÑ   rÑ   #  s?   € ô ˆ7ƒ|�qÓ¤¨G°A©J¼×!?Ñ!?Ø˜!‘*ˆÜÔ  'ÐMÀuÑMÓNÐNr;  c                 óÈ   • [        U5      [        U R                  5      -
  n[        [        U[        U R                  5      U-   5      5      n[        R
                  " XU5      $ rJ  )rY  rZ  rg  rl  rÀ  rM  )rr  rP  ÚstartrW  s       r9  rÒ   rÒ   ,  sI   € Ü�‹Iœ˜AŸG™G›Ñ$€EÜ”�uœc !§'¡'›l¨UÑ2Ó3Ó4€DÜ×!Ò! !¨4Ó0Ð0r;  rÖ  r×  c                 óT  ^
^^^• S n[        U 5      S:X  a  Sn[        U5      eU  H/  n[        U[        5      (       a  M  [	        S[        U5       35      e   [        R                  " U SS06  SSKJ	n  S m
[        U 5       He  u  mmT
c  TR                  S:w  a  Tm
M  M  TR                  S:w  d  M1  [        R                  " TR                  T
R                  :H  U
UU4S	 j5        Mg     T
c  U S   m
T
R                  n/ n[        U 5       HÄ  u  mn[        U5      [        UR                  5      :w  a\  UR                  S:w  a  [	        S
UR                   35      e[        R                  " U" UR                  S   S:H  5      U
U4S j5        M„  UR                  S:X  a  U" UR                  S   S:H  5      (       a  M³  UR                  U5        MÆ     U" U 5      n[        U5      S:X  aB  U S   m [!        [#        S U  5       5      5      n	['        STR(                  TR*                  U	US9$ [        R,                  " US   R                  U5      n[        R.                  " US   R                  U5        [0        R2                  " Xq5      R5                  US9$ ! [$         a    Sn	 Nšf = f)Nc                 óÌ   • S nU  HM  n[         R                  " U5      nU[        R                  :X  a  Us  $ Ub  X:w  a  [        R                  s  $ UnMO     Uc  [	        S5      eU$ )Nz,format should not be None if len(inputs) > 0)r†  Úsuggest_memory_formatrb  rW  rã  )ÚinputsÚformatrý   Úfs       r9  Ú cat_compute_output_memory_formatÚ-cat.<locals>.cat_compute_output_memory_format9  sg   € ØˆÛˆAÜ×+Ò+¨AÓ.ˆAØ”E×+Ñ+Ó+Ø’ØÑ! f£kÜ×.Ñ.Ò.ØŠFñ ð ‰>Ü Ð!OÓPÐPØˆr;  r   z3cat expects at least one tensor, but received zero!ztensor must be TensorLike, got r  F©rE  rV  c                  óD   >• ST R                    STR                    ST S3$ )Nú6Number of dimensions of tensors must match.  Expected z-D tensors, but got z-D for tensor number ú in the listr©  )ÚexamplerD  rý   s   €€€r9  rT  Úcat.<locals>.<lambda>l  s.   ø€ ð  Ø '§¡˜~Ð-AÀ!Ç&Á&Àð J%Ø%& C |ñ5r;  z+tensor.ndim should be 1 at this point, got c                  ó*   >• ST R                    ST S3$ )Nrä  z*-D tensors, but got 1-D for tensor number rå  r©  )ræ  Ú
tensor_idxs   €€r9  rT  rç  ‹  s"   ø€ ð Ø#ŸL™L˜>ð *!Ø!+ ¨Lñ:r;  c              3   ó8   #   • U  H  oR                   v •  M     g 7frJ  )Úrequires_gradrL  s     r9  rO  Úcat.<locals>.<genexpr>¢  s   é € Ð$Fºg¸§_¦_ºgùr[  ©r   ©rÏ  r8  rë  r  r  )rY  rn  r?  r'   rã  r6  r†  r  ra  rE  rk  rJ  rb  rm  rZ  r»  rŒ  r¹   Ú	Exceptionr  rÏ  r8  Úcanonicalize_dimÚvalidate_idxrÀ  rÓ   r²   )r×  r  rà  rå  ÚtensorrE  rZ  Úfilteredr  rë  ræ  rD  rý   ré  s             @@@@r9  rÓ   rÓ   2  si  û€ òô ˆ7ƒ|�qÓØCˆÜ˜‹oÐãˆÜ˜&¤*×-Ó-Ü Ð#BÄ4ÈÃ<À.Ð!QÓRÐRñ ô 
×Ò˜WÐE¸uÒEåDð$ €Gä˜'Ö"‰ˆˆ1Ø‰?Ø�v‰v˜‹{Ø’ñ ð �v‰v˜�{Ü—’Ø—F‘F˜gŸl™lÑ*ö5öñ #ð �ð ˜!‘*ˆà�M‰M€EØ€HÜ'¨Ö0Ñˆ
�FÜˆu‹:œ˜VŸ\™\Ó*Ó*Ø�{‰{˜aÓÜ$ØAÀ&Ç+Á+ÀÐOóð ô �LŠLñ ˜vŸ|™|¨A™°!Ñ3Ó4õ:öð$ �{‰{˜aÓ¡N°6·<±<À±?ÀaÑ3G×$HÑ$HÙà�O‰O˜FÖ#ñ9 1ñ< 5°WÓ=€Mä
ˆ8ƒ}˜ÓØ�A‰Jˆð	"ô !¤Ñ$F¹gÓ$FÓ!FÓGˆMô ØØ—'‘'Ø—8‘8Ø'Ø'ñ
ð 	
ô ×
 Ò
  ¨!¡×!1Ñ!1°3Ó
7€CÜ	×Ò�x ‘{×'Ñ'¨Ô-ä�9Š9�XÓ#×)Ñ)¸Ð)ÐFÐFøô ó 	"Ø!ŠMð	"ús   Ç1J ÊJ'Ê&J'c                 ó>   • [        S U  5       5      n[        US5      $ )Nc              3   ó†   #   • U  H7  oR                   S :”  a  UO UR                  UR                  5       S 45      v •  M9     g7fru  )rJ  ró   r  rL  s     r9  rO  Úcolumn_stack.<locals>.<genexpr>·  s3   é € ð Ú@G¸1�V‰V�a‹Z‰˜QŸY™Y¨¯©«	°1 ~Ó6Ô6Âùs   ‚?ArV  )rg  rÓ   ©r×  Úaligned_tensorss     r9  rÕ   rÕ   µ  s(   € äñ Ù@Góó €Oô ˆ Ó"Ð"r;  c                 óÊ   • [         R                  " U R                  5      (       d  U $ U R                  (       a  [        R
                  " U 5      $ [        R                  " U 5      $ rJ  )r†  rÎ  rÏ  Ú	is_sparserb  r:   rÀ  rÖ   rÐ  s    r9  rÖ   rÖ   ½  sC   € Ü×!Ò! %§+¡+×.Ñ.ØˆØ‡‡Ü×"Ò" 5Ó)Ð)Ü�:Š:�eÓÐr;  Úpadc           	      óº  ^^
^^^^• [         R                  " [        T5      S-  S:H  U4S j5        U R                  m[        T5      m[        T5      S-  nTU-
  m[         R                  " TU:¬  UU4S j5        U n[	        TT5       Hx  m
STT
-
  S-
  -  mTT   S:  a*  UR                  T
TT   * UR                  T
   TT   -   5      nTTS-      S:  d  MO  UR                  T
SUR                  T
   TTS-      -   5      nMz     [        R                  " S T 5       5      (       a  UR                  5       $ [        TS T 5      n[	        U5       Ha  m
[        T5      T
S-   S-  -
  mTTT
-      TT   -   TTS-      -   n[         R                  " US:¬  U
UUUU4S j5        UR                  U5        Mc     [        R                  " U 5      n[         R                  " UU R                  U R                  U R                   US9nUS:X  a   U R                  [         R"                  :X  a  S	n[         R$                  " X‚5      nUn	[	        TT5       Hw  m
STT
-
  S-
  -  mTT   S:¼  a)  U	R                  T
TT   U	R                  T
   TT   -
  5      n	TTS-      S:¼  d  MN  U	R                  T
SU	R                  T
   TTS-      -
  5      n	My     [&        R(                  " X”5        U$ )
NrF  r   c                  ó    >• S[        T 5       3$ )Nz1Length of pad must be even but instead it equals rX  )rû  s   €r9  rT  Ú!constant_pad_nd.<locals>.<lambda>Í  s   ø€ ÐCÄCÈÃHÀ:ÑNr;  c                  ó(   >• S[        T5       ST  S3$ )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.rX  )Úl_inprû  s   €€r9  rT  rþ  Ø  s    ø€ ð 2Ü25°c³(°Ð;PØˆ'�ñr;  rV  c              3   ó*   #   • U  H	  oS :  v •  M     g7frA  rR  )rM  Úps     r9  rO  Ú"constant_pad_nd.<locals>.<genexpr>ï  s   é € Ð'¢3˜a˜–E¢3ùs   ‚c            	      óF   >• STTT -       STT    STTS-       STT -    S3	$ )NzThe input size z, plus negative padding r·  rV  zG resulted in a negative output size, which is invalid. Check dimension z of your input.rR  )rD  Úinput_sizesÚl_diffrû  Úpad_idxs   €€€€€r9  rT  rþ  ù  sE   ø€ �o k°&¸1±*Ñ&=Ð%>Ð>VØ�7‰|ˆn˜E # g°¡kÑ"2Ð!3ð 41Ø17¸!±°¸OñMr;  rî  F)rb  rm  rY  rZ  rl  rë   rQ  r¶   r²   rf  r»  r†  rÜ  r  rÏ  r8  rë  rŒ  rG   rÀ  r³   )rÌ  rû  rÞ  Úl_padÚc_inputÚ	new_shapeÚnew_dimr  rB  Úc_outputrD  r  r  r  r  s    `        @@@@@r9  r×   r×   Æ  sÃ  ý€ ô
 
‡L‚LÜˆC‹�1‰˜ÑÜNôð
 —+‘+€KÜ�Ó€Eä�‹H˜‰M€EØ�U‰]€Fä	‡L‚LØ�‰õ	ôð €GÜ�6˜5Ö!ˆØ�u˜q‘y 1‘}Ñ%ˆØˆw‰<˜!ÓØ—n‘n Q¨¨W©¨°w·}±}ÀQÑ7GÈ#ÈgÉ,Ñ7VÓWˆGàˆw˜‰{Ñ˜aÕØ—n‘n Q¨¨7¯=©=¸Ñ+;¸cÀ'ÈAÁ+Ñ>NÑ+NÓOŠGñ "ô" ‡|‚|Ñ'¡3Ó'×'Ñ'Ø�}‰}‹Ðä�[  &Ð)Ó*€Iä�5Ž\ˆÜ�c“(˜q 1™u¨™kÑ*ˆØ˜f q™jÑ)¨C°©LÑ8¸3¸wÈ¹{Ñ;KÑKˆÜ�ŠØ�q‰L÷Mð Mô	
ð 	×Ñ˜Ö!ñ ô ×/Ò/°Ó6€MÜ�[Š[ØØ�k‰kØ�|‰|Ø×)Ñ)Ø#ñ€Fð �ƒz�e—k‘k¤U§Z¡ZÓ/Øˆä�ZŠZ˜Ó&€Fà€HÜ�6˜5Ö!ˆØ�u˜q‘y 1‘}Ñ%ˆØˆw‰<˜1ÓØ—‘Ø�3�w‘< §¡°Ñ!2°S¸±\Ñ!AóˆHð ˆw˜‰{Ñ˜qÕ Ø—‘ q¨!¨X¯^©^¸AÑ->ÀÀWÈqÁ[ÑAQÑ-QÓRŠHñ "ô 
‡M‚M�(Ô$Ø€Mr;  c                óœ   • [         R                  " U[         R                  :g  S 5        [        XS9(       a  U $ [         R                  " XS9$ )Nc                  ó   • g)Nz@preserve memory format is unsupported by the contiguous operatorrR  rR  r;  r9  rT  Úcontiguous.<locals>.<lambda>   s   € ÐRr;  r  )rb  rm  r   r   r²   )rr  r  s     r9  rØ   rØ     s?   € ô 
‡L‚LØœ×.Ñ.Ñ.ÙRôô 0°×OØˆä�;Š;�qÑ6Ð6r;  c                 ór   • [         R                  " [        U 5      S:„  S 5        [        U 6 n[	        US5      $ )Nr   c                  ó   • g)Nz%dstack expects a non-empty TensorListrR  rR  r;  r9  rT  Údstack.<locals>.<lambda>,  ó   € Ð+Rr;  rF  )rb  rm  rY  rË   rÓ   r÷  s     r9  rß   rß   *  ó1   € ä	‡L‚L”�W“ Ñ!Ñ#RÔSÜ  'Ð*€OÜˆ Ó"Ð"r;  )Úimplicitr  c                ó  ^^• SSK JnJnJnJn  [
        R                  R                  R                  R                  n[        U5      S:X  a&  [        US   [        5      (       a  [        US   5      n[
        R                  " [        U5      [        U R                  5      :¬  S 5        [        U5      [        U R                  5      -
  n[!        U5      n	[#        U R                  5       HÀ  u  n
mX¨-   nX+   mU" TS:H  5      (       a  TX›'   M$  U(       aO  U" T5      (       aB  U" T5      (       a5  U" T5      nU" T5      nUS:X  a  US:w  a  [
        R                  " TS:H  5        [
        R                  " U" TS:H  TT:H  5      UU4S j5        [
        R                  " TS:¬  5        TX›'   MÂ     [$        R&                  " U	5        [(        R*                  " X	[        [-        U[        U R                  5      U-   5      5      5      $ )Nr   )rE  rF  rH  r}  rV  c                  ó   • g)Nz3expand: the requested shape has too few dimensions!rR  rR  r;  r9  rT  Úexpand.<locals>.<lambda>D  s   € ÐEr;  r\  c                  ó   >• ST ST  S3$ )Nz3expand: attempting to expand a dimension of length ú -> r…  rR  )Úrequested_lengthrN  s   €€r9  rT  r  j  s   ø€ ÐMÈaÈSÐPTÐUeÐTfÐfgÑhr;  )ra  rE  rF  rH  r}  rb  rc  rd  re  rf  rY  r?  r   rg  rm  rZ  rf  rk  r†  Úvalidate_shaperÀ  rM  rl  )rr  r  rZ  rE  rF  rH  r}  rp  r–  Úshape_r`  Ú
offset_idxÚx_hintÚrequested_hintr  rN  s                 @@r9  rà   rà   1  s¦  ù€ ÷ó ô —‘×%Ñ%×-Ñ-×CÑC€Iô
 ˆ5ƒz�Qƒœ: e¨A¡h´×9Ñ9Ü�e˜A‘h“ˆä	‡L‚LÜˆE‹
”c˜!Ÿ'™'“lÑ"ÙEôô
 �‹Zœ#˜aŸg™g›,Ñ&€FÜ�%‹[€FÜ˜AŸG™GÖ$‰ˆˆQØ‘\ˆ
Ø Ñ,Ðñ Ð*¨bÑ0×1Ñ1Ø!"ˆFÓö ™X aŸ[™[©XÐ6F×-GÑ-GÙ" 1›�Ù!*Ð+;Ó!<�Ø˜Q“; >°QÓ#6Ü—L’L  a¡Ô(ä�LŠLÙ�q˜A‘vÐ/°1Ñ4Ó5Ýhôô �LŠLÐ)¨QÑ.Ô/Ø!1ˆFÓñI %ôN 
×Ò˜Ô ä×!Ò!Ø	”5œ˜v¤s¨1¯7©7£|°fÑ'<Ó=Ó>óð r;  c                 ó8   • U R                  UR                  5      $ rJ  )rà   rZ  rZ  s     r9  rá   rá   x  s   € Ø�8‰8�A—G‘GÓÐr;  Úchunksc           	      ó°  • US::  a  SU S3n[        U5      e[        R                  " U R                  U5      nU R                  U   n[
        R                  " XA-  5      n[
        R                  " XE-  5      nXE-  n[        U5       Vs/ s H  n[        XX…-  U5      PM     n	nUS:w  a  U	R                  [        XXe-  U5      5        [        U	5      $ s  snf )Nr   z%Expected at least one chunk, but got r…  )rn  r†  rð  rJ  rZ  r8  r9   rI   rl  rë   r»  rg  )
rr  r#  r  rå  ÚlengthÚ
chunk_sizeÚfull_chunksÚtail_chunk_sizerD  r  s
             r9  rÔ   rÔ   |  sÃ   € Ø�ƒ{Ø5°f°X¸QÐ?ˆÜ˜‹oÐä
×
 Ò
  §¡¨Ó
-€CØ�W‰W�S‰\€FÜ—’˜6™?Ó+€JÜ—*’*˜VÑ0Ó1€KØÑ)€OäBGÈÔBTÓUÒBT¸QŒf�Q˜Q™^¨ZÖ8ÑBT€FÐUà˜!ÓØ�‰”f˜Q [Ñ%=¸ÓOÔPä�‹=Ðùò Vs   Â	CÚ	start_dimÚend_dimc                 óF  • [         R                  " U R                  U5      n[         R                  " U R                  U5      nX:X  a  U R                  S:w  a  U $ [        R                  " XUS S9u  p4Ub  [        R
                  " XU5      $ [        R                  " XU5      $ )Nr   ©Úmust_be_valid)r†  rð  rJ  rÀ  Ú_collapse_view_helperÚcollapse_viewÚcollapse)rr  r)  r*  r  Ú_new_stridess        r9  rã   rã   ’  s�   € Ü×&Ò& q§v¡v¨yÓ9€IÜ×$Ò$ Q§V¡V¨WÓ5€Gð Ó §¡¨!£Øˆô
 $×9Ò9Ø	�g¨TñÑ€Ið ÑÜ×"Ò" 1°Ó9Ð9ô �>Š>˜!¨Ó0Ð0r;  c                 ó  • [        U[        5      (       d   [        U[        5      (       d  [        S5      e[        R
                  " U R                  U5      n[        R                  " U5        [        R                  " X5      $ )Nz!dims has to be a sequence of ints)
r?  rg  rf  rn  r†  Úcanonicalize_dimsrJ  Úvalidate_no_repeating_dimsrÀ  Úrev)rr  rW  s     r9  rä   rä   §  s\   € ô �dœE×"Ñ"¬:°d¼D×+AÑ+AÜÐ<Ó=Ð=Ü×"Ò" 1§6¡6¨4Ó0€DÜ	×$Ò$ TÔ*Ü�9Š9�QÓÐr;  c                 óP   • U R                   S:  a  [        S5      e[        U S5      $ )NrF  zInput must be >= 2-d.©rV  ©rJ  ri  rä   r—  s    r9  rå   rå   ²  ó%   € Ø‡v�v�ƒzÜÐ2Ó3Ð3ä��4‹=Ðr;  c                 óP   • U R                   S:  a  [        S5      e[        U S5      $ )NrV  zInput must be >= 1-d.rí  r8  r—  s    r9  ræ   ræ   º  r9  r;  rÙ  r%  c                 ót  ^^^• [        T[        5      (       a`  [        R                  " TR	                  5       S:H  =(       a     [
        R                  " TR                  5      S 5        TR                  5       m[        [        T5      m[        R                  " U R	                  5       S:„  S 5        [        R                  " TS:¬  S 5        [
        R                  " U R                  U5      nU R                  U5      m[        R                  " [        T* T:*  =(       a    TT:*  UU4S j5        TS:  a  TT-   m[        R                  " TTT-
  :*  UUU4S j5        [!        U R"                  5      nTXA'   U R%                  X@R'                  5       U R)                  5       U R'                  U5      T-  -   5      $ )Nr   c                  ó   • g)Nz'start must be an 0-dim integral Tensor.rR  rR  r;  r9  rT  Únarrow.<locals>.<lambda>Ê  s   € Ð=r;  c                  ó   • g)Nz-narrow() cannot be applied to a 0-dim tensor.rR  rR  r;  r9  rT  r=  Î  s   € Ð&Ur;  c                  ó   • g)Nz&narrow(): length must be non-negative.rR  rR  r;  r9  rT  r=  Ï  s   € Ð&Nr;  c                  ó   >• ST *  ST  ST S3$ )Nz0start out of range (expected to be in range of [ú, z], but got Ú)rR  )Ú
dim_lengthrÙ  s   €€r9  rT  r=  Õ  s#   ø€ ÐBÀJÀ;À-ÈrÐR\ÐQ]Ð]hÐinÐhoÐopÑqr;  c                  ó   >• ST ST ST  S3$ )Nzstart (z) + length (z) exceeds dimension size (z).rR  )rC  r%  rÙ  s   €€€r9  rT  r=  Û  s   ø€ �'˜%˜ ¨V¨HÐ4NÈzÈlÐZ\Ñ]r;  )r?  r'   rb  rm  r  r†  r  rÏ  r´   r   rµ  rð  rJ  rP  Ú_check_withÚ
IndexErrorrf  rZ  rÌ   rL  rR  )rr  r  rÙ  r%  r  rC  s     `` @r9  rë   rë   Â  sO  ú€ ô
 �%œ×$Ñ$Ü�ŠØ�I‰I‹K˜1Ñ×D¤×!7Ò!7¸¿¹Ó!DÙ=ô	
ð —
‘
“ˆÜ”�eÓ€EÜ	‡L‚L�—‘“˜1‘ÑUÔVÜ	‡L‚L�˜1‘ÑNÔOÜ
×
 Ò
  §¡¨Ó
-€CØ—‘˜“€JÜ	×ÒÜØ	ˆ�uÑ×4 ¨*Ñ!4Ýqôð
 ˆqƒyØ˜
Ñ"ˆÜ	‡L‚LØ�˜fÑ$Ñ$Þ]ôô �Q—W‘W“€IØ€I�NØ�<‰<Ø—8‘8“:˜q×/Ñ/Ó1°A·H±H¸S³MÀEÑ4IÑIóð r;  Ú	norm_dimsÚepsc                 óh  • [         R                  " U R                  U5      n[         R                  " U R                  5      n[        X5      n[        U[        5      (       d  [        S[        U5       35      e[        R                  " XASSS9u  pV[        R                  " XR-   5      nXF-
  U-  nX†U4$ )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  r…  r  )r†  r3  rJ  r  rÏ  r+   r?  r'   rã  r6  rb  rÅ   r÷   )	rr  rG  rH  r  Úa_accÚ
biased_varr¼   Úrstdr´  s	            r9  Ú
_normalizerN  ä  sž   € ô$ ×'Ò'¨¯©°	Ó:€IÜ×3Ò3°A·G±GÓ<ÐÜ# AÓ9€EÜ�eœZ×(Ñ(ÜÐ=¼dÀ5»k¸]ÐKÓLÐLÜ—~’~Ø u°dñÑ€Jô �;Š;�zÑ'Ó(€DØ‰<˜4Ñ
€CØ�dˆ?Ðr;  Ú
dimensionsc                 óV   • [        U5       H  n[        R                  " X5      n M     U $ rJ  )Úsortedrb  r  )rN  rO  r  s      r9  Ú_unsqueeze_multiplerR    s$   € Ü�jÖ!ˆÜ�OŠO˜AÓ#Šñ "à€Hr;  ÚweightÚbiasÚ
batch_sizeÚnum_channelsÚflattened_inner_sizeÚ
num_groupsc                 óx  ^ ^• [         R                  " T R                  S:¬  U 4S j5        [         R                  " UT-  S:H  U U4S j5        [        R                  " T R
                  5      n[        T U5      n	SS/n
[         R                  " U	UTUT-  U/5      n[        R                  " UR                  U
5      n
[         R                  " XºSSS9u  pÍ[         R                  " XÇ-   5      nT R                  R                  S	:X  a×  UbÔ  [         R                  " US
TUT-  S
/5      nXï-  nU* U-  nUb#  [         R                  " US
TUT-  S
/5      nUU-   nUR                  5       R                  X4/US
/5      nUR                  5       R                  X4/US
/5      n[        [!        ST R                  5      5      n[#        UU5      n[#        UU5      nU	U-  U-   nOmX½-
  U-  nUR%                  T R&                  5      nS/[        [!        ST R                  5      5      -   nUb  [#        UU5      nUU-  nUb  [#        UU5      nUU-   n[        UT R
                  5      n[        UT R
                  5      n[        UT R
                  5      n[         R(                  " XÚ5      n[         R(                  " Xê5      nUXÞ4$ )NrF  c                  ó"   >• ST R                    3$ )Nz=Expected at least 2 dimensions for input tensor but received r©  rÐ  s   €r9  rT  Ú#native_group_norm.<locals>.<lambda>  s   ø€ ÐOÐPU×PZÑPZÈ|Ñ\r;  r   c                  ó.   >• SST R                    ST 3-   $ )NzDExpected number of channels in input to be divisible by num_groups, zbut got input of shape z and num_groups = rB  )rÌ  rX  s   €€r9  rT  r[    s!   ø€ ÐVØ# E§K¡K =Ð0BÀ:À,Ð
OòPr;  rÌ  FTrJ  rŽ  rV  )rb  rm  rJ  r†  r  rÏ  r+   ró   r3  rÅ   r÷   r8  r6  rØ   rÌ   rf  rl  rR  r	  rZ  rû   )rÌ  rS  rT  rU  rV  rW  rX  rH  r  Ú	input_accrK  Úinput_reshapedrL  r¼   rM  Úweight_reshapedÚwrs  Úbias_reshapedrP  Úunsqueeze_wÚunsqueeze_br´  Úunsqueeze_weightÚunsqueeze_biass   `     `                  r9  rí   rí   
  s¡  ù€ ô 
‡L‚LØ�
‰
�a‰Ü\ôô 
‡L‚LØ�zÑ! QÑ&õ	Pôô ×3Ò3°E·K±KÓ@ÐÜ'¨Ð/@ÓA€Ià˜�V€NÜ—]’]ØØ	�Z °Ñ!;Ð=QÐRó€Nô ×,Ò,¨^×-@Ñ-@À.ÓQ€NÜ—~’~Ø°UÀDñÑ€Jô �;Š;�zÑ'Ó(€DØ‡|�|×Ñ˜EÓ! fÑ&8ÜŸ-š-Ø�Q˜
 L°JÑ$>ÀÐBó
ˆð Ñ"ˆØˆE�A‰IˆØÑÜ!ŸMšMØ�q˜* l°jÑ&@À!ÐDóˆMð �MÑ!ˆAØ�L‰L‹N×%Ñ% zÐ&@À<ÐQRÐBSÓTˆØ�L‰L‹N×%Ñ% zÐ&@À<ÐQRÐBSÓTˆÜœe A u§z¡zÓ2Ó3ˆÜ)¨!¨^Ó<ˆÜ)¨!¨^Ó<ˆØ˜+Ñ%¨Ñ3‰àÑ$¨Ñ,ˆØ�h‰h�u—{‘{Ó#ˆØ˜œt¤E¨!¨U¯Z©ZÓ$8Ó9Ñ9ˆØÑÜ2°6¸>ÓJÐØÐ(Ñ(ˆCØÑÜ0°°~ÓFˆNØ˜Ñ&ˆCä
! # u§{¡{Ó
3€CÜ" 4¨¯©Ó5€DÜ" 4¨¯©Ó5€Dô �=Š=˜Ó.€DÜ�=Š=˜Ó.€DØ�ÐÐr;  Úout2Únormalized_shapec                 óø  ^ ^^^• SSK Jn  [        T5      n[        R                  " US:¬  U4S j5        [        R                  " TS L =(       d    U" TR
                  [        T5      5      UU4S j5        [        R                  " TS L =(       d    U" TR
                  [        T5      5      UU4S j5        [        R                  " T R                  U:¬  =(       a,    U" T R
                  T R                  U-
  S  [        T5      5      U U4S j5        [        T 5      m Tb  [        T5      mTb  [        T5      mT R                  U-
  n[        [        UT R                  5      5      n[        T X„5      u  pšnTc	  Tb  U	T-   n	OTb	  Tc  U	T-  n	OTb  Tb  U	T-  T-   n	[        U	T R                  5      n	T R                  R                  S;   a,  [        U
T R                  5      n
[        UT R                  5      nXšU4$ )	Nr   ©Úsym_eqrV  c                  ó    >• S[        T 5      -   $ )NzzExpected normalized_shape to be at least 1-dimensional, i.e., containing at least one element, but got normalized_shape = )rˆ  )rg  s   €r9  rT  Ú#native_layer_norm.<locals>.<lambda>`  s   ø€ ð Iä
ÐÓ
ò r;  c                  óR   >• S[        TR                  5      -   S-   [        T 5      -   $ )NzQExpected weight to be of same shape as normalized_shape, but got weight of shape ú and normalized_shape = ©rˆ  rZ  )rg  rS  s   €€r9  rT  rl  j  s3   ø€ ð ä
ˆf�l‰lÓ
ñð %ñ%ô ÐÓ
ò	 r;  c                  óR   >• S[        T R                  5      -   S-   [        T5      -   $ )NzMExpected bias to be of same shape as normalized_shape, but got bias of shape rn  ro  )rT  rg  s   €€r9  rT  rl  s  s2   ø€ ð ä
ˆd�j‰j‹/ñð %ñ%ô ÐÓ
ò	 r;  c                  óp   >• S[        T5      -   S-   [        T5      -   S-   [        T R                  5      -   $ )NzGiven normalized_shape=z, expected input with shape z, but got input of size ro  )rÌ  rg  s   €€r9  rT  rl    sI   ø€ Ð)Ü
ÐÓ
ñ à
(ñ)ô ÐÓ
ñ ð %ñ	%ô
 ˆe�k‰kÓ
òr;  )rŽ  Úmtia)ra  rj  rY  rb  rm  rZ  rg  rJ  rØ   rf  rl  rN  r+   rÏ  r8  r6  )rÌ  rg  rS  rT  rH  rj  Únormalized_ndimÚaxisrK  r´  r¼   rM  s   ````        r9  rî   rî   R  sÄ  û€ õ =äÐ*Ó+€OÜ	‡L‚LØ˜1Ñô	 ôô 
‡L‚Là�$ˆ×G™& §¡¬uÐ5EÓ/FÓGõ	 ôô 
‡L‚Là�ˆ×C™˜tŸz™z¬5Ð1AÓ+BÓCõ	 ôô 
‡L‚LØ�
‰
�oÑ%÷ 	
ÙØ�K‰K˜Ÿ™ oÑ5Ð8Ð9ÜÐ"Ó#ó
õ	ôô �uÓ€EØÑÜ˜FÓ#ˆØÑÜ˜$Óˆà�:‰:˜Ñ'€DÜœ%  e§j¡jÓ1Ó2€NÜ  ¨Ó<�O€Cˆtà�~˜$Ñ*Ø�D‰j‰Ø	Ñ	 ¡Ø�F‰l‰Ø	Ñ	 Ñ 0Ø�F‰l˜TÑ!ˆä
! # u§{¡{Ó
3€CØ‡|�|×Ñ˜OÓ+Ü& t¨U¯[©[Ó9ˆÜ& t¨U¯[©[Ó9ˆØ�tÐÐr;  c                 ó   • [        U6 $ rJ  )rî   )Ú	fake_modeÚfuncr�  r§  s       r9  Únative_layer_norm_fakerx  Ÿ  s   € ä˜dÐ#Ð#r;  c                 ó˜   • [         R                  " U R                  [         R                  " U5      5      n[        R
                  " X5      $ rJ  )r†  r3  rJ  Úextract_dims_from_varargsrÀ  r  )rr  rW  Ú_permutations      r9  rï   rï   ¦  s7   € ä×*Ò*Ø	�‰”×/Ò/°Ó5ó€Lô �?Š?˜1Ó+Ð+r;  r  Úmaxnormc                 óv  ^^	• [         R                  " [        U[        5      (       + S 5        [         R                  " US:„  S 5        [         R                  " [        T[        5      (       + S 5        [         R                  " TS:¬  U4S j5        U R                  m	[         R                  " T	S:„  U	4S j5        [
        R                  " T	U5      n[        [        T	5      5      nXB	 [
        R                  " U R                  5      nXPR                  :w  a!  [         R                  R                  XUSUS	9nO[         R                  R                  XUSS
9nSn[         R                  " UT:„  TXg-   -  S5      nXPR                  :w  a   [        R                  " X€R                  5      nX-  R!                  5       $ )Nc                  ó   • g)Nzrenorm: p must be real-valuedrR  rR  r;  r9  rT  Úrenorm.<locals>.<lambda>³  s   € Ð5Tr;  r   c                  ó   • g)Nz'renorm: non-positive norm not supportedrR  rR  r;  r9  rT  r  ´  s   € Ð Ir;  c                  ó   • g)Nz#renorm: maxnorm must be real-valuedrR  rR  r;  r9  rT  r  ¶  s   € Ð2Wr;  c                  ó   >• ST  3$ )Nz,renorm: expected maxnorm to be >= 0 but got rR  )r|  s   €r9  rT  r  ¹  s   ø€ Ð LÈWÈIÑVr;  rV  c                  ó   >• ST  S3$ )Nz/renorm: input needs at least 2 dimensions, got ú dimensionsrR  r©  s   €r9  rT  r  ¾  s   ø€ ÐAÀ$ÀÀ{ÑSr;  T)r  rÏ  r
  gH¯¼šò×z>r†  )rb  rm  r?  rÎ  rJ  r†  rð  rf  rl  r  rÏ  ÚlinalgÚvector_normr±   rÀ  rÀ  rØ   )
rÌ  r  r  r|  r|  Úacc_typerb   rH  Únorm_factorrJ  s
      `     @r9  r0  r0  ®  s_  ù€ ô
 
‡L‚L”Z ¤7Ó+Ô+Ñ-TÔUÜ	‡L‚L��Q‘ÑIÔJÜ	‡L‚LÜ�w¤Ó(Ô(Ñ*Wôô 
‡L‚LØ�1‰ÔVôð �:‰:€DÜ	‡L‚LØˆq‰ÜSôô
 ×
 Ò
   sÓ
+€CÜ”u˜T“{Ó#€KØÐô ×*Ò*¨5¯;©;Ó7€HØ—;‘;ÓÜ�|‰|×'Ñ'Ø�k¨4°xð (ð 
‰ô �|‰|×'Ñ'¨°+ÀtÐ'ÐLˆà
€CÜ—+’+˜d W™n¨g¸¹Ñ.DÀcÓJ€KØ—;‘;ÓÜ×0Ò0°¿k¹kÓJˆØÑ×+Ñ+Ó-Ð-r;  Ún_fftÚ
hop_lengthÚ
win_lengthÚwindowÚcenterÚpad_modeÚ
normalizedÚonesidedÚreturn_complexÚalign_to_windowc                 óÀ  ^ ^^^^^• [         R                  " TS L =(       d    TR                  T R                  :H  U U4S j5        [         R                  " U(       + =(       d    U
S L S 5        Ub  UOTS-  mUb  UOTmU	c[  T R                  5       =(       d+    TS L=(       a     [        R
                  " TR                  5      n[         R                  " US 5        OU	n[         R                  " [        R                  " T R                  5      =(       d     [        R
                  " T R                  5      S 5        [         R                  " ST R                  s=:*  =(       a    S:*  Os  S 5        T R                  nUS:X  a  T R                  S	5      m U(       a‚  S
T R                  -
  nTS-  n/ [        R                  " SU5      QT R                  Qn[        R                  T R                  U5      Xî/U5      m T R                  T R!                  5       US  5      m T R!                  S5      m[         R                  " S	Ts=:  =(       a    T:*  Os  UU4S j5        [         R                  " TS	:„  U4S j5        [         R                  " S	Ts=:  =(       a    T:*  Os  U4S j5        [         R                  " TS L =(       d    TR                  T4:H  UU4S j5        TT:  aS  Tc*  [         R"                  " TT R                  T R                  S9mTT-
  S-  n[        R%                  TUTT-
  U-
  /5      mU(       d(  U
(       a!  TT-
  S-  n[        R                  T UU/U5      m T R'                  STTS9m Tb  T T-  m [        R
                  " T R                  5      nUb  UOU(       + nU(       a  SOS nU(       a=  [         R                  " U(       + S 5        [         R(                  R+                  T SUS9nO[         R(                  R)                  T SUS9nUR-                  SS5        US:X  a  UR/                  S	5      nU(       a  U$ [         R0                  " U5      $ )Nc                  óB   >• ST R                    3STR                    3-   $ )NzAstft input and window must be on the same device but got self on ú and window on r7  ©rÌ  rŒ  s   €€r9  rT  Ústft.<locals>.<lambda>ç  s'   ø€ ØOÐPU×P\ÑP\È~Ð^Ø §¡˜Ð/ò0r;  c                  ó   • g)Nz6stft only supports align_to_window for center = False.rR  rR  r;  r9  rT  r—  î  s   € ÐHr;  é   c                  ó   • g)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;  r9  rT  r—  ú  s   € ðcr;  c                  ó   • g)Nz:stft expected a tensor of floating point or complex valuesrR  rR  r;  r9  rT  r—    s   € ÐLr;  rV  rF  c                  ó   • g)Nzstft expected a 1D or 2D tensorrR  rR  r;  r9  rT  r—    s   € Ð/Pr;  r   rÌ  c                  ó   >• ST  ST 3$ )Nzstft expected 0 < n_fft <= z, but got n_fft=rR  )r%  r‰  s   €€r9  rT  r—    s   ø€ Ð-¨f¨XÐ5EÀeÀWÑMr;  c                  ó   >• ST  3$ )Nz0stft expected hop_length > 0 but got hop_length=rR  )Úhop_length_s   €r9  rT  r—    s   ø€ ÐBÀ;À-ÑPr;  c                  ó   >• ST  3$ )Nz9stft expected 0 < win_length <= n_fft but got win_length=rR  )Úwin_length_s   €r9  rT  r—    s   ø€ ÐKÈKÈ=ÑYr;  c                  ó0   >• ST  S3STR                    3-   $ )Nz8expected a 1D window tensor of size equal to win_length=rA  zbut got window with size rB  )r¡  rŒ  s   €€r9  rT  r—  "  s#   ø€ ØFÀ{ÀmÐSUÐVØ)¨&¯,©,¨Ð8ò9r;  r}  r\  )Ú	dimensionrP  ÚstepÚorthoc                  ó   • g)Nz9Cannot have onesided output if window or input is complexrR  rR  r;  r9  rT  r—  =  ó   € ÐOr;  ©r  rb   )rb  rm  r8  r/  r†  rÎ  rÏ  rò  rJ  r  Ú	itertoolsrò   rZ  r¹  rû  r	  rP  r%  r×   r  ÚfftÚrfftÚ
transpose_Úsqueeze_Úview_as_real)rÌ  r‰  rŠ  r‹  rŒ  r�  rŽ  r�  r�  r‘  r’  Úreturn_complex_Úoriginal_ndimÚ
extra_dimsÚ
pad_amountÚextended_shapeÚleftÚinput_pad_amountÚcomplex_fftrb   r´  rŸ  r%  r¡  s   ``  `                @@@r9  r1  r1  ×  s’  ý€ ô 
‡L‚LØ�$ˆ×7˜&Ÿ-™-¨5¯<©<Ñ7õ	
ôô 
‡L‚LØŒ
×-�o¨Ð-ÙHôð
 !+Ñ 6‘*¸EÀQ¹J€KØ *Ñ 6‘*¸E€KàÑØ×*Ñ*Ó,÷ 
Ø˜$Ð×G¤5×#9Ò#9¸&¿,¹,Ó#Gð 	ô 	�ŠØñõ	
ð )ˆä	‡L‚LÜ×Ò˜UŸ[™[Ó)×P¬U×-CÒ-CÀEÇKÁKÓ-PÙLôô 
‡L‚L��e—j‘j×%Ó% AÔ%Ñ'PÔQà—J‘J€MØ˜ÓØ—‘ Ó"ˆæØ˜Ÿ™‘^ˆ
Ø˜a‘Zˆ
ØIœ9×+Ò+¨A¨zÓ:ÐI¸U¿[¹[ÐIˆÜ—‘˜Ÿ™ NÓ3°jÐ5MÈxÓXˆØ—
‘
˜5Ÿ:™:›<¨
¨Ð4Ó5ˆà�Z‰Z˜‹]€FÜ	‡L‚LØ	ˆE×Ó�VÔÝMôô 
‡L‚LØ�a‰ÜPôô 
‡L‚LØ	ˆK× Ó ˜5Ô ÜYôô 
‡L‚LØ�$ˆ×8˜&Ÿ,™,¨;¨.Ñ8õ	
ôð �UÓØ‰>Ü—Z’Z °5·;±;ÀuÇ|Á|ÑTˆFØ˜Ñ#¨Ñ)ˆÜ×%Ñ% f¨t°U¸[Ñ5HÈ4Ñ5OÐ.PÓQˆæ–oØ! KÑ/°AÑ5ÐÜ—‘˜Ð!1Ð3CÐ DÀhÓOˆà�L‰L 2¨E¸ˆLÐD€EàÑØ˜‘ˆä×(Ò(¨¯©Ó5€KØ#Ñ/‰x¸´_€HÞ ‰7 d€DÞÜ�ŠØŒOÙOô	
ô �i‰i�n‰n˜U¨°ˆnÐ6‰ä�i‰i�m‰m˜E r°ˆmÐ5ˆà‡N�N�1�aÔà˜ÓØ�l‰l˜1‹oˆæ!ˆ3Ð>¤u×'9Ò'9¸#Ó'>Ð>r;  c
                 ó–
  ^ ^^• [         R                  " TS L =(       d    TR                  T R                  :H  U U4S j5        Ub  UOUS-  n
Ub  UOUn[         R                  " [        R                  " T R
                  5      U U4S j5        T R                  S5      nT R                  S5      mXUS-
  -  -   n[         R                  " T R                  5       S:„  S 5        [         R                  " S	T R                  s=:*  =(       a    S
:*  Os  U 4S j5        Ub  UOTU:g  nU(       a%  [         R                  " US	-  S-   T:H  U4S j5        O[         R                  " UT:H  U4S j5        [         R                  " SU
s=:  =(       a    U:*  Os  S 5        [         R                  " SUs=:  =(       a    U:*  Os  S 5        [         R                  " TS L =(       d    TR                  U4:H  S 5        Tc@  [        R                  " T R
                  5      n[         R                  " X¿T R                  S9nOTnX±:w  a%  X-
  S	-  n[        R                  UUX-
  U-
  4S5      nT R                  nT R                  S	:X  a  T R                  S5      m T R                  SS	5      m U(       a  SOS nU	(       a=  [         R                  " U(       + S 5        [         R                   R#                  T SUS9m Oƒ[         R                  " TS L =(       d%    [        R                  " TR
                  5      (       + S 5        U(       d  T R%                  SSUS	-  S-   S9m [         R                   R'                  T SUS9m T R                  S	5      U:w  a   [)        ST R                  S	5       SU 35      eT UR+                  SSU/5      -  n[        R-                  UUR                  S5      U4SUU
S9n[        R-                  UR/                  S	5      R1                  SXÁ45      UR                  S5      U4SUU
S9nUUR                  S5      :w  a!  [)        SU SUR                  S5       S35      eUUR                  S5      :w  a!  [)        SU SUR                  S5       S35      eU(       a  US	-  OSnUb  UU-   nOU(       a  XÑS	-  -
  nOUn[3        SUU-
  5      nUR%                  SUUS9nUR%                  SUUS9nUU-  nUS	:X  a  UR5                  S5      nUU:”  a1  [6        R8                  " SS	S9  [        R                  USUU-
  4S5      nU$ ) Nc                  óB   >• ST R                    3STR                    3-   $ ©NzBistft input and window must be on the same device but got self on r•  r7  r–  s   €€r9  rT  Úistft.<locals>.<lambda>[  s(   ø€ ØPÐQV×Q]ÑQ]ÐP^Ð_Ø §¡˜Ð/ò0r;  r™  c                  ó@   >• ST R                    STR                    3-   $ r¹  r7  r–  s   €€r9  rT  rº  f  s!   ø€ ØPØ—‘�˜o¨f¯m©m¨_Ð=ò>r;  r\  éþÿÿÿrV  r   c                  ó   • g)Nz"istft input tensor cannot be emptyrR  rR  r;  r9  rT  rº  o  s   € Ð,Pr;  rF  rÌ  c                  ó"   >• ST R                    3$ )Nz8istft expected a tensor with 2 or 3 dimensions, but got r©  rÐ  s   €r9  rT  rº  r  s   ø€ ÐJÈ5Ï:É:È,ÑWr;  c                  ó   >• SST  3-   $ )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   €r9  rT  rº  y  s   ø€ Ø_ØGÈÀzÐRòSr;  c                  ó   >• SST  3-   4$ )NrÀ  z,to match n_fft when onesided=False, but got rR  rÁ  s   €r9  rT  rº  �  s   ø€ Ø_Ø@ÀÀ
ÐKñLñr;  c                  ó   • g)Nz+istft expected 0 < hop_length <= win_lengthrR  rR  r;  r9  rT  rº  ‰  rH  r;  c                  ó   • g)Nz&istft expected 0 < win_length <= n_fftrR  rR  r;  r9  rT  rº  Œ  s   € Ð*Rr;  c                  ó   • g)NzDInvalid window shape. window has to be 1D and length of `win_length`rR  rR  r;  r9  rT  rº  �  s   € ÐVr;  r}  r¥  c                  ó   • g)Nz9cannot have onesided output if window or input is complexrR  rR  r;  r9  rT  rº  ¦  r§  r;  r¨  c                  ó   • g)Nz:Complex windows are incompatible with return_complex=FalserR  rR  r;  r9  rT  rº  ¬  ó   € ÐPr;  )r  rÙ  r%  z%Expected input.size(2) == n_fft, got z != )r  r  rP  r¤  zexpected_output_signal_len (z) != y.size(1) (rB  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)rb  rm  r8  r†  rÎ  rÏ  rP  r  rJ  rZ  Úcorresponding_real_dtyper%  r¹  r×   r  r  rª  Úifftrë   Úirfftrã  r	  Úunfold_backwardr¡   rà   rj  rû   ÚwarningsÚwarn)rÌ  r‰  rŠ  r‹  rŒ  r�  r�  r�  r%  r‘  rŸ  r¡  Ún_framesÚexpected_output_signal_lenÚ	onesided_Ú
real_dtypeÚwindow_r´  r°  rb   Úy_tmpr�  Úwindow_enveloprÙ  ÚendrÂ  s   `   `                    @r9  r2  r2  L  sù  ú€ ô 
‡L‚LØ�$ˆ×7˜&Ÿ-™-¨5¯<©<Ñ7õ	
ôð !+Ñ 6‘*¸EÀQ¹J€KØ *Ñ 6‘*¸E€Kä	‡L‚LÜ×Ò˜uŸ{™{Ó+õ	
ôð �z‰z˜"‹~€HØ�z‰z˜"‹~€Hà!&¸À1¹Ñ)EÑ!EÐÜ	‡L‚L�—‘“ Ñ"Ñ$PÔQÜ	‡L‚LØ	ˆU�Z‰Z×Ó˜1ÔÜWôð %Ñ0‘°hÀ%Ñ6G€IæÜ�ŠØ�Q‰J˜‰N˜hÑ&ôõ	
ô 	�ŠØ�XÑôô	
ô 
‡L‚LØ	ˆK×&Ó&˜;Ô&Ù=ôô 
‡L‚LØ	ˆK× Ó ˜5Ô Ñ"Rôô 
‡L‚LØ�$ˆ×8˜&Ÿ,™,¨;¨.Ñ8ÙVôð
 �~Ü×3Ò3°E·K±KÓ@ˆ
Ü—*’*˜[À5Ç<Á<ÑP‰àˆàÓØÑ#¨Ñ)ˆÜ×&Ñ& w°°uÑ7JÈTÑ7QÐ0RÐTUÓVˆà—J‘J€MØ‡z�z�QƒØ—‘ Ó"ˆà�O‰O˜A˜qÓ!€EÞ ‰7 d€DÞÜ�ŠØŒMÙOô	
ô —	‘	—‘˜u¨"°4�Ð8‰ä�ŠØ�dˆN×F¤%×"8Ò"8¸¿¹Ó"FÔFÙPô	
ö Ø—L‘L R¨q¸À!¹Àa¹�LÐHˆEÜ—	‘	—‘ ¨2°D�Ð9ˆà‡z�z�!ƒ}˜ÓÜØ3°E·J±J¸q³M°?À$ÀuÀgÐNó
ð 	
ð �G—L‘L ! Q¨ Ó/Ñ/€EÜ×ÑØØ—Z‘Z “]Ð$>Ð?ØØØð 	ð 	€Aô ×)Ñ)Ø�‰�A‹×Ñ˜q (Ð2Ó3Ø—Z‘Z “]Ð$>Ð?ØØØð *ð €Nð " Q§V¡V¨A£YÓ.ÜØ*Ð+EÐ*FÐFVÐWX×W]ÑW]Ð^_ÓW`ÐVaÐabÐcó
ð 	
ð " ^×%8Ñ%8¸Ó%;Ó;ÜØ*Ð+EÐ*FÐFcÐdr×dwÑdwÐxyÓdzÐc{Ð{|Ð}ó
ð 	
ö !ˆE�QŠJ a€EØÑØ�f‰n‰Þ	Ø(°A©:Ñ5‰à(ˆä��C˜%‘KÓ €FØ	�‰�Q˜e¨FˆÐ3€AØ#×*Ñ*¨q¸ÀfÐ*ÐM€Nà	ˆNÑ€AØ˜ÓØ�I‰I�a‹Lˆà
Ð'Ó'Ü�Šð`àò	
ô
 × Ñ   Q¨Ð.HÑ(HÐ$IÈ1ÓMˆØ€Hr;  Úa_shapeÚa_strider£  r¤  c                 ó¸  ^^^	^
• [        U 5      n[        R                  " XRSS9m	US:X  a  SOU T	   m
US:X  a  SOUT	   n[        R                  " TT
:*  U	U
U4S j5        [        R                  " TS:„  U4S j5        [        U 5      n[        U5      nUR                  T5        UR                  U5        T	U:  a  UT	   T-
  T-  S-   UT	'   UT	==   T-  ss'   Xx4$ )NT)Úwrap_scalarr   rV  c                  ó   >• ST  ST ST 3$ )Nz%Maximum size for tensor at dimension z is z but size is rR  )r  Úmax_sizerP  s   €€€r9  rT  Ú*_get_unfold_shape_stride.<locals>.<lambda>õ  s   ø€ Ð7¸°u¸DÀÀ
È-ÐX\ÐW]Ñ^r;  c                  ó   >• ST  S3$ )NzStep is z but must be > 0rR  ©r¤  s   €r9  rT  rà  ú  s   ø€ �(˜4˜&Ð 0Ñ1r;  )rY  r†  rð  rb  rm  rf  r»  )rÚ  rÛ  r£  rP  r¤  Úa_ndimÚlast_striderZ  Ústridesr  rß  s      ``    @@r9  Ú_get_unfold_shape_strideræ  ë  sÖ   û€ ô �‹\€FÜ
×
 Ò
  ÀÑ
E€CØ˜a“K‰q W¨S¡\€HØ “{‘!¨°©€Kä	‡L‚LØ�ÑÞ^ôô
 
‡L‚LØˆq‰Ü1ôô
 �‹M€EÜ�8‹n€GØ	‡L�L�ÔØ‡N�N�;ÔØ
ˆVƒ|Ø˜C‘j 4Ñ'¨DÑ0°1Ñ4ˆˆc‰
Ø�‹˜Ñ‹Øˆ>Ðr;  c                 óÞ  • [         R                  " USS9n[        R                  " [	        U5      [	        U R
                  5      :¬  S 5        [	        U5      S:X  a  [        R                  " U 5      $ [	        U5      U R                  -
  nS/U-  nU R
                   H  nUR                  U5        M     [        S [        X15       5       5      nSU;   aJ  [        R                  " UU R                  U R                  U R                  [         R                  " U 5      S9$ Un[         R                   " U5      n[#        U5       H  u  p„[%        XgX„['        US5      5      u  pgM      [)        [#        U5      5      n	U	R+                  [,        R.                  " S5      SS	9  [        U	6 u  p«U R1                  U5      n[        R                  " U5      nUR3                  U
5      nUR5                  U5      $ )
NFrn  c                  ó   • g)Nzbrepeat: Number of dimensions of repeat dims can not be smaller than number of dimensions of tensorrR  rR  r;  r9  rT  Úrepeat.<locals>.<lambda>  s   € Ðtr;  r   rV  c              3   ó.   #   • U  H  u  pX-  v •  M     g 7frJ  rR  )rM  Úpadded_sizeÚrepeat_sizes      r9  rO  Úrepeat.<locals>.<genexpr>  s   é € ð â(GÑ$ˆKð 	Ö!Ú(Gùó   ‚rî  T)ÚkeyÚreverse)r†  rx  rb  rm  rY  rZ  r²   rJ  r»  rg  r€  r  rÏ  r8  rë  rÜ  Úmake_contiguous_strides_forrk  ræ  rj  rf  Úsortr™  Ú
itemgetterrà   rï   ró   )rr  Ú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                  r9  rò   rò     s»  € ô ×3Ò3°LÈ5ÑQ€LÜ	‡L‚LÜˆLÓœS §¡›\Ñ)Ùtôô
 ˆ<Ó˜AÓÜ�{Š{˜1‹~Ðä˜\Ó*¨Q¯V©VÑ3ÐØ�3Ð+Ñ+€LØ—G”GˆØ×Ñ˜HÖ%ñ ô ñ ä(+¨LÔ(Góó €Lð 	ˆLÓÜ�{Š{ØØ—'‘'Ø—8‘8ØŸ/™/Ü×5Ò5°aÓ8ñ
ð 	
ð "€NÜ×7Ò7¸ÓE€OÜ" <Ö0‰ˆä*BØ¨S¼CÀÈ!Ó<Ló+
Ñ'ˆ™ñ 1ô œY Ó7Ó8ÐØ×Ñœx×2Ò2°1Ó5¸tÐÑDÜ$'Ð):Ð$;Ñ!€Mð —X‘X˜nÓ-€Nô —K’K Ó/€Mð $×+Ñ+¨MÓ:€Oð ×"Ñ" <Ó0Ð0r;  Ú
allow_copyc                 ó¸  ^
^• SmU m
U GHW  nTT
R                   :¼  aP  US:w  a  [        SU S35      eT
R                   S-
  n[        R                  " T
UT
R                  U   5      m
TS-   mMd  UT
R                  T   :X  a  TS-   mM~  T
R                  T   nTnXS-  S:w  a!  US-  nUT
R                  U   -  nXS-  S:w  a  M!  UT:w  aw  [        R
                  " T
TUS S9u  pxUcN  U(       a  [        R                  " X5      s  $ SU R                   SU R                  5        SU S	3n	[        U	5      e[        T
TU5      m
XS:w  a  [        R                  " T
TU5      m
TS-   mGMZ     TT
R                   :  aJ  [        R                  " T
R                  T   S:H  U
U4S
 j5        [        T
T5      m
TT
R                   :  a  MJ  T
U L a  [        R                  " U 5      $ T
$ )Nr   rV  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                  ó.   >• ST ST R                   T    3$ )Nza.size(z) expected to be 1 but got rB  )r  r`  s   €€r9  rT  Ú/_reshape_view_helper_core_alg.<locals>.<lambda>Œ  s   ø€ �g˜c˜UÐ"=¸b¿h¹hÀs¹m¸_ÑMr;  )rJ  rã  rÀ  Ú	split_dimrZ  r.  ró   rL  rn  rã   rb  rm  rû   r{  )rr  rZ  r  r%  Úlast_dimÚaccumrÙ  r  r1  rå  r  r`  s             @@r9  Ú_reshape_view_helper_core_algr	  A  sæ  ù€ ð( €CØ	
€BÜˆà�"—'‘'‹>Ø˜‹{Ü$Ø=¸f¸XÀ\ÐRóð ð —w‘w ‘{ˆHô —’  X¨r¯x©x¸Ñ/AÓBˆBØ˜‘'ˆCÙð �R—X‘X˜c‘]Ó"Ø˜‘'ˆCÙà—‘˜‘ˆØˆØ‰n Ó!Ø�1‰HˆCØ�R—X‘X˜c‘]Ñ"ˆEð ‰n Õ!ð �#‹:ô ',×&AÒ&AØ�C˜¨Dñ'Ñ#ˆIð Ñ ÞÜ Ÿ=š=¨Ó2Ò2à8¸¿¹¸	ÀÈqÏxÉxËzÈlÐZrÐsxÐryÐyzÐ{�Ü  “oÐ%ä˜˜S #Ó&ˆBð ‹?Ü—’  S¨&Ó1ˆBà�A‰g‹ñ_ ðd �—‘‹-Ü�ŠØ�H‰H�S‰M˜QÑÝMô	
ô �R˜Óˆð �—‘�-ð 
ˆQ‚wÜ�}Š}˜QÓÐàˆ	r;  c                ó6  ^ ^• [         R                  " TSS9m[         R                  " TT R                  5       5      mT R                  5       S:X  a!  [	        T T[         R
                  " T5      5      $ T R                  S:X  aH  T nT H#  nUS:w  a  [        SU 35      e[        US5      nM%     UT L a  [        R                  " T 5      $ U$ [        T5      S:X  aR  T nT R                   H#  nUS:w  a  [        SU 35      e[        US5      nM%     UT L a  [        R                  " T 5      $ U$ [        T 5      (       a‹  [        T5      S:X  a8  T R                  S:”  a(  [        R                  " T T R                  5       /S/5      $ [        T5      S:X  a5  T R                  S:X  a%  TS   nTS   n[        R                  " T XV/US/5      $ [!        ["        R$                  TS5      n[        R&                  " T R                  5       U:H  U U4S	 j5        [)        T TU5      $ )
NFrn  r   rV  z<Cannot reshape 0-dim tensor: shape dimension must be 1, got r\  z?Cannot reshape to 0-dim tensor: shape dimension must be 1, got rF  c                  ó*   >• ST R                    ST S3$ )Nz&Could not reshape a tensor with shape r  r…  rB  rr  s   €€r9  rT  Ú&_reshape_view_helper.<locals>.<lambda>Ê  s   ø€ Ð8¸¿¹¸	ÐAYÐZ_ÐY`Ð`aÑbr;  )r†  rx  Ú
infer_sizer  rÌ   rñ  rJ  rã  r  rÀ  r{  rY  rZ  rû   r   rb  r   r™  rž   rm  r	  )rr  r  rZ  Ú_ar%  Údim0Údim1Úshape_numels   ` `     r9  Ú_reshape_view_helperr  –  sê  ù€ ä×,Ò,¨U¸UÑC€Eô ×Ò˜U A§G¡G£IÓ.€Eð 	‡w�wƒy�Aƒ~Ü˜!˜U¤E×$EÒ$EÀeÓ$LÓMÐMð 	‡v�v�ƒ{ØˆÛˆFØ˜‹{Ü$ØRÐSYÐRZÐ[óð ô ˜2˜rÓ"ŠBñ ð �Š7Ü—=’= Ó#Ð#àˆIô ˆ5ƒz�QƒØˆØ—g”gˆFØ˜‹{Ü$ØUÐV\ÐU]Ð^óð ô ˜˜R“ŠBñ ð �Š7Ü—=’= Ó#Ð#àˆIä˜a× Ñ äˆu‹:˜‹?˜qŸv™v¨›zÜ×#Ò# A¨¯©«	 {°Q°CÓ8Ð8äˆu‹:˜‹?˜qŸv™v¨›{Ø˜‘8ˆDØ˜‘8ˆDÜ×#Ò# A¨ |°d¸A°YÓ?Ð?äœŸ™ u¨aÓ0€KÜ	‡L‚LØ	�‰‹	�[Ñ Ýbôô )¨¨E°:Ó>Ð>r;  rZ  c                 ó    • [        U /UQ7SS06$ )Nr  T)r  rr  s     r9  ró   ró   Õ  s   € Ü Ð; EÒ;°dÑ;Ð;r;  c                 ó@   • U R                  UR                  5       5      $ rJ  )ró   rP  ©r  r-  s     r9  rô   rô   Ú  s   € Ø�<‰<˜Ÿ
™
›Ó%Ð%r;  Úshiftsc                 óú  • [         R                  " U R                  U5      n[        U[        5      (       d  U4n[        U[        5      (       d  U4nU R                  5       S:X  a  U R                  5       $ U R                  5       S:X  a!  [        U5      S:”  a  [        SUS    S35      e[        U5      n[        U5      nUS:w  d  US:w  aË  US:X  a  [        S5      eUS:X  aK  US:X  aE  [        R                  " [        R                  " U 5      US5      R                  U R                  5      $ X4:w  a  [        SU SU 35      eUS::  a  [!        SU 35      eUSS	 nUSS	 n[        R                  " XS   4US   5      n[        R                  " XuU5      $ US   nU R                  U   n	X‘S   -
  U	-  n
[        R"                  " X�R$                  S
9nU R'                  U[        R(                  " X«-   U	5      5      $ )z/Reference implementation of :func:`torch.roll`.r   zDimension specified as z but tensor has no dimensionsrV  z`shifts` requiredz*shifts and dimensions must align. shifts: z, dims: zExpected len_dims > 1, got Nr7  )r†  r3  rJ  r?  r   r  r²   r  rY  rF  ri  rb  rõ   rã   r	  rZ  rã  r  r8  rO   rˆ   )rr  r  rW  Ú
len_shiftsÚlen_dimsÚtail_shiftsÚ	tail_dimsÚfirst_dim_rolledr  rP  rÙ  r`  s               r9  rõ   rõ   Þ  sá  € ô
 ×"Ò" 1§6¡6¨4Ó0€Dä�fœh×'Ñ'Ø�ˆÜ�dœH×%Ñ%Øˆwˆð 	‡w�wƒy�Aƒ~à�w‰w‹yÐð 	‡u�uƒw�!ƒ|œ˜D›	 A›Üà% d¨1¡g YÐ.KÐLó
ð 	
ô �V“€Jä�4‹y€HØ�Qƒ˜( a›-Ø˜‹?ÜÐ2Ó3Ð3ð �q‹=˜Z¨1›_Ü—:’:œeŸmšm¨AÓ.°¸Ó:×?Ñ?ÀÇÁÓHÐHØÓ!ÜØ<¸Z¸LÈÐQYÐPZÐ[óð ð �q‹=Ü Ð#>¸x¸jÐ!IÓJÐJà˜Q˜R�jˆà˜˜�Hˆ	ô !Ÿ:š: a°©)¨°t¸A±wÓ?ÐÜ�zŠzÐ*¸ÓCÐCð
 ˆq‰'€CØ�7‰7�3‰<€Dà˜1‘IÑ Ñ%€EÜ
�,Š,�t§H¡HÑ
-€CØ�>‰>˜#œuŸzšz¨%©+°tÓ<Ó=Ð=r;  ©r   rV  Úkc                 ó’  • [        U5      S:w  a  [        S[        U5       35      eU R                  S:  a  [        SU R                   35      e[        R                  " U R                  U5      nUS   US   :X  a  [        SUS    SUS    35      eUS-  nUS:X  a6  [
        R                  " [
        R                  " XS   45      US   US   5      $ US:X  a  [
        R                  " X5      $ US	:X  a6  [
        R                  " [
        R                  " XS   45      US   US   5      $ U R                  [
        R                  S
9$ )z0Reference implementation of :func:`torch.rot90`.rF  z2expected total rotation dims == 2, but got dims = z/expected total dims >= 2, but got total dims = r   rV  z7expected rotation dims to be different, but got dim0 = z and dim1 = r™  rÌ  r  )
rY  ri  rJ  r†  r3  rb  r  rä   r²   rW  )rr  r  rW  s      r9  rö   rö     s9  € ô ˆ4ƒy�Aƒ~ÜØ@ÄÀTÃÀÐLó
ð 	
ð 	‡v�v�ƒzÜÐLÈQÏVÉVÈHÐUÓVÐVô ×"Ò" 1§6¡6¨4Ó0€DàˆA�w�$�q‘'ÓÜØEÀdÈ1ÁgÀYÈlÐ[_Ð`aÑ[bÐZcÐdó
ð 	
ð 	
ˆA‰€AØˆAƒvÜ�ŠœuŸzšz¨!°1©g¨ZÓ8¸$¸q¹'À4ÈÁ7ÓKÐKØ	
ˆa‹Ü�zŠz˜!Ó"Ð"Ø	
ˆa‹Ü�ŠœuŸzšz¨!°1©g¨ZÓ8¸$¸q¹'À4ÈÁ7ÓKÐKà�w‰w¤U×%<Ñ%<ˆwÐ=Ð=r;  c                 óÄ   ^• SSK Jn  U S   R                  m[        S[	        U 5      5       H1  n[
        R                  " U" X   R                  T5      U4S j5        M3     g )Nr   ri  rV  c                  ó   >• ST  S3$ )Nz4stack expects each tensor to be equal size, but got z at entry 0 rR  )Úentry_shapes   €r9  rT  Ú%_check_stack_inputs.<locals>.<lambda>B  s   ø€ ÐJÈ;È-ÐWcÑdr;  )ra  rj  rZ  rl  rY  rb  rm  )r×  rj  rD  r"  s      @r9  Ú_check_stack_inputsr$  ;  sK   ø€ Ý<à˜!‘*×"Ñ"€KÜ�1”c˜'“lÖ#ˆÜ�ŠÙ�7‘:×#Ñ# [Ó1Üdö	
ò $r;  c                 óè  • [        U 5      S:X  a  [        S5      e[        R                  " U S   R                  S-   U5      nX S   R                  :  ae  [        U 5        [        U S   R                  5      nUR                  U[        U 5      5        [        R                  " X5      nUR                  U5      $ [        R                  " U  Vs/ s H  oUR                  U5      PM     snU5      $ s  snf )Nr   z$stack expects a non-empty TensorListrV  )rY  rã  r†  rð  rJ  r$  rf  rZ  Úinsertrb  rÓ   r	  r  )r×  r  Úwrapped_dimÚresult_sizesr´  rý   s         r9  rù   rù   F  sÂ   € ô ˆ7ƒ|�qÓÜÐCÓDÐDÜ×(Ò(¨°©¯©¸1Ñ)<¸cÓB€Kà˜Q‘Z—_‘_Ó$Ü˜GÔ$Ü˜G A™J×,Ñ,Ó-ˆØ×Ñ˜K¬¨W«Ô6Ü�iŠi˜Ó-ˆØ�x‰x˜Ó%Ð%ô �9Š9¹Ó@º°1—k‘k +Ö.¹Ñ@À#ÓFÐFùÒ@s   ÃC/c                 ó  • U=(       d    U R                   n[        R                  " U5      n[        X5      nU R	                  5       S:X  a  [        U5      nO[        XQSS9n[        XW-
  5      n[        [        U[        XaSS95      U5      $ )Nr   Tr
  )	rÏ  r†  r  r+   r  rC   r·   r©   rÁ   )rr  r  rÏ  r  r  r  Úa_expÚa_maxs           r9  rq   rq   Y  s{   € ð ×#˜AŸG™G€LÜ×3Ò3°LÓAÐÜ	  Ó	6€BØ‡w�wƒy�Aƒ~Ü�B“‰ä�R dÑ+ˆÜ�B‘J“ˆÜ"ä�Eœ3˜u°4Ñ8Ó9Øóð r;  c                 ó°   • [         R                  " [        U 5      S:„  S 5        [        U 6 nUS   R                  S:X  a  [        US5      $ [        US5      $ )Nr   c                  ó   • g)Nz%hstack expects a non-empty TensorListrR  rR  r;  r9  rT  Úhstack.<locals>.<lambda>q  r  r;  rV  )rb  rm  rY  rÉ   rJ  rÓ   r÷  s     r9  rè   rè   o  sQ   € ä	‡L‚L”�W“ Ñ!Ñ#RÔSÜ  'Ð*€OØ�qÑ×Ñ !Ó#Ü�? AÓ&Ð&Üˆ Ó"Ð"r;  c                 ór   • [         R                  " [        U 5      S:„  S 5        [        U 6 n[	        US5      $ )Nr   c                  ó   • g)Nz%vstack expects a non-empty TensorListrR  rR  r;  r9  rT  Úvstack.<locals>.<lambda>{  r  r;  )rb  rm  rY  rÊ   rÓ   r÷  s     r9  r  r  y  r  r;  rU  c                 ó*  • [         R                  " U R                  U5      n[        R                  " [        U5      S:g  S 5        U R                  [        U R                  S U 5      [        U5      -   [        U R                  US-   S  5      -   5      $ )Nr   c                  ó   • g)Nz"unflatten: sizes must be non-emptyrR  rR  r;  r9  rT  Úunflatten.<locals>.<lambda>ƒ  s   € Ð*Nr;  rV  )	r†  rð  rJ  rb  rm  rY  r	  rg  rZ  )rr  r  rU  s      r9  r  r  �  so   € Ü
×
 Ò
  §¡¨Ó
-€CÜ	‡L‚L”�U“˜q‘Ñ"NÔOØ�6‰6”%˜Ÿ™  ˜Ó&¬¨u«Ñ5¼¸a¿g¹gÀcÈAÁgÀiÐ>PÓ8QÑQÓRÐRr;  rý   c                 ó8  ^• [         R                  " U R                  T5      m[        R                  " [        U R                  5      S:„  S 5        U R                  T   S:X  a  g[        U4S j[        R                  " X R                  T   T5       5       5      $ )Nr   c                  ó   • g)Nz5Dimension specified as 0 but tensor has no dimensionsrR  rR  r;  r9  rT  Úunbind.<locals>.<lambda>Œ  s   € ÐGr;  rR  c              3   óR   >#   • U  H  n[         R                  " UT5      v •  M     g 7frJ  )rb  rû   )rM  Úsr  s     €r9  rO  Úunbind.<locals>.<genexpr>”  s#   øé € ð 
Ú+S aŒE�MŠM˜!˜S×!Ð!Ò+Sùs   ƒ$')	r†  rð  rJ  rb  Ú_check_indexrY  rZ  rg  r  )rý   r  s    `r9  r  r  ‡  s~   ø€ ä
×
 Ò
  §¡¨Ó
-€CÜ	×ÒÜˆA�G‰G‹�qÑÙGôð 	‡w�wˆs�|�qÓØäô 
Ü+0×+=Ò+=¸aÇÁÈÁÈsÔ+Só
ó 
ð 	
r;  r2  rò  c                 ó\   • U R                  [        R                  S9R                  XU5      $ r  )r²   rb  rW  rN   )rN  r  r2  rò  s       r9  rM   rM   ™  s+   € à�7‰7¤×!8Ñ!8ˆ7Ð9×EÑEØ�Fóð r;  c                 ó  ^• [         R                  " U R                  U5      n[        R                  " TR                  S:*  U4S j5        U R                  S:X  a  U R                  S5      OU n[        S 5      4U-  T4-   nX4U'   U $ )NrV  c                  ó$   >• ST R                    S3$ ©Nz(Index should have dimension 1 or 0 (got rB  r©  ©r2  s   €r9  rT  Úindex_copy_.<locals>.<lambda>¤  ó   ø€ Ð:¸5¿:¹:¸,ÀaÑHr;  r   )r†  r3  rJ  rb  rm  r  Úslice)rN  r  r2  rò  r�  r`  s     `   r9  rN   rN      sq   ø€ Ü
×
!Ò
! !§&¡&¨#Ó
.€CÜ	‡L‚LØ�
‰
�a‰ÜHôð
 Ÿ&™& A›+ˆ�‰�AŒ¨1€AÜ�‹;ˆ.˜3Ñ
 % Ñ
)€CØ€c�FØ€Hr;  c                 ó   • [        XX#SS9$ )NF©Úinplace©Ú_index_fill©rN  r  r2  rÞ  s       r9  rP   rP   ­  s   € ô
 �q˜u°UÑ;Ð;r;  c                 ó   • [        XX#SS9$ )NTrE  rG  rI  s       r9  rQ   rQ   µ  s   € ô �q˜u°TÑ:Ð:r;  rF  c                óX  ^^• [         R                  " TR                  S:*  U4S j5        [        T[        5      (       a)  [         R                  " TR                  S:H  U4S j5        O5[         R
                  " TU R                  U R                  U R                  S9mU R                  S:H  nU(       a  U R                  S5      OU n[        UR                  5      nTR                  5       Xq'   TR                  U5      mU(       a  [        R                  O[         R                   nU" XaTT5      n	U(       a  U $ U(       a  U	R#                  S5      R%                  5       n	U	R'                  5       U R'                  5       :w  a)  [         R(                  " U 5      n
U
R+                  U	5        U
n	U	$ )NrV  c                  ó$   >• ST R                    S3$ r?  r©  r@  s   €r9  rT  Ú_index_fill.<locals>.<lambda>Æ  rB  r;  r   c                  ó$   >• ST R                    S3$ )Nz<Only supports 0-dimensional value tensor. Got a tensor with r   r©  rö  s   €r9  rT  rM  Ë  s   ø€ ð !Ø!&§¡ ¨Lñ:r;  )rÏ  r  r8  )rb  rm  rJ  r?  r'   r(  rÏ  r  r8  r  rf  rZ  r  rà   rg  rN   rM   rû   r²   rL  r  Úcopy_)rN  r  r2  rÞ  rF  Úzero_dimr�  rZ  rM   r´  Únew_outs     ``       r9  rH  rH  ¼  s:  ù€ ô 
‡L‚LØ�
‰
�a‰ÜHôô �%œ×$Ñ$Ü�ŠØ�J‰J˜!‰Oô:õ	
ô ×#Ò#ØØ—'‘'Ø—8‘8Ø—8‘8ñ	
ˆð �v‰v˜‰{€HÞ"ˆ�‰�AŒ¨€Aä�—‘‹M€EØ—‘“€E�JØ�L‰L˜Ó€EÞ'.”×#Ò#´E×4DÑ4D€JÙ
�Q˜U EÓ
*€CÞØˆæà—+‘+˜a“.×&Ñ&Ó(ˆCà�:‰:‹<˜1Ÿ8™8›:Ó%Ü×&Ò& qÓ)ˆGØ�M‰M˜#ÔØˆCØˆ
r;  c                ó\   • U R                  [        R                  S9R                  UUUUS9$ )Nr  rl  )r²   rb  rW  Ú
index_add_)rN  r  r2  rò  rm  s        r9  rL   rL   í  s:   € ð �7‰7¤×!8Ñ!8ˆ7Ð9×DÑDØØØØð	 Eð ð r;  c                 ó®  ^• [         R                  " U R                  U5      n[        R                  " TR                  S:*  U4S j5        TR                  S:X  a  TR                  S5      mU R                  S:X  a6  [        R                  " U 5      R                  STU R                  T5      5      $ [        S 5      4U-  T4-   nX   R                  5       $ )NrV  c                  ó$   >• ST R                    S3$ r?  r©  r@  s   €r9  rT  Úindex_select.<locals>.<lambda>  rB  r;  r   )r†  r3  rJ  rb  rm  r  r  rM   rá   rC  rØ   )rN  r  r2  r`  s     ` r9  rO   rO   ÿ  s®   ø€ ô ×
!Ò
! !§&¡&¨#Ó
.€CÜ	‡L‚LØ�
‰
�a‰ÜHôð ‡z�z�QƒØ—‘ Ó"ˆØ‡v�v�ƒ{ô ×Ò Ó"×-Ñ-¨a°¸¿¹ÀEÓ8JÓKÐKä�‹;ˆ.˜3Ñ
 % Ñ
)€CØ‰6×ÑÓÐr;  c                 óÚ  ^ ^• SSK Jm  UcY  [        S [        T R                  5       5       5      nU(       a  [
        R                  " T U5      $ [
        R                  " T 5      $ T R                  n[        R                  " X15      n[        U[        5      (       a  U4OUnUS:X  a9  [        U5      S:X  d  US:X  d  [        SU 35      e[
        R                  " T 5      $ [        U U4S jU 5       5      n[        U5      S:X  a  [
        R                  " T 5      $ [        U5      S:X  a  [
        R                  " T U5      $ [        U5      n[!        USS	9nU H  n[        T U5      m M     T $ )
Nr   râ  c              3   ó:   #   • U  H  u  pUS :X  d  M  Uv •  M     g7fru  rR  )rM  r`  rP  s      r9  rO  Úsqueeze.<locals>.<genexpr>  s   é € ÐJÒ*<™Y˜SÀÈÁ	—S‘SÒ*<ùs   ‚’	rí  z8Expected dims to be empty or (0,) for 0-dim tensor, got c              3   óf   >#   • U  H&  nT" TR                   U   S :H  5      (       d  M"  Uv •  M(     g7fru  rB  )rM  Údrr  rE  s     €€r9  rO  rY  (  s&   øé € ÐDšD�q¡N°1·7±7¸1±:À±?×$C—‘šDùs   ƒ!1¨	1rV  T)rð  )ra  rE  rg  rk  rZ  rÀ  rû   r{  rJ  r†  r3  r?  r   rY  rã  rf  rQ  )rr  r  rW  rJ  Ú	dims_listrD  rE  s   `     @r9  rû   rû     s*  ù€ åDà
�{ÜÑJ¬)°A·G±GÔ*<ÓJÓJˆÞ)-Œu�}Š}˜Q Ó%ÐC´5·=²=ÀÓ3CÐCà�6‰6€Dä
×
!Ò
! $Ó
,€CÜ ¤S×)Ñ)ˆC‰6¨s€DàˆqƒyÜ�D“	˜Q“ $¨$£,Ü ØJÈ4È&ÐQóð ô �}Š}˜QÓÐô ÕD™DÓDÓD€DÜ
ˆ4ƒy�Aƒ~Ü�}Š}˜QÓÐÜ
ˆ4ƒy�Aƒ~Ü�}Š}˜Q Ó%Ð%Ü�T“
€IÜ�y¨$Ñ/€IÛˆÜ�A�q‹MŠñ à€Hr;  Úsplit_sizesc                 ó  ^ ^^• [        [        T5      5       H!  n[        R                  " TU   S:¬  S 5        M#     [        R                  " [
        [        R                  " T5      T R                  T   :H  UU U4S j5        / nT R                  5       nT He  n[        T R                  5      nXgT'   UR                  T R                  UT R                  5       U5      5        UT R                  5       T   U-  -   nMg     U$ )Nr   c                  ó   • g)NzCsplit_with_sizes expects split_sizes have only non-negative entriesrR  rR  r;  r9  rT  Ú"split_with_sizes.<locals>.<lambda>=  s   € ÐYr;  c                  óV   >• S[         R                  " T5       STR                  T     3$ )NzSplit sizes add up to z but got the tensor's size of )rQ  rÁ   rZ  )r  r  r]  s   €€€r9  rT  r`  B  s,   ø€ Ð(¬¯ª°kÓ)BÐ(CÐCaÐbf×blÑblÐmpÑbqÐarÑsr;  )rl  rY  rb  rm  rE  rn  rQ  rÁ   rZ  rR  rf  r»  rÌ   rL  )r  r]  r  rD  Úsplitsr–  Ú
split_sizer  s   ```     r9  rø   rø   4  sÙ   ú€ ô ”3�{Ó#Ö$ˆÜ�ŠØ˜‰N˜aÑÙYö	
ñ %ô
 
×ÒÜÜ�Š�[Ó! T§Z¡Z°¡_Ñ4Þsôð €FØ× Ñ Ó"€Fã!ˆ
Ü˜Ÿ™Ó$ˆ	Ø#�#‰ð 	�‰�d—o‘o i°·±³ÀÓGÔHØ˜$Ÿ+™+›-¨Ñ,¨zÑ9Ñ9Šñ "ð €Mr;  Úindices_or_sectionsc                 óê  • [         R                  " U R                  U5      nU R                  S:X  a  Sn[        U5      e[	        U[
        5      (       al  UR                  R                  S:w  a  SUR                   3n[        U5      eUR                  [        R                  :w  a  SUR                   3n[        U5      e[	        U[        5      (       d%  [	        U[
        5      (       aÆ  UR                  S:X  a¶  [	        U[        5      (       a  UOUR                  5       nUS::  a  SU 3n[        U5      eU R                  U   n[        R                   " Xe-  5      nXe-  n/ n	[#        U5       H   n
X¨:  a  US-   OUnU	R%                  U5        M"     ['        [(        R+                  X	US95      $ Un[	        U[
        5      (       a;  UR                  S:w  a  S	UR                   S
3n[        U5      eUR-                  5       nS/[/        U5      -   U R                  U   /-   n[#        [1        U5      S-
  5       Vs/ s H  oÜUS-      XÍ   -
  PM     n	n['        [(        R+                  X	US95      $ s  snf )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 rV  ©r  zntensor_split: non-scalar indices_or_sections tensors must have only one dimension, but received a tensor with r„  )r†  rð  rJ  rn  r?  r'   r8  r6  rÏ  rb  Úlongr   r!   r´   rZ  r8  rI   rl  r»  rg  r¹  rø   Útolistrf  rY  )rr  rd  r  Ú_dimrå  Úsectionsr÷  Úmin_split_sizeÚnum_splits_one_extrar]  Ú	split_idxrc  ÚindicesrD  s                 r9  r  r  T  s|  € ô
 ×!Ò! !§&¡&¨#Ó.€DØ‡v�v�ƒ{ØhˆÜ˜‹oÐô Ð%¤z×2Ñ2Ø×%Ñ%×*Ñ*¨eÓ3ð'Ø':×'AÑ'AÐ&BðDð ô ˜S“/Ð!Ø×$Ñ$¬¯
©
Ó2ð0Ø0C×0IÑ0IÐ/JðLð ô ˜S“/Ð!ô Ð%¤w×/Ñ/ÜÐ&¬
×3Ñ3Ð8K×8PÑ8PÐTUÓ8Uô Ð-¬v×6Ñ6ñ  à$×)Ñ)Ó+ð 	ð �q‹=ØUÐV^ÐU_Ð`ˆCÜ˜S“/Ð!à—7‘7˜4‘=ˆÜŸš HÑ$7Ó8ˆØ'Ñ2ÐàˆÜ˜xžˆIð Ó4ð  Ò"à#ð ð
 ×Ñ˜zÖ*ñ )ô ”T×*Ñ*¨1¸tÐ*ÐDÓEÐEð &ˆÜÐ)¬:×6Ñ6Ø"×'Ñ'¨1Ó,ð2Ø2E×2JÑ2JÐ1KÈ;ðXð ô ! “oÐ%à)×0Ñ0Ó2ˆGà�#œ˜W›Ñ%¨¯©°©¨Ñ7ˆÜ<AÄ#ÀgÃ,ÐQRÑBRÔ<SÓTÒ<S°q˜q 1™u‘~¨©
Ô2Ñ<SˆÐTÜ”T×*Ñ*¨1¸tÐ*ÐDÓEÐEùò Us   È;I0c                 ó¾  ^ ^^^• [         R                  " T R                  S:¬  U 4S j5        T R                  S:X  a  SOSm[        T[        5      (       aK  Tm[         R                  " TS:g  =(       a    T R
                  T   T-  S:H  U UU4S j5        [        T TT5      $ [         R                  " [        T[        [        45      U4S j5        Tn[        T UT5      $ )NrV  c                  ó:   >• S[        T R                  5      -   S-   $ )NzPtorch.hsplit requires a tensor with at least 1 dimension, but got a tensor with ú dimensions!©rˆ  rJ  r—  s   €r9  rT  Úhsplit.<locals>.<lambda>¡  ó   ø€ Ø^Ü�!—&‘&‹kñàòr;  r   c                  ó|   >• S[        T5      -   S-   [        T R                  T   5      -   S-   [        T5      -   S-   $ )Nz0torch.hsplit attempted to split along dimension z , but the size of the dimension ú$ is not divisible by the split_size r…  ro  )rr  r  rc  s   €€€r9  rT  rs  ­  sS   ø€ ØBÜ�c“(ñà4ñ5ô �a—g‘g˜c‘lÓ#ñ$ð 9ñ	9ô
 �j“/ñ"ð òr;  c                  ó    >• S[        T 5       3$ )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 r5  ©rd  s   €r9  rT  rs  ¼  ó   ø€ ðä Ð!4Ó5Ð6ñ8r;  ©
rb  rm  rJ  r?  r   rZ  r  Ú_check_typerf  rg  )rr  rd  r]  r  rc  s   `` @@r9  rç   rç   œ  s¿   û€ ô 
‡L‚LØ	�‰�!‰ô	
ôð �v‰v˜‹{‰! €CÜÐ%¤w×/Ñ/Ø(ˆ
Ü�Šà˜1‰_×? §¡¨¡°
Ñ!:¸aÑ!?öô	
ô ˜A˜z¨3Ó/Ð/ä	×ÒÜÐ&¬¬u¨Ó6ô	
ôð &€KÜ˜˜;¨Ó,Ð,r;  c                 ó’  ^ ^^• [         R                  " T R                  S:¬  U 4S j5        [        T[        5      (       aJ  Tm[         R                  " TS:g  =(       a    T R
                  S   T-  S:H  U U4S j5        [        T TS5      $ [         R                  " [        T[        [        45      U4S j5        Tn[        T US5      $ )NrF  c                  ó:   >• S[        T R                  5      -   S-   $ )NzPtorch.vsplit requires a tensor with at least 2 dimension, but got a tensor with rq  rr  r—  s   €r9  rT  Úvsplit.<locals>.<lambda>Í  rt  r;  r   c                  ó0   >• ST R                   S    ST S3$ )NzQtorch.vsplit attempted to split along dimension 0, but the size of the dimension r   rv  r…  rB  )rr  rc  s   €€r9  rT  r~  Ø  s%   ø€ ð3à—7‘7˜1‘:�,Ø6Ø�,Øñr;  c                  ó    >• S[        T 5       3$ )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 r5  rx  s   €r9  rT  r~  æ  ry  r;  rz  )rr  rd  r]  rc  s   `` @r9  r  r  È  s®   ú€ ô 
‡L‚LØ	�‰�!‰ô	
ôô Ð%¤w×/Ñ/Ø(ˆ
Ü�Šà˜1‰_×= §¡¨¡¨jÑ!8¸AÑ!=õô	
ô ˜A˜z¨1Ó-Ð-ä	×ÒÜÐ&¬¬u¨Ó6ô	
ôð &€KÜ˜˜;¨Ó*Ð*r;  r–  c                 óÄ   ^• U R                  5       m[        R                  " TS;   U4S j5        TS:X  a  [        R                  " X5      $ [        R                  " X5      $ )N)rV  rF  c                  ó   >• ST  S3$ )Nz'diag(): Supports 1D or 2D tensors. Got ÚDrR  r©  s   €r9  rT  Údiag.<locals>.<lambda>ù  s   ø€ Ð"IÈ$ÈÈqÑ Qr;  rV  )r  rb  rm  rÙ   rÜ   )r  r–  rJ  s     @r9  rÚ   rÚ   ñ  sQ   ø€ ð �8‰8‹:€DÜ	‡L‚LØ�‰ÔQôð ˆqƒyÜ×Ò Ó-Ð-ä×"Ò" 4Ó0Ð0r;  r  Údim2c                 ó`  ^^• SSK JnJn  [        R                  " U 5      nUR                  X#U5      m[        R                  " TR                  TR                  :H  =(       a5    U" U" S [        TR                  TR                  5       5       6 5      (       + UU4S j5        [        TT5        U$ )Nr   )rE  r}  c              3   ó.   #   • U  H  u  pX:g  v •  M     g 7frJ  rR  )rM  Úd1Úd2s      r9  rO  Ú#diagonal_scatter.<locals>.<genexpr>  s   é € ÐGÒ,F¡& "�R–XÒ,Fùrî  c                  ó<   >• STR                    ST R                    3$ )NzCexpected src to have a size equal to the diagonal of the input.Got z for a diagonal of shape rB  )rÚ   rÑ  s   €€r9  rT  Ú"diagonal_scatter.<locals>.<lambda>  s"   ø€ ð Ø�y‰yˆkÐ2°4·:±:°,ñ@r;  )ra  rE  r}  r†  Úclone_preserve_stridesrÛ   rb  rm  rJ  r€  rZ  r³   )	rÌ  rÑ  r–  r  r…  rE  r}  r´  rÚ   s	    `      @r9  rÝ   rÝ     s‹   ù€ ÷ Mä
×
&Ò
& uÓ
-€CØ�<‰<˜ dÓ+€Dä	‡L‚LØ�	‰	�S—X‘XÑ÷ 	
ÙÙÑG¬C°·
±
¸C¿I¹IÔ,FÓGÐHó
ô 
õ	@ôô ˆD�#ÔØ€Jr;  c                 óØ  ^^• U R                  5       n[        R                  " TUS9m[        R                  " TUS9m[        R                  " TT:g  UU4S j5        U R                  5       nUS:¼  aT  [        [        U R                  5       T   U R                  5       T   U-
  5      S5      nXQU R                  5       T   -  -  nOS[        [        U R                  5       T   U-   U R                  5       T   5      S5      nXQU R                  5       T   -  -  n[        U R                  5       5       VVs/ s H  u  pxUTT4;  d  M  UPM     n	nnU	R                  U5        [        U R                  5       5       VVs/ s H  u  pxUTT4;  d  M  UPM     n
nnU
R                  U R                  5       T   U R                  5       T   -   5        U R                  XšUS9nU$ s  snnf s  snnf )z,
Reference implementation of torch.diagonal
)r`  Úrankc                  ó   >• ST  ST 3$ ©Nz(diagonal dimensions cannot be identical rA  rR  ©r  r…  s   €€r9  rT  Údiagonal.<locals>.<lambda>*  ó   ø€ Ð HÈÈÈbÐQUÐPVÑWr;  r   )rP  rL  rR  )r  r†  rð  rb  rm  rR  r   r   rP  rL  rk  r»  rÌ   )r  r–  r  r…  Únum_dimsrR  Ú	diag_sizerD  r9  rU  rå  r  s     ``        r9  rÛ   rÛ     s£  ù€ ð �x‰x‹z€HÜ×!Ò! d°Ñ:€DÜ×!Ò! d°Ñ:€Dä	‡L‚LØ�‰ÕWôð ×(Ñ(Ó*€Nð �ƒ{ÜœG D§I¡I£K°Ñ$5°t·y±y³{À4Ñ7HÈ6Ñ7QÓRÐTUÓVˆ	Ø 4§;¡;£=°Ñ#6Ñ6Ñ6‰äœG D§I¡I£K°Ñ$5¸Ñ$>ÀÇ	Á	ÃÈDÑ@QÓRÐTUÓVˆ	Ø 4§;¡;£=°Ñ#6Ñ6Ñ6ˆä$ T§Y¡Y£[Ô1ÔKÒ1‘4�1°Q¸tÀT¸lÑ5J�QÑ1€EÑKØ	‡L�L�Ôä& t§{¡{£}Ô5ÔOÒ5‘T�Q¸À4ÈÀ,Ñ9N�qÑ5€GÑOØ‡N�N�4—;‘;“= Ñ&¨¯©«°tÑ)<Ñ<Ô=à�_‰_ %Èˆ_ÐW€Fà€Mùó Lùó Ps   Ä5G ÅG Å=G&ÆG&c                 ó*  ^^• U R                   S-   n[        R                  " UTS9m[        R                  " UTS9mTT:”  a  TTsmmU* n[        R                  " TT:g  UU4S j5        U R                  S5      nUS:w  a’  [        U R                  5      n[        R                  " U5      US'   [        R                  " X`R                  U R                  SS9nUS:”  a  Xp4OX4n[        R                  " USS9n U[        R                  " U5      -  nU R                  T5      R                  ST5      n [        R                   " XPR                  [        R"                  S	9n	[        R                   " XU-   U R                  [        R"                  S	9n
XšR                  S5      :H  n[%        ['        U R                  5      5       Vs/ s H  oÌTT4;   a  UOSPM     nnUR)                  U5      n[        R*                  " X°5      R-                  5       $ s  snf )
z.
Reference implementation of torch.diag_embed
rV  )r�  r`  c                  ó   >• ST  ST 3$ r‘  rR  r’  s   €€r9  rT  Údiag_embed.<locals>.<lambda>Y  r”  r;  r\  r   F©rÏ  r8  rë  rf  ©r8  rÏ  )rJ  r†  rð  rb  rm  rP  rf  rZ  rQ  r1   r*  rÏ  r8  rÓ   r  rê   r  rj  rl  rY  ró   Úmask_tensorrØ   )rý   r–  r  r…  r�  r  Út_shapeÚzÚpairÚa_rangeÚb_rangeÚcondrD  Ú
cond_shapes     ``          r9  rÙ   rÙ   B  s¹  ù€ ð �6‰6�A‰:€DÜ×!Ò! t°Ñ6€DÜ×!Ò! t°Ñ6€Dð ˆdƒ{Ø˜4ˆ
ˆˆdØ�ˆä	‡L‚LØ�‰ÕWôð
 �v‰v�b‹z€Hà�ƒ{ä�q—w‘w“-ˆÜ—l’l 6Ó*ˆ�‰Ü�KŠK˜§w¡w°q·x±xÈuÑUˆØ !›�‰v¨!¨ˆÜ�IŠI�d Ñ#ˆà”H—L’L Ó(Ñ(ˆð 	
�‰�DÓ×!Ñ! " dÓ+€Aô �lŠl˜8¯H©H¼E¿K¹KÑH€GÜ�lŠlØ˜6Ñ!¨!¯(©(¼%¿+¹+ñ€Gð
 ×'Ñ'¨Ó+Ñ+€DÜ@EÄcÈ!Ï'É'ÃlÔ@SÓTÒ@S¸1 D¨$ <Ó/‘(°QÒ6Ñ@S€JÐTØ�<‰<˜
Ó#€Dô ×Ò˜TÓ%×0Ñ0Ó2Ð2ùò Us   ÇHc                 óÎ  ^^
^• U  Vs/ s H*  oR                  5       S::  a  UR                  SS5      OUPM,     nn[        R                  " S U 5       5      nUS   R                  m
/ nSn[        U5       HÓ  u  mm[        R                  " TR                  5       S:H  UU4S j5        [        R                  " TR                  T
:H  U
UU4S j5        TR                  u  pg[        R                  " Xe4T
TR                  S9n[        R                  " XcU-
  U-
  4T
TR                  S9n	U[        R                  " UTU	4SS	9/-  nXW-  nMÕ     [        R                  " USS	9$ s  snf )
z.
Reference implementation of torch.block_diag
rV  r\  c              3   ó>   #   • U  H  oR                   S    v •  M     g7fru  rB  )rM  rò  s     r9  rO  Ú'_block_diag_iterable.<locals>.<genexpr>†  s   é € ÐB²z¨VŸ™ až²zùs   ‚r   rF  c                  ó2   >• ST  STR                  5        S3$ )Nz5Input tensors must have 2 or fewer dimensions. Input z has r„  rf  )rD  rò  s   €€r9  rT  Ú&_block_diag_iterable.<locals>.<lambda>�  s    ø€ ð Ø�C�u˜VŸZ™Z›\˜N¨+ñ7r;  c                  ó0   >• ST  ST STR                    S3$ )NzCInput tensors must all be on the same device. Input 0 is on device z and input z is on device r‚  r7  )r8  rD  rò  s   €€€r9  rT  r¨  ”  s&   ø€ ð $Ø$* 8¨;°q°c¸ÈÏÉÀÐVWñYr;  r›  rf  )r  r	  rQ  rÁ   r8  rk  rb  rm  rZ  r*  rÏ  rÓ   )r×  rò  Ú
tensors_2dÚncolsr  Ú	col_startÚrowÚcolr´  Úrightr8  rD  s    `        @@r9  Ú_block_diag_iterabler°  |  sL  ú€ ñ KRóÚJQÀŸj™j›l¨aÓ/ˆ�‰�A�rÔ°VÒ;É'ð ð ô �LŠLÑB±zÓBÓB€EØ˜‰]×!Ñ!€Fà€Fà€IÜ˜zÖ*‰	ˆˆ6Ü�ŠØ�J‰J‹L˜AÑõ7ô	
ô
 	�ŠØ�M‰M˜VÑ#öYô	
ð
 —<‘<‰ˆÜ�{Š{˜CÐ+°FÀ&Ç,Á,ÑOˆÜ—’Ø˜)Ñ# cÑ)Ð*°6ÀÇÁñ
ˆð 	”5—9’9˜d F¨EÐ2¸Ñ:Ð;Ñ;ˆØÑŠ	ñ# +ô& �9Š9�V Ñ#Ð#ùò;s   ˆ1E"c                  ó   • [        U 5      $ )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.
)r°  rÖ  s    r9  rÏ   rÏ   ¢  s   € ô   Ó(Ð(r;  rj  c                 ó  • U R                   S:  a  [        SU R                    S35      e[        U[        5      (       a>  US:X  d  U R                  S   U-  S:w  a"  [        SSU R                  S    SU S	3-   5      e[        XS5      $ )
NrÌ  zPtorch.dsplit requires a tensor with at least 3 dimension, but got a tensor with rq  r   rF  z3torch.dsplit attempted to split along dimension 2, zbut the size of the dimension rv  r…  )rJ  ri  r?  r   rZ  r  )rr  rj  s     r9  rÞ   rÞ   ¬  sœ   € Ø‡v�v�ƒzÜØ^Ð_`×_eÑ_eÐ^fÐfrÐsó
ð 	
ô �(œG×$Ñ$¨(°a«-¸1¿7¹7À1¹:ÈÑ;PÐTUÓ;UÜØAØ.¨q¯w©w°q©z¨lÐ:^Ð_gÐ^hÐhiÐjñkó
ð 	
ô ˜ QÓ'Ð'r;  c                 ó°   • U R                   S:”  a  [        SU R                    S35      e[        R                  " U SU R                   S:  a  S5      $ S5      $ )NrF  z7t() expects a tensor with <= 2 dimensions, but self is rƒ  r   rV  )rJ  ri  rb  r  r—  s    r9  rý   rý   º  sS   € ð 	‡v�v�ƒzÜØEÀaÇfÁfÀXÈQÐOó
ð 	
ô �?Š?˜1˜a a§f¡f¨q£j Ó8Ð8°aÓ8Ð8r;  c                 ól   • [         R                  " U R                  S;   S 5        U R                  5       $ )N)r   rF  c                  ó   • g)NzcThe use of `x.T` on tensors of dimension other than 0 or 2 to reverse their shape is not supported.rR  rR  r;  r9  rT  ÚT.<locals>.<lambda>Ñ  s   € ð7r;  )rb  rm  rJ  rý   r—  s    r9  rÿ   rÿ   Í  s,   € ä	‡L‚LØ	�‰�&Ññ	
ôð �3‰3‹5€Lr;  c                 ó.   • [         R                  " U 5      $ rJ  )rÀ  r{  r—  s    r9  rÇ   rÇ   Ù  rÖ  r;  r  c                 ó*  • [         R                  " U R                  X45      u  p4U R                  S::  d  X:X  a  [        R                  R                  U 5      $ [        [        U R                  5      5      nXEU'   X5U'   [        R                  " X5      $ r/  )
r†  r3  rJ  r¹  rÇ   Údefaultrf  rl  rb  rï   )rr  r  r  Ú_dim0Ú_dim1r{  s         r9  r  r  Þ  sq   € ä×*Ò*¨1¯6©6°D°<Ó@�L€Eà‡v�v�ƒ{�d“lÜ�z‰z×!Ñ! !Ó$Ð$äœ˜aŸf™f›Ó&€LØ�ÑØ�ÑÜ�=Š=˜Ó)Ð)r;  c                 ót   • [        U R                  U R                  5       XU5      u  pEU R                  XE5      $ rJ  )ræ  rZ  rL  rÌ   )r  r£  rP  r¤  rZ  rå  s         r9  r  r  ï  s4   € ô .Ø�
‰
�D—K‘K“M 9°Dó�N€Eð �?‰?˜5Ó*Ð*r;  c                 ó\   • U R                  XU5      R                  [        R                  S9$ r  )r  r²   rb  rW  )r  r£  rP  r¤  s       r9  r  r  ù  s0   € ð �;‰;�y¨Ó-×3Ñ3Ü×-Ñ-ð 4ð ð r;  c                ó´  • UR                   n[        R                  " Xc5      nUS:X  a  U " UR                  S5      SXES9$ UR                  US-   5      n[        R
                  " UR                  U   UR                  S9nUR                  S5      U:*  n[        Xc-
  S-
  5       H  n	UR                  S5      nM     [        R                  " X‚U5      n
U " X£XES9$ )Nr   )r  rÏ  r´  rV  r7  r\  )
rJ  r†  rð  r  rb  r  rZ  r8  rl  r±   )rw  Úinitrr  r  rÏ  r´  rJ  Úrgr›  r¶  Úmasked_as              r9  Ú_cumsumprod_commonrÂ    s»   € ð �6‰6€DÜ
×
 Ò
  Ó
+€CØˆqƒyÙ�A—K‘K “N¨°Ñ@Ð@Ø	�‰�C˜!‘GÓ€AÜ	�Š�a—g‘g˜c‘l¨1¯8©8Ñ	4€BØ�<‰<˜‹?˜bÑ €DÜ�4‘: ‘>Ö"ˆØ�~‰~˜bÓ!Šñ #ä�{Š{˜4 DÓ)€HÙ�¨Ñ8Ð8r;  c          	      ó"   • [        [        SXX#S9$ )Nr   ©rw  r¿  rr  r  rÏ  r´  )rÂ  rÁ   ©rr  r  rÏ  r´  s       r9  rº   rº     s   € ô ¤3¨Q°!ÀEÑSÐSr;  c          	      ó"   • [        [        SXX#S9$ )NrV  rÄ  )rÂ  rÃ   rÅ  s       r9  r»   r»   $  s   € ô ¤4¨a°1ÀUÑTÐTr;  c                 óx   • U R                   S-   n[        R                  " X!5      n[        R                  " X4US9$ )NrV  r©  )rJ  r†  rð  rÀ  Úexpand_dims)rr  r  rJ  s      r9  r  r  0  s6   € ð �6‰6�A‰:€DÜ
×
 Ò
  Ó
+€CÜ×Ò˜Q ¨TÑ2Ð2r;  c                 ó0  • SSK JnJn  [        R                  " [        [        [        [        [           4   U5      SS9n[        R                  R                  R                  R                  (       d  U" U U5      (       a  U" X5      $ [        U /UQ7SS06$ )Nr   )Ú_view_has_unbacked_inputÚ_view_unbacked_metaFrn  r  )Útorch._subclasses.fake_implsrÊ  rË  r†  rx  r   r   r%   rg  rb  rc  rd  re  rf  r  )rr  rZ  rÊ  rË  Úshape_tuples        r9  r	  r	  =  s„   € ÷ô ×2Ò2ÜŒU”9œe¤IÑ.Ð.Ñ/°Ó7À%ñ€Kô ‡x�x×Ñ×$Ñ$×:×:Ñ>VØ	Ø÷?ñ ?ñ # 1Ó2Ð2Ü Ð< EÒ<°eÑ<Ð<r;  c                 ó@   • U R                  UR                  5       5      $ rJ  )r	  rP  r  s     r9  r
  r
  S  s   € Ø�9‰9�U—Z‘Z“\Ó"Ð"r;  c                 ó   • [        U S5      $ )N)r\  )ró   r—  s    r9  rñ   rñ   X  s   € Ü�1�eÓÐr;  rn  c                 ó  ^ ^• [         R                  " T R                  TR                  :H  U U4S j5        [         R                  " [        R                  " TR
                  5      U4S j5        Uc6  [         R                  " T R                  S5      STR                  S5      5      $ [        T R                  5      nTR                  U5      X2'   [        R                  " UTR                  5       5      n[        TU5      n[        TR                  5      nT R                  U5      Xb'   [        R                  " UT R                  5       5      n[        T U5      nUR                  U5      nXX-  n[         R                  " XrU5      $ )Nc                  ó>   >• ST R                    STR                    S3$ )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©  )rr  rn  s   €€r9  rT  Ú take_along_dim.<locals>.<lambda>d  s%   ø€ ð-Ø-.¯V©V¨HÐ4OØ�|‰|ˆnÐ3ñ5r;  c                  ó$   >• ST R                    S3$ )Nz?torch.take_along_dim(): dtype of indices should be int but got z insteadrñ  )rn  s   €r9  rT  rÒ  m  s   ø€ ØMØ�}‰}ˆo˜Xñ'r;  r\  r   )rb  rm  rJ  r†  r  rÏ  Úgatherr	  rf  rZ  rP  Úinfer_size_shapesrÒ   )	rr  rn  r  Ú
self_sizesÚbroadcast_shapeÚindices_broadcastÚindices_sizesÚself_broadcastr÷  s	   ``       r9  r   r   ^  s'  ù€ ô 
‡L‚LØ	�‰�'—,‘,Ñõ	
ôô 
‡L‚LÜ×Ò˜wŸ}™}Ó-ô	
ôð �{Ü�|Š|˜AŸF™F 2›J¨¨7¯<©<¸Ó+;Ó<Ð<ä˜!Ÿ'™'“]ˆ
Ø!Ÿ,™, sÓ+ˆ
‰Ü×1Ò1°*¸g¿l¹l»nÓMˆÜ(¨°/ÓBÐä˜WŸ]™]Ó+ˆØŸV™V C›[ˆÑÜ×1Ò1°-ÀÇÁÃÓJˆÜ% a¨Ó9ˆð "×&Ñ& sÓ+ˆØ-Ñ8Ðä�|Š|˜NÐ1BÓCÐCr;  ©rÏ  r  r8  rë  r  r  rë  c           
      óæ  ^• [         R                  " T[         R                  :g  S 5        [        R                  " U5      nT[         R
                  :X  a  [        R                  " U5      nOmT[         R                  :X  a  [        R                  " U5      nOB[         R                  " T[         R                  :H  U4S j5        [        R                  " U5      n[         R                  " UUU UUUUS9$ )Nc                  ó   • g)Nz8torch.empty: the Preserve memory format is not supportedrR  rR  r;  r9  rT  Úempty.<locals>.<lambda>“  s   € ÐJr;  c                  ó   >• ST  S3$ )Nz/torch.empty: received an unknown memory format r…  rR  r  s   €r9  rT  rÞ     s   ø€ ÐEÀmÀ_ÐTUÑVr;  ©rÏ  r  r8  r  rë  )rb  rm  r   r†  rx  rW  rñ  Úchannels_last_3dÚ!make_channels_last_3d_strides_forÚchannels_lastÚ!make_channels_last_2d_strides_forr  )rÏ  r  r8  rë  r  r  rZ  rå  s        `  r9  r  r  ‡  sÇ   ø€ ô 
‡L‚LØœ×.Ñ.Ñ.ÙJôô
 ×,Ò,¨UÓ3€Eàœ×/Ñ/Ó/Ü×3Ò3°EÓ:‰Ø	œ%×0Ñ0Ó	0ä×9Ò9¸%Ó@‰ä�ŠØœU×0Ñ0Ñ0ÜVô	
ô
 ×9Ò9¸%Ó@ˆä×ÒØØØØØØØ#ñð r;  c                 ó2   • [         R                  " U UUUUS9$ )Nrš  )rÀ  r  )rZ  Úphysical_layoutrÏ  r  r8  rë  r  s          r9  r  r  °  s&   € ô ×ÒØØØØØ#ñð r;  ©rÏ  r  r8  r  c                ó˜   • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUn[        R                  " UUUUUS9$ )N©rÏ  r8  r  r  )rÏ  r  r8  rb  r  )rr  rP  rÏ  r  r8  r  s         r9  r   r   Ã  sQ   € ð ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fä�;Š;ØØØØØñð r;  c          	      óš   • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUn[        R                  " UUUUUUS9$ )z<
Reference implementation of torch.Tensor.new_empty_strided
ré  )rÏ  r  r8  rb  r  )rr  rP  rL  rÏ  r  r8  r  s          r9  r!  r!  Û  sV   € ð  ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fä×ÒØØØØØØñð r;  rà  c           
      ó¾   • [         R                  " U5      nU c  [        R                  " 5       n [        R                  " UU [        R
                  :X  a  SOSU UUUUS9$ ©NFr   rà  ©r†  rx  rb  rÁ  r  rŒ  ©rÏ  r  r8  r  rë  rP  s         r9  r*  r*  ù  sZ   € ô ×+Ò+¨DÓ1€Dà�}Ü×'Ò'Ó)ˆä�:Š:ØØœ%Ÿ*™*Ó$‰¨!ØØØØØ#ñð r;  c          
      óî   • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUn[        R                  " UU=(       d    U R                   [        R
                  :X  a  SOSUUUUUS9$ rì  ©rÏ  r  r8  rb  r  rŒ  ©rr  rP  rÏ  r  r8  r  rë  s          r9  r$  r$    sm   € ð ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fä�:Š:ØØ×"˜1Ÿ7™7¤u§z¡zÓ1‰°qØØØØØ#ñð r;  c           
      ó¾   • [         R                  " U5      nU c  [        R                  " 5       n [        R                  " UU [        R
                  :X  a  SOSU UUUUS9$ ©NTrV  rà  rí  rî  s         r9  r%  r%  .  sZ   € ô ×+Ò+¨DÓ1€Dà�}Ü×'Ò'Ó)ˆä�:Š:ØØœŸ™Ó#‰¨ØØØØØ#ñð r;  c          
      óî   • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUn[        R                  " UU=(       d    U R                   [        R
                  :X  a  SOSUUUUUS9$ ró  rð  rñ  s          r9  r#  r#  H  sm   € ð ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fä�:Š:ØØ×!˜!Ÿ'™'¤e§j¡jÓ0‰°aØØØØØ#ñð r;  Ú
fill_valuec          	      óš   • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUn[        R                  " UUUUUUS9$ )Nrç  )rÏ  r  r8  rb  r  )rr  rP  rõ  rÏ  r  r8  r  s          r9  r"  r"  c  sT   € ð ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fä�:Š:ØØØØØØñð r;  c                 ó   • U$ rJ  rR  )rP  r´  r  s      r9  Ú	empty_outrø  }  s	   € ð €Jr;  )rÏ  r8  r  r  rë  r  c          
      óP  • Uc  U R                   OUnUc  U R                  OUnUc  U R                  OUnU[        R                  :w  a$  [        R
                  " U R                  UUUUUUS9$ [        R                  " U 5      u  px[        R                  " U R                  UUUUUUS9$ )NrÛ  rà  )
rÏ  r  r8  rb  r   r  rZ  r†  Ú3compute_elementwise_output_logical_to_physical_permr  )	rr  rÏ  r8  r  r  rë  r  Úlogical_to_physical_permr¶  s	            r9  r  r  †  s¯   € ð ‘}ˆA�GŠG¨%€EØ™ˆQ�XŠX¨V€FØ™ˆQ�XŠX¨V€Fàœ×-Ñ-Ó-Ü�{Š{Ø�G‰GØØØØ'Ø!Ø'ñ
ð 	
ô 	×AÒAÀ!ÓDñ  Ðô ×ÒØ	�‰Ø ØØØØØ#ñð r;  rÙ  c          	      ó6  ^ ^^• [         R                  " U5        [         R                  " U5        [        R                  " [         R
                  " U5      5      n[        T [        5      (       a  [        S5      e[        T[        5      (       a  [        S5      e[        T[        5      (       a  [        S5      eTc  T mSm [        R                  " TS:g  S 5        TS:”  a  [        R                  " TT :¬  S 5        O!TS:  a  [        R                  " TT :*  S 5        S n[        R                  " U" T 5      =(       a    U" T5      UU 4S	 j5        [        R                  " U" T5      U4S
 j5        T TT4n	[        R                  " S U	 5       5      n
Uc,  U
(       a  [        R                  O[        R                  " 5       n[         R                  " U5      nU(       d  U
(       a!  [        T 5      n[        T5      n[        T5      nU[        R                  :X  d  U
(       a,  [!        WS:„  5      [!        US:  5      -
  nWW-
  U-   U-
  U-  nO["        R$                  " TT -
  T-  5      nU(       a  [&        R(                  " UWWUUUS9$ [&        R(                  " USS[        R                  USS9nU
(       a  [        R*                  O[         R,                  " X55      n[/        UU5      nT TU-  -   n[/        UU5      nU(       a  UR1                  S5        U$ )Nz%arange does not support complex startz#arange does not support complex endz$arange does not support complex stepr   c                  ó   • g)Nzstep must be nonzerorR  rR  r;  r9  rT  Úarange.<locals>.<lambda>Í  s   € Ð$:r;  c                  ó   • g©Nz7upper bound and lower bound inconsistent with step signrR  rR  r;  r9  rT  rþ  Ñ  ó   € ÐMr;  c                  ó   • gr   rR  rR  r;  r9  rT  rþ  Ö  r  r;  c                 óf   • [        U [        5      (       + =(       d    [        R                  " U 5      $ rJ  )r?  r   r8  rR   rS  s    r9  Ú	is_finiteÚarange.<locals>.is_finiteÙ  s!   € Ü˜aÔ!5Ó6Ô6×J¼$¿-º-ÈÓ:JÐJr;  c                  ó   >• ST ST  3$ )Nzunsupported range: r  rR  )rÙ  rÙ  s   €€r9  rT  rþ  Þ  s   ø€ Ð% e W¨D°°Ñ6r;  c                  ó   >• ST  3$ )Nzstep must be finite but got rR  râ  s   €r9  rT  rþ  â  s   ø€ Ð.¨t¨fÑ5r;  c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frJ  rK  ©rM  r·  s     r9  rO  Úarange.<locals>.<genexpr>æ  s   é € ÐIÂD¸S¤
¨3´× 8Ð 8ÂDùó   ‚)rÙ  r¤  rÏ  r8  rë  rV  FT)r†  Úcheck_layoutÚcheck_pin_memoryrb  r8  Údevice_or_defaultr?  rÎ  rã  rm  rQ  r¶   rj  rÁ  r  r   rŒ  r8  r9   rÀ  Úiotarg  Úget_acc_typer+   Úrequires_grad_)rÙ  rÙ  r¤  rÏ  r  r8  r  rë  r  r�  Úinteger_argsÚ
is_integerÚxstartÚxendÚxsteprk   r%  r2  r  r  s   ```                 r9  r  r  ±  s“  ú€ ô 
×Ò�vÔÜ	×Ò˜:Ô&Ü�\Š\œ%×1Ò1°&Ó9Ó:€Fä�%œ×!Ñ!ÜÐDÓEÐEÜ�#”w×ÑÜÐBÓCÐCÜ�$œ× Ñ ÜÐCÓDÐDð �{ØˆØˆÜ	‡L‚L�˜‘Ñ:Ô;ØˆaƒxÜ�ŠØ�5‰LÙMõ	
ð 
�‹Ü�ŠØ�5‰LÙMô	
ò
Kô 
‡L‚LÙ�%Ó×+™Y s›^Ý6ôô 
‡L‚LÙ�$‹Ü5ôð
 �3˜Ð€DÜ—<’<ÑIÁDÓIÓI€Là�}Þ+”—’´×1HÒ1HÓ1Jˆä×'Ò'¨Ó.€JÞ–\Ü˜“ˆÜ�s‹|ˆÜ˜“ˆð ”—‘Óž|ä�5˜1‘9‹o¤ U¨Q¡Y£Ñ/ˆØ˜‘- %Ñ'¨#Ñ-°%Ñ7‰ä—’˜C %™K¨4Ñ/Ó0ˆæÜ�zŠzØØØØØØ'ñ
ð 	
ô �JŠJØØØÜ�k‰kØØñ€Eö #Œ�
Š
¬×(:Ò(:¸5Ó(Ið ô $ EÐ+<Ó=€EØ�T˜E‘\Ñ!€FÜ$ V¨UÓ3€FæØ×Ñ˜dÔ#Ø€Mr;  )rÙ  rÙ  rS  c                 ó
  • X/n[        U[        5      (       a  U R                  SU5      nOUR                  U5        [        U[        5      (       d  [        S[        U5       35      eUR                  5       S:¬  n[        R                  " XBS-
  U5      n[        R                  " XAU 5      nXQU -
  -  U-   n[        R                  " [        U6 6 nUR                  5       U:w  a  [        R                  " Xx5      n[!        X75      $ )NrR  z)weight must be Tensor at this point, got r‡  rV  )r?  r!   r"  r»  rg  rã  r6  r1   rb  r±   r†  Ú"compute_elementwise_output_stridesrŽ  rL  rÀ  Úcopy_stridedrC  )	rÙ  rÙ  rS  rÝ  r›  ÚcoeffÚbaserB  rL  s	            r9  rY   rY     sÞ   € ð ˆ\€FÜ�&œ&×!Ñ!Ø—‘  FÓ+‰à�‰�fÔÜ�fœf×%Ñ%ÜÐHÌÈfËÈÐWÓXÐXð �:‰:‹<˜3Ñ€DÜ�KŠK˜ q™j¨&Ó1€EÜ�;Š;�t %Ó(€DØ˜E‘kÑ" TÑ)€Fä×5Ò5Ô7GÈÐ7PÐQ€FØ‡}�}ƒ˜&Ó Ü×#Ò# FÓ3ˆä'¨Ó7Ð7r;  )rÏ  r8  r  r  rë  Ústepsc          
      ó"  ^ ^^^^• [        T [        5      (       aC  [        R                  " T R	                  5       S:H  S 5        [        T [        R                  5      m [        T[        5      (       aC  [        R                  " TR	                  5       S:H  S 5        [        T[        R                  5      m[        R                  " S T TT4 5       5      (       a`  [        R                  " [        R                  " 5       5      mTc  TmOO[        R                  " [        R                  " T5      UU4S j5        OT=(       d    [        R                  " 5       m[        T[        R                  5      (       d  [        S[        T5       35      e[        R                   " [        T["        5      UU U4S j5        [        T["        5      (       d  [        S[        T5       35      e[        R                  " TS:¬  S	 5        UUUUS
.nTS:X  a  [        R$                  " SST0UD6$ TS:X  a~  [        T [        5      (       aN  [        R&                  " T44ST0UD6n	[        R(                  R*                  R,                  R/                  U	T 5      $ [        R$                  " T4T 4ST0UD6$ [        R0                  " ST40 UD6n
[        R2                  " T5      (       d  [        R4                  " T5      (       a  [        R6                  OTn[        R8                  " U
[:        R<                  U5      u  pÍ[?        [
        US9nTT -
  TS-
  -  n[        R@                  " U
TS-  :  T Xþ" U
5      -  -   TXþ" TS-
  U
-
  5      -  -
  5      n[        UT5      $ )Nr   c                  ó   • g©Nz:linspace only supports 0-dimensional start and end tensorsrR  rR  r;  r9  rT  Úlinspace.<locals>.<lambda>I  rÉ  r;  c                  ó   • gr  rR  rR  r;  r9  rT  r   O  rÉ  r;  c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frJ  ©r?  rÎ  r	  s     r9  rO  Úlinspace.<locals>.<genexpr>S  ó   é € ÐLÒ8K°”J˜s¤G×,Ð,Ò8Kùr  c                  ó   >• ST  ST 3$ )Nzlinspace(): inferred dtype z& can't be safely cast to passed dtype rR  )Údefault_complex_dtyperÏ  s   €€r9  rT  r   \  s   ø€ Ð5Ð6KÐ5LÐLrÐsxÐryÑzr;  údtype must be torch.dtype, got c                  óŽ   >• S[        T5      R                   S[        T 5      R                   S[        T5      R                   S3$ )Nz4received an invalid combination of arguments - got (rA  rB  )r6  r   )rÙ  rÙ  r  s   €€€r9  rT  r   f  sB   ø€ ð Ü€uƒ+×ÑÐ�rœ$˜s›)×,Ñ,Ð-¨R´°U³×0DÑ0DÐ/EÀQñHr;  zsteps must be IntLike, got c                  ó   • g)Nz$number of steps must be non-negativerR  rR  r;  r9  rT  r   k  s   € Ð%Kr;  )r  r8  r  rë  rÏ  rV  rñ  rF  )rí  r   )!r?  r(   rb  rm  r  r+   r‹  rQ  r¹   r†  rT  rÁ  rÎ  rÏ  rã  r6  r{  r   r  r  Úopsr¹  r  r¹  r  r  r  rj  rL  r$   rk  r   r±   )rÙ  rÙ  r  rÏ  r8  r  r  rë  Úfactory_kwargsÚempty_tensorrÀ  Ú	dtype_redr  r¶  Úcast_rgr¤  r´  r'  s   ````             @r9  r  r  9  sü  ü€ ô �%œ×(Ñ(Ü�ŠØ�I‰I‹K˜1ÑÙPô	
ô (¨¬u¯}©}Ó=ˆÜ�#”~×&Ñ&Ü�ŠØ�G‰G‹I˜‰NÙPô	
ô & c¬5¯=©=Ó9ˆä‡|‚|ÑL¸ÀÀUÑ8KÓL×LÑLÜ %× AÒ AÜ×#Ò#Ó%ó!
Ðð ‰=Ø)‰Eä�LŠLÜ×&Ò& uÓ-Ýzõð
 ×2œ×0Ò0Ó2ˆÜ�eœUŸ[™[×)Ñ)ÜÐ>¼tÀE»{¸mÐLÓMÐMô 
×ÒÜ�5œ'Ó"ö	Hôô
 �eœW×%Ñ%ÜÐ:¼4À»;¸-ÐHÓIÐIÜ	‡L‚L�˜!‘ÑKÔLð ØØ Ø&ñ	€Nð �ƒzÜ�zŠzÑA¨ÐA°.ÑAÐAØ�ƒzÜ�eœ^×,Ñ,Ü Ÿ;š;¨ xÑO°uÐOÀÑOˆLÜ—9‘9—>‘>×&Ñ&×.Ñ.¨|¸UÓCÐCä—:’:˜u˜h¨ÑM°UÐM¸nÑMÐMô 
�Š�a˜Ñ	1 .Ñ	1€Bô
 ×"Ò" 5×)Ñ)¬U×-CÒ-CÀE×-JÑ-Jô 	�Šàð ô
 !×1Ò1Ø
Ô&×+Ñ+¨YóÑÐô Ô-Ð5FÑG€Gð �%‰K˜E A™IÑ&€Dä
�+Š+Ø
ˆU�Q‰Y‰Ø��w˜r“{Ñ"Ñ"Øˆd�W˜e a™i¨2Ñ-Ó.Ñ.Ñ.ó€Cô
 # 3¨Ó.Ð.r;  r  c                óÌ  • Uc  [         R                  " 5       n[        R                  R	                  U5      (       aÔ  [        U [        5      (       a  [        U 5      n OI[        U [        5      (       a4  [         R                  " U R                  5       S:H  S 5        [        X5      n [        U[        5      (       a  [        U5      nOI[        U[        5      (       a4  [         R                  " UR                  5       S:H  S 5        [        X5      n[        R                  " S XU4 5       5      (       a.  [        R                  " [         R                  " 5       5      n	U	nS n
O[         R                  n
[        U[         5      (       a  [#        S[%        U5       35      eUS:  a  [&        e[         R(                  " U UUU
UUUUS9n[        [         R*                  " X;5      U5      $ )Nr   c                  ó   • g©Nz:logspace only supports 0-dimensional start and end tensorsrR  rR  r;  r9  rT  Úlogspace.<locals>.<lambda>®  ó   € ÐTr;  c                  ó   • gr2  rR  rR  r;  r9  rT  r3  ¶  r4  r;  c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frJ  r#  r	  s     r9  rO  Úlogspace.<locals>.<genexpr>º  r%  r  zbase must not be complex, got rà  )rb  rÁ  rÀ  r†  r  r?  r   r   r(   rm  r  r+   rQ  r¹   rT  r‹  rÎ  rã  r6  r  r  r¡   )rÙ  rÙ  r  r  rÏ  r8  r  r  rë  r'  Ú_dtypeÚrets               r9  r  r  –  s€  € ð �}Ü×'Ò'Ó)ˆô ‡{�{×#Ñ# E×*Ñ*Ü�eœY×'Ñ'Ü˜E“N‰EÜ˜œ~×.Ñ.Ü�LŠLØ—	‘	“˜qÑ ÙTôô ,¨EÓ9ˆEÜ�cœ9×%Ñ%Ü˜#“,‰CÜ˜œ^×,Ñ,Ü�LŠLØ—‘“	˜Q‘ÙTôô *¨#Ó5ˆCä‡|‚|ÑL¸ÀUÑ8KÓL×LÑLÜ %× AÒ AÜ×#Ò#Ó%ó!
Ðð &ˆØ‰ä—‘ˆä�$œ× Ñ ÜÐ=¼dÀ4»j¸\ÐJÓKÐKØˆaƒxÜ!Ð!Ü
�.Š.ØØØØØØØØ#ñ	€Cô #¤5§9¢9¨TÓ#7¸Ó?Ð?r;  Úindexingc                 ó   • g rJ  rR  )r×  r:  s     r9  ré   ré   Ô  s   € ð 	r;  c                 ó   • g rJ  rR  )r:  r×  s     r9  ré   ré   Ú  s   € àr;  c                 óv  ^ ^• [        US   [        [        45      (       a4  [        U5      S:w  a  [	        S[        U5       35      e[        US   5      n[
        R                  " [        R                  " S U 5       5      S 5        [
        R                  " [        U5      S:„  S 5        [        [        U5      S-
  5       Ho  n[
        R                  " X   R                  XS-      R                  :H  S 5        [
        R                  " X   R                  XS-      R                  :H  S 5        Mq     S	nT S
:X  a&  [        U5      S:¬  nU(       a  US   US   /USS  Q7nO[
        R                  " T S:H  U 4S j5        / nU HŒ  m[        T[        5      (       d  [	        S[        T5       35      e[
        R                  " TR                  S:H  =(       d    TR                  S:H  U4S j5        UR                  TR!                  5       5        MŽ     / n[#        U5       Hz  u  nm[        T[        5      (       d  [	        S[        T5       35      eTR                  S:X  a  TR%                  S5      mUR                  [&        R(                  " TXB45      5        M|     U(       a  US   US   sUS'   US'   U$ )Nr   rV  z*Expected exactly 1 tensor list/tuple, got c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frJ  ©r?  r'   r»  s     r9  rO  Úmeshgrid.<locals>.<genexpr>ï  s   é € Ð@º°1”Z ¤:×.Ð.ºùr  c                  ó   • g)Nz)meshgrid expects its inputs to be tensorsrR  rR  r;  r9  rT  Úmeshgrid.<locals>.<lambda>ð  rÙ  r;  c                  ó   • g)Nz'meshgrid expects a non-empty TensorListrR  rR  r;  r9  rT  rB  ó  s   € Ð+Tr;  c                  ó   • g)Nz3meshgrid expects all tensors to have the same dtyperR  rR  r;  r9  rT  rB  ø  s   € ÐIr;  c                  ó   • g)Nz4meshgrid expects all tensors to have the same devicerR  rR  r;  r9  rT  rB  ü  s   € ÐJr;  FÚxyrF  Úijc                  ó   >• ST  3$ )NzDtorch.meshgrid: indexing must be one of "xy" or "ij", but received: rR  )r:  s   €r9  rT  rB    s   ø€ ð!Ø!) 
ñ,r;  zexpected TensorLike, got c                  ó   >• ST  3$ )NzEtorch.meshgrid: Expected 0D or 1D tensor in the tensor list but got: rR  )rý   s   €r9  rT  rB    s   ø€ Ð[Ð\]Ð[^Ñ_r;  r7  )r?  rf  rg  rY  rã  rb  rm  rQ  r¶   rl  rÏ  r8  r'   r6  rJ  r»  r  rk  r	  rÀ  rM  )r:  r×  rD  Úswap_first_and_second_tensorsÚresult_shapeÚgridsrý   s   `     @r9  ré   ré   ß  s^  ù€ ô �'˜!‘*œt¤U˜m×,Ñ,Üˆw‹<˜1ÓÜ Ø<¼SÀ»\¸NÐKóð ô ˜ ™
Ó#ˆä	‡L‚LÜ�ŠÑ@¹Ó@Ó@Ù;ôô
 
‡L‚L”�W“ Ñ!Ñ#TÔUä”3�w“< !Ñ#Ö$ˆÜ�ŠØ‰J×Ñ ¨A©¡× 4Ñ 4Ñ4ÙIô	
ô 	�ŠØ‰J×Ñ ¨Q©¡×!6Ñ!6Ñ6ÙJö	
ñ %ð %*Ð!Ø�4ÓÜ(+¨G«¸Ñ(9Ð%Þ(Ø˜q‘z 7¨1¡:Ð<°¸¸°Ñ<ˆGøä�ŠØ˜Ñôô	
ð !€LÛˆÜ˜!œZ×(Ñ(Ü Ð#<¼TÀ!»W¸IÐ!FÓGÐGÜ�ŠØ�F‰F�a‰K×&˜1Ÿ6™6 Q™;Ü_ô	
ð 	×Ñ˜AŸG™G›IÖ&ñ ð #%€EÜ˜'Ö"‰ˆˆ1Ü˜!œZ×(Ñ(Ü Ð#<¼TÀ!»W¸IÐ!FÓGÐGØ�6‰6�Q‹;Ø—‘�t“ˆAØ�‰”U×+Ò+¨A¨|¸TÓBÖCñ #ö %à" 1™X u¨Q¡xÐˆˆa‰�%˜‘(à€Lr;  ÚsourceÚdestinationc                 ól  ^^• [        T5      [        L a  T4m[        T5      [        L a  T4m[        R                  " [	        T5      [	        T5      :H  UU4S j5        U R
                  n[        [        R                  " UTS95      n[        [        R                  " UTS95      n[        U5      n[        U5      n[        R                  " [	        U5      [	        U5      :H  U4S j5        [        R                  " [	        U5      [	        U5      :H  U4S j5        [        [        XT5      5      n/ n	Sn
[        U5       HQ  nUR                  U5      nUb  U	R                  U5        M*  X¦;   a  U
S-  n
X¦;   a  M  U	R                  U
5        U
S-  n
MS     [        R                  " U [        U	5      5      nU$ )z+
Reference implementation of torch.movedim
c                  ó:   >• S[        T5       S[        T 5       S3$ )Nz5movedim: Invalid source or destination dims: source (z> dims) should contain the same number of dims as destination (z dims)©rf  )rN  rM  s   €€r9  rT  Úmovedim.<locals>.<lambda>8  s)   ø€ ðÜ�V“ˆ~ð 'Ü'+¨KÓ'8Ð&9¸ñAr;  )r�  rn  c                  ó"   >• S[        T 5       S3$ )Nz#movedim: repeated dim in `source` (rB  rQ  )rM  s   €r9  rT  rR  I  s   ø€ Ð5´d¸6³l°^À1ÑEr;  c                  ó"   >• S[        T 5       S3$ )Nz(movedim: repeated dim in `destination` (rB  rQ  )rN  s   €r9  rT  rR  M  s   ø€ Ð:¼4ÀÓ;LÐ:MÈQÑOr;  r   rV  )r6  rµ  rb  rm  rY  rJ  rg  r†  r3  ÚsetÚdictr€  rl  r8  r»  rï   )rÌ  rM  rN  r�  ÚssÚdsÚsssÚdssr¢  rW  ÚsiÚdir9  r  s    ``           r9  rê   rê   '  sh  ù€ ô ˆFƒ|”sÒØ�ˆÜˆKÓœCÒØ"�nˆô 
‡L‚LÜˆF‹”s˜;Ó'Ñ'õ	
ôð �:‰:€DÜ	Œu×&Ò&¨D¸&ÑAÓ	B€BÜ	Œu×&Ò&¨D¸+ÑFÓ	G€Bä
ˆb‹'€CÜ
ˆb‹'€Cô 
‡L‚LÜˆB‹”3�s“8ÑÜEôô 
‡L‚LÜˆB‹”3�s“8ÑÜOôô
 	ŒS�‹[Ó€AØ€DØ	
€BÜ�DŽkˆà�E‰E�"‹IˆØ‰=à�K‰K˜ŽNð “)Ø�a‘�ð •)à�K‰K˜ŒOØ�!‰GŠBñ ô �]Š]˜5¤%¨£+Ó.€Fà€Mr;  )rÏ  r8  r  rë  r  rå  c                ó   • [         R                  " U5        [         R                  " U5        [         R                  " U 5      n Uc  [        R
                  " 5       OUnUc  [        R                  " S5      OUn[        R                  " U UUUUS9$ )NrŽ  rš  )	r†  r  r  rx  rb  rÁ  r8  rÀ  r  )rZ  rå  rÏ  r8  r  rë  r  s          r9  r  r  f  sz   € ô 
×Ò�vÔÜ	×Ò˜:Ô&ä×,Ò,¨UÓ3€EØ).©ŒE×#Ò#Ô%¸E€EØ$*¡NŒU�\Š\˜%Ô ¸€Fä×ÒØØØØØ#ñð r;  Úvalc                 óÞ   • [         R                  [         R                  [         R                  4 H+  nU [         R                  " U5      R
                  ::  d  M)  Us  $    [         R                  $ rJ  )rb  rd  Úuint16rÈ  Úiinforj  rj  )r^  Úpossible_dtypes     r9  Ú_strength_reduce_integerrc  ƒ  sI   € Ü Ÿ;™;¬¯©´e·k±kÓBˆØ”%—+’+˜nÓ-×1Ñ1Õ1Ø!Ò!ñ Cô �;‰;Ðr;  Únr¢  c          	      óÂ  ^ ^• Tc  T m[         R                  " T S:¬  U 4S j5        [         R                  " TS:¬  U4S j5        [         R                  n[        T [        R
                  5      (       a4  [        T[        R
                  5      (       a  [        [        T T5      5      n[         R                  " T XtSS9n[         R                  " TXtSS9n	UR                  S5      U	:H  n
U[         R                  S4;   a4  U(       d-  U
R                  U=(       d    [         R                  " 5       5      $ [         R                  " SUUUUSS	9n[         R                  " X«S5      $ )
z'
Reference implementation of torch.eye
Nr   c                  ó   >• ST  3$ )Nz%n must be greater or equal to 0, got rR  )rd  s   €r9  rT  Úeye.<locals>.<lambda>œ  ó   ø€ Ð#HÈÈÑ!Lr;  c                  ó   >• ST  3$ )Nz%m must be greater or equal to 0, got rR  )r¢  s   €r9  rT  rg  �  rh  r;  Frš  r\  r7  rà  )rb  rm  rj  r?  r†  ÚIntWithoutSymIntrc  rj  r  r  Ústridedrµ   rÁ  r%  r±   )rd  r¢  rÏ  r  r8  r  rë  Úrange_dtypeÚrange_nÚrange_mr¢  Úones   ``          r9  r  r  Š  s  ù€ ð 	�yØˆä	‡L‚L��a‘ÔLÔMÜ	‡L‚L��a‘ÔLÔMä—+‘+€KÜ�!”U×+Ñ+×,Ñ,´¸A¼u×?UÑ?U×1VÑ1VÜ.¬s°1°a«yÓ9ˆÜ�lŠl˜1 KÈeÑT€GÜ�lŠl˜1 KÈeÑT€Gà×Ñ˜RÓ  GÑ+€DØ”%—-‘- Ð&Ó&®zØ�w‰w�u×9¤× 7Ò 7Ó 9Ó:Ð:ä�jŠjØØØØØ!Øñ
ˆô �{Š{˜4 aÓ(Ð(r;  c          	      ó   • [         R                  " U5        [         R                  " U5        Ub  UO[         R                  " [	        U5      5      nUb  UO[
        R                  " S5      n[        U UUUUUS9n[
        R                  " Xq5      $ )NrŽ  rà  )	r†  r  r  Útype_to_dtyper6  rb  r8  r  rG   )rZ  rõ  rÏ  r  r8  r  rë  Úes           r9  r  r  ·  s~   € ô 
×Ò�vÔÜ	×Ò˜:Ô&àÑ&‰E¬E×,?Ò,?ÄÀZÓ@PÓ,Q€EØÑ)‰V¬u¯|ª|¸EÓ/B€FäØØØØØØ#ñ	€Aô �:Š:�aÓ$Ð$r;  ©rÏ  r  r8  r  rë  r  c          
      óL   • [         R                  " U UUUUUUS9n[        X�5      $ )Nrs  )rb  r  rG   )	rr  rõ  rÏ  r  r8  r  rë  r  rr  s	            r9  r  r  Ô  s6   € ô 	×ÒØ	ØØØØØ#Ø#ñ	€Aô �ÓÐr;  c                óŠ   • [         R                  " U U=(       d    U R                  [         R                  :X  a  SOSUUUUUUS9$ )NFr   rs  ©rb  r  rÏ  rŒ  ©rr  rÏ  r  r8  r  rë  r  s          r9  r+  r+  ë  sC   € ô �?Š?Ø	Ø×"˜1Ÿ7™7¤u§z¡zÓ1‰°qØØØØØ#Ø#ñ	ð 	r;  c                óŠ   • [         R                  " U U=(       d    U R                  [         R                  :X  a  SOSUUUUUUS9$ )NTrV  rs  rv  rw  s          r9  r&  r&    sC   € ô �?Š?Ø	Ø×!˜!Ÿ'™'¤e§j¡jÓ0‰°aØØØØØ#Ø#ñ	ð 	r;  c           	      óä   • [         R                  " U5        [         R                  " U5      n[         R                  " U 5      n [         R                  " U5      n[
        R                  " USSU UUS9$ )Nr  r†  )r¼   r¿   rÏ  r8  rë  )r†  r  rx  Údtype_or_defaultr  rÀ  rc   )rÏ  r8  r  rë  r  rZ  r  s          r9  r'  r'    se   € ô 
×Ò˜:Ô&ä×-Ò-¨eÓ4€Fä×"Ò" 5Ó)€EÜ×$Ò$ VÓ,€Fä�<Š<ØØØØØØ#ñð r;  c                ó  • [         R                  " U5        [         R                  " U5        Ub  UO[         R                  " [	        U 5      5      nUb  UO[
        R                  " S5      n[        R                  " XUS9$ )NrŽ  r}  )	r†  r  r  rq  r6  rb  r8  rÀ  r(  )rr  rÏ  r  r8  r  s        r9  r(  r(  6  sc   € ô 
×Ò�vÔÜ	×Ò˜:Ô&ØÑ&‰E¬E×,?Ò,?ÄÀQÃÓ,H€EØÑ)‰V¬u¯|ª|¸EÓ/B€FÜ×Ò˜q°fÑ=Ð=r;  ÚlowÚhighc          	      óÎ  • [         R                  " U 5        [        U[        5      (       d  [	        S[        U5       35      e[        U[        5      (       d  [	        S[        U5       35      e[        U5      n[        U5      n[        U[        R                  5      (       d  [	        S[        U5       35      e[         R                  " U5      n[        R                  " XX$XSS9$ )Nzlow must be Number, got zhigh must be Number, got r(  )r|  r}  rÏ  r8  rL  )r†  r  r?  r!   rã  r6  r   rb  rÏ  Úcanonicalize_devicerÀ  Ú_uniform_helper)rZ  r|  r}  rL  rÏ  r8  s         r9  r€  r€  J  s¾   € ô 
×Ò˜Ôä�cœ6×"Ñ"ÜÐ7¼¸S»	°{ÐCÓDÐDÜ�dœF×#Ñ#ÜÐ8¼¸d»¸ÐEÓFÐFÜ
�C‹.€CÜ�T‹?€Dä�eœUŸ[™[×)Ñ)ÜÐ>¼tÀE»{¸mÐLÓMÐMÜ×&Ò& vÓ.€Fä× Ò Ø˜T°vñð r;  r›  c                 ó*  ^^• [         R                  " U R                  5      m[        U[        5      (       a  [        U5      nOÜUR                  m[        R                  " TS:H  U4S j5        U R                  R
                  SSS[        R                  R                  5       S4;   =(       a    UR                  R
                  S:H  n[        R                  " U=(       d    UR                  U R                  :H  S 5        [         R                  " UR                  5      nU[        L a0  [        R                  " [         R                  " UT5      U4S	 j5        [        X R                  5      n[        R                  " XU 5      nUR!                  5       $ )
Nr   c                  ó   >• ST  S3$ )Nz@only supports a 0-dimensional value tensor, but got tensor with z
 dimensionrR  )Ú
value_ndims   €r9  rT  Úmasked_fill.<locals>.<lambda>q  s   ø€ ÐVÐWaÐVbÐblÑmr;  ÚcudaÚxpuÚmpsr4  rŽ  c                  ó   • g)Nz,Expected `value` to be on same device as `a`rR  rR  r;  r9  rT  r„  {  s   € ÐBr;  c                  ó   >• ST  S3$ )Nzcould not convert to type z without overflowrR  )rä  s   €r9  rT  r„  †  s   ø€ Ð0°°Ð=NÑOr;  )r†  r   rÏ  r?  r!   r6  rJ  rb  rm  r8  Ú_CÚ_get_privateuse1_backend_namerÎ  r    r+   r±   rØ   )rr  r›  rÞ  Ú
value_typeÚis_cpu_scalarrç  rä  rƒ  s         @@r9  r¯   r¯   e  s.  ù€ ô ×%Ò% a§g¡gÓ.€KÜ�%œ× Ñ Ü˜%“[‰
ð —Z‘Zˆ
Ü�ŠØ˜!‰OÜmô	
ð �H‰H�M‰MØ˜˜u¤e§h¡h×&LÑ&LÓ&NÐPUÐVñW÷ +à—‘×!Ñ! UÑ*ð 	ô
 	�ŠØ×5˜UŸ\™\¨Q¯X©XÑ5ÙBô	
ô ×(Ò(¨¯©Ó5ˆ
à”WÒô
 	�ŠÜ×'Ò'¨
°KÓ@ÜOô	
ô $ E¯7©7Ó3€EÜ�Š�D Ó#€Að �<‰<‹>Ðr;  c                 óV   • [         R                  " XU5      nU R                  U5        U $ rJ  )rb  r¯   rO  )rr  r›  rÞ  rs  s       r9  r°   r°   ”  s&   € ô 	×Ò˜! 5Ó)€AØ‡G�GˆA„JØ€Hr;  c                 óš   • [        SXX#S9  [        [        R                  " [        R                  " XX#US95      R                  5       5      $ )z,
Reference implementation of torch.allclose
ztorch.allcloser¼  )r³  r´  r¾  )r½  rŒ  rb  r¶   r‘   r´   )rr  rs  r³  r´  r¾  s        r9  r,  r,  ž  s@   € ô Ð+¨q¸DÒLäÜ�	Š	”%—-’- ¨4ÀiÑPÓQ×VÑVÓXóð r;  c                 óR  • [         R                  " XSS9  [         R                  " X5        U R                  UR                  :w  a  g[	        U R
                  UR
                  5       H  u  p#X#:w  d  M    g   U R                  5       S:X  a  g[        [        [        X5      5      5      $ )NFr  r   T)
r†  r  Úcheck_same_dtyperJ  r€  rZ  r  r´   r¶   rƒ   )rr  rs  rN  r�  s       r9  r-  r-  ¯  s}   € Ü	×Ò˜A¸5ÒAÜ	×Ò˜1Ô ð 	‡v�v�—‘ÓØä�A—G‘G˜QŸW™WÖ%‰ˆØ�6Ùñ &ð
 	‡w�wƒy�Aƒ~Øä””B�q“H“ÓÐr;  rñ  c                ó~  • US:X  a'  Ub'  [        U[        5      (       d  [        U5      S::  d  Uc  Sn[        U[        5      (       a  U/n[        U[        5      (       a@  Uc  [	        [        U R                  5      5      n[        R                  R                  XX#US9$ [        R                  R                  XX#US9$ )NÚfrorF  rñ  )r?  r   rY  rˆ  rg  rl  rJ  rb  r…  Úmatrix_normr†  )rÌ  r  r  r  rÏ  s        r9  rb   rb   Â  s¢   € ð 	
ˆU‹
˜™¤z°#´s×';Ñ';¼sÀ3»xÈ1»}Ø	
‰ØˆÜ�#”s×ÑØˆeˆÜ�!”S×Ñð ‰;Üœ˜eŸj™jÓ)Ó*ˆCÜ�|‰|×'Ñ'¨°#ÀeÐ'ÐLÐLä�|‰|×'Ñ'¨°#ÀeÐ'ÐLÐLr;  c                 óª   ^ • [         R                  " T R                  S:H  U 4S j5        [         R                  " [         R                  " T S5      5      $ )NrF  c                  ó"   >• ST R                    3$ )Nz+expected a matrix, but got tensor with dim r©  r  s   €r9  rT  Útrace.<locals>.<lambda>â  s   ø€ Ð=¸d¿i¹i¸[ÑIr;  r   )rb  rm  rJ  rÁ   rÚ   r  s   `r9  rv   rv   Ý  s;   ø€ ô 
‡L‚LØ�	‰	�Q‰ÜIôô �9Š9”U—Z’Z  aÓ(Ó)Ð)r;  c                 óp   ^ • S[         [        [        4   S[         [        [        4   S[        4U 4S jjnU$ )Nrr  rs  rz  c                 ó   >• T" X5      $ rJ  rR  )rr  rs  Úbase_ops     €r9  ÚropÚ_make_r_binary_op.<locals>.ropè  s   ø€ ñ �q‹}Ðr;  )r   r(   r"   )rš  r›  s   ` r9  Ú_make_r_binary_opr�  ç  s=   ø€ ðÜ”¤Ð+Ñ,ðä”¤Ð+Ñ,ðô 
÷ð €Jr;  rÛ   c                 ór  • [         R                  " U R                  S:¬  S 5        U R                  SS  u  p#[         R                  " X0R
                  S9R                  S5      [         R                  " X R
                  S9R                  S5      -
  U:¬  n[        R                  " X@5      R                  5       $ )NrF  c                  ó   • g)Nz2triu: input tensor must have at least 2 dimensionsrR  rR  r;  r9  rT  Útriu.<locals>.<lambda>ú  ó   € ÐQr;  r¼  r7  r\  ©
rb  rm  rJ  rZ  r  r8  r  r†  rœ  rØ   ©rr  rÛ   Úhr`  r›  s        r9  r  r  ö  ó’   € ô 
‡L‚LØ	�‰�!‰ÑQôð �7‰7�2�3ˆ<�D€Aä�Š�QŸx™xÑ(×2Ñ2°2Ó6Ü
�,Š,�q§¡Ñ
*×
4Ñ
4°RÓ
8ñ	9à	ñ€Dô ×Ò˜TÓ%×0Ñ0Ó2Ð2r;  c                 ór  • [         R                  " U R                  S:¬  S 5        U R                  SS  u  p#[         R                  " X0R
                  S9R                  S5      [         R                  " X R
                  S9R                  S5      -
  U:*  n[        R                  " X@5      R                  5       $ )NrF  c                  ó   • g)Nz2tril: input tensor must have at least 2 dimensionsrR  rR  r;  r9  rT  Útril.<locals>.<lambda>  r¡  r;  r¼  r7  r\  r¢  r£  s        r9  r  r    r¥  r;  r­  r®  c                 ó  • U S:X  d  US:X  a  gUS:”  a  [        USU-   5      O[        X-   S:„  5      n[        S[        XU-   5      5      n[        S[        X U-   5      5      nXC-
  S-   nX4-   U-  S-  nXV-
  n[        SX�-  5      n	XyU4$ )Nr   ©r   r   r   rV  rF  )r  rµ  rj  )
r­  r®  r–  Úm_first_rowÚ
m_last_rowÚ	n_row_allÚn_row_trapezoidÚtrapezoid_sizeÚdiff_rowÚrectangle_sizes
             r9  Ú_get_tril_sizesr²    s¢   € Ø
ˆaƒx�3˜!“8Øà*0°1«*”#�c˜1˜v™:Ô&¼#¸c¹lÈQÑ>NÓ:O€KÜ�Qœ˜C v¡Ó.Ó/€JÜ�A”s˜3 f¡Ó-Ó.€IØ Ñ.°Ñ2€Oð "Ñ.°/ÑAÀQÑF€NàÑ*€HÜ˜˜H™NÓ+€Nà¨;Ð6Ð6r;  c                 óþ   ^ ^^^• [         R                  " TS:¬  U4S j5        [         R                  " TS:¬  U4S j5        [         R                  " T[         R                  [         R                  4;   UU 4S j5        g )Nr   c                  ó   >• ST  3$ )Nzrow must be non-negative, got rR  )r­  s   €r9  rT  Ú_trilu_checks.<locals>.<lambda>7  ó   ø€ Ð%CÀCÀ5Ñ#Ir;  c                  ó   >• ST  3$ )Nzcol must be non-negative, got rR  )r®  s   €r9  rT  rµ  8  r¶  r;  c                  ó   >• ST ST  S3$ )Nrq  z" not implemented for 'Ú'rR  )rÏ  r°  s   €€r9  rT  rµ  ;  s   ø€ �"�T�FÐ2°5°'¸Ñ;r;  )rb  rm  rÈ  rj  )r°  r­  r®  rÏ  r  r  s   ````  r9  Ú_trilu_checksrº  /  sO   û€ ô 
‡L‚L�˜‘ÔIÔJÜ	‡L‚L�˜‘ÔIÔJÜ	‡L‚LØ”%—+‘+œuŸ{™{Ð+Ñ+Ý;õr;  rŽ  c                ól  • [        SXX4U5        [        XU5      u  pxn	[        SU* 5      n
[        [        R
                  XEUS9nU" SU[        R                  S9nU	S-
  n[        R                  " U* [        R                  " XÝ-  SU-  -   5      -   5      n[        R                  " USU	-  S-
  U-   U-  S-  -
  5      n[        Xê-   U5      n[        Xó5      nU" SXƒS9nUU-  X-
  S-   U
-   -   nUU-  n[        R                  " [        R                  " UU45      [        R                  " UU45      45      $ )Nr  r   ©r  r8  r  rñ  r‡  rF  rV  )rº  r²  rj  r   rb  r  r‹  rI   rr   r+   rù   rÓ   )r­  r®  r–  rÏ  r  r8  r  r¯  r±  r«  Ú
row_offsetÚ	arange_kwÚxs1rs  Ú	row_inds1Ú	col_inds1Úxs2Ú	row_inds2Ú	col_inds2s                      r9  r  r  @  s7  € ô �. #¨E¸:ÔFä2AÀ#ÈFÓ2SÑ/€N KÜ�Q˜˜“€JäÜ�‰˜V¸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€IÜ'¨	Ñ(>ÀÓF€IÜ'¨	Ó9€Iñ �A�~Ñ
3€CØ�s‘
˜cÑ/°!Ñ3°jÑ@ÑA€IØ�c‘	€Iä�;Š;Ü	�Š�I˜yÐ)Ó	*¬E¯IªI°yÀ)Ð6LÓ,MÐNóð r;  c                 óÀ   • U S:X  d  US:X  a  gUS:”  a  [        SX-
  5      OUn[        S[        X* 5      U-  5      n[        XUS-
  5      u  pVnX-  XV-   -
  nX„-
  n	X”U4$ )Nr   rª  rV  )rj  r  r²  )
r­  r®  r–  r«  r±  Útrapezoid_size_trilÚrectangle_size_trilr¶  Ú	triu_sizer¯  s
             r9  Ú_get_triu_sizesrÉ  k  s   € Ø
ˆaƒx�3˜!“8Øà*0°1«*”#�a˜™Ô&¸#€Kô ˜œC  WÓ-°Ñ3Ó4€Nô 3BÀ#ÈFÐUVÉJÓ2WÑ/Ð¨aØ‘	Ð0ÑFÑG€IØÑ/€Nà¨;Ð6Ð6r;  c                óv  • [        SXX4U5        [        XU5      u  pxn	[        SU5      n
[        [        R
                  XEUS9nU" SXƒS9nXÁ-  nXÁ-  nU" SU[        R                  S9nSU	-
  n[        R                  " U* [        R                  " UU-  SU-  -
  5      -
  5      n[        R                  " USU	-  S-
  U-
  U-  S-  -
  5      n[        UU5      n[        UU5      nU(       a  UX�-  -   nUU
-   n[        R                  " [        R                  " UU45      [        R                  " UU45      45      $ )	Nr  r   r¼  rñ  g      à¿rF  rV  r‡  )rº  rÉ  rj  r   rb  r  r‹  rI   rr   r+   rù   rÓ   )r­  r®  r–  rÏ  r  r8  r  r¯  r±  r«  Ú
col_offsetr¾  rÂ  rÃ  rÄ  r¿  rs  rÀ  rÁ  s                      r9  r  r  |  s:  € ô �. #¨E¸:ÔFä2AÀ#ÈFÓ2SÑ/€N KÜ�Q˜“€JäÜ�‰˜V¸zñ€Iñ
 �A�~Ñ
3€CØ‘
€IØ‘	€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€IÜ'¨	°5Ó9€IÜ'¨	°5Ó9€Iæ
Ø Ñ!6Ñ7ˆ	Ø˜JÑ&€Iä�;Š;Ü	�Š�I˜yÐ)Ó	*¬E¯IªI°yÀ)Ð6LÓ,MÐNóð r;  )Ú	out_int32r¯  Ú
boundariesrÌ  r¯  c                ó
  ^• [         R                  " TR                  5       S:H  U4S j5        [        U [         R                  5      (       a  U O[         R
                  " U 5      n U(       a  [         R                  O[         R                  nTR                  S   nUS:X  a  [         R                  " U 5      $ [         R                  " U R                  U R                  [         R                  S9nXe-   nXgU-
  S-  -   nTU   n	U(       a  X�:„  n
OX�:¬  n
[         R                  " X¦US-   5      nUS:”  aÄ  [         R                  " U [         R                  S9n[        [         R"                  " U5      5      n[%        U5       Hs  n[         R                  " X«-  X‡5      nXg:  n[         R                  " X¶Xv-
  S-  -   S5      nTU   n	U(       a  X�:„  n
OX�:¬  n
[         R                  " U
) U-  US-   U5      nMu     UR'                  US9$ )NrV  c                  ó,   >• ST R                  5        S3$ )Nz2boundaries tensor must be 1 dimension but got dim(rB  rf  )rÍ  s   €r9  rT  Úbucketize.<locals>.<lambda>²  s   ø€ ÐDÀZÇ^Á^ÓEUÐDVÐVWÑXr;  r\  r   r›  rF  rñ  )rb  rm  r  r?  rg  rò  rÈ  rj  rZ  r+  r*  r8  r±   r&  rŒ  rµ  r8  r]   rl  rµ   )rr  rÍ  rÌ  r¯  Ú	out_dtypeÚn_boundariesrÙ  rÙ  ÚmidÚmid_valÚcond_midÚcond_updateÚnitersr¶  s    `            r9  r.  r.  §  s¦  ø€ ô 
‡L‚LØ�‰Ó˜AÑÜXôô
 ˜œ5Ÿ<™<×(Ñ(‰¬e¯lªl¸1«o€AÞ(”—’¬e¯k©k€IØ×#Ñ# BÑ'€LØ�qÓÜ×Ò Ó"Ð"ô
 �KŠK˜Ÿ™¨¯©¼¿¹ÑD€EØ
Ñ
€Cð ˜‘; 1Ñ$Ñ
$€CØ˜‰o€GÞØ‘;‰à‘<ˆÜ�KŠK˜¨¨q©Ó1€Eà�aÓÜ—o’o a¬u¯z©zÑ:ˆÜ”T—Y’Y˜|Ó,Ó-ˆÜ�v–ˆAÜ—+’+˜hÑ4°cÓ?ˆCØ™+ˆKä—+’+˜k°C±KÀAÑ3EÑ+EÀqÓIˆCØ  ‘oˆGö Ø"™;‘à"™<�Ü—K’K ( ¨kÑ 9¸3À¹7ÀEÓJŠEñ ð �8‰8˜)ˆ8Ð$Ð$r;  c                 ó  ^ ^• Ub  [        S5      e[        R                  " [        R                  " T R
                  5      (       + =(       aQ    [        R                  " T R
                  5      (       + =(       a%    [        R                  " T R
                  5      (       + U 4S j5        [        R                  " TS:„  U4S j5        UT[        R                  " [        R                  [        R                  " T 5      S-
  -  5      -  -   $ )Nú"generator is not supported in refsc                  ó"   >• ST R                    3$ )NzwCauchy distribution is a continuous probability distribution.         dtype must be a floating point but you specified rñ  r  s   €r9  rT  Úcauchy.<locals>.<lambda>ð  ó   ø€ ð :Ø:>¿*¹*¸ñGr;  r  c                  ó   >• ST  3$ )Nz-cauchy_ expects sigma > 0.0, but found sigma=rR  )Úsigmas   €r9  rT  rÛ  õ  s   ø€ Ð?À¸wÑGr;  r‡  )rã  rb  rm  r†  rÎ  rÏ  r  r  rt   r8  r9  Ú	rand_like)r  ÚmedianrÞ  Ú	generators   ` ` r9  r  r  ã  s¼   ù€ ð ÑÜÐAÓBÐBÜ	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.÷ 	3Ü×&Ò& t§z¡zÓ2Ô2÷	3ä×&Ò& t§z¡zÓ2Ô2ô	Gô	ô 
‡L‚LØ�‰ÜGôð �EœEŸIšI¤d§g¡g´·²ÀÓ1FÈÑ1LÑ&MÓNÑNÑNÐNr;  c                 óˆ  ^ ^• Ub  [        S5      e[        R                  " [        R                  " T R
                  5      (       + =(       aQ    [        R                  " T R
                  5      (       + =(       a%    [        R                  " T R
                  5      (       + U 4S j5        [        R                  " TS:„  U4S j5        [        R                  " T 5      n[        R                  " UR
                  5      R                  S-  nUSU-
  :¬  n[        R                  " XT* [        R                  " U5      5      nST-  U-  $ )NrÙ  c                  ó"   >• ST R                    3$ )Nz|Exponential distribution is a continuous probability distribution.         dtype must be a floating point but you specified rñ  r  s   €r9  rT  Úexponential.<locals>.<lambda>  rÜ  r;  r  c                  ó   >• ST  3$ )Nz4exponential_ expects lambda > 0.0, but found lambda=rR  )Úrates   €r9  rT  rä    s   ø€ ÐFÀtÀfÑMr;  rF  r†  r\  )rã  rb  rm  r†  rÎ  rÏ  r  r  rß  r  rH  r±   r[   )r  ræ  rá  Úuniform_valÚepsilonr  Úlog_uniforms   ``     r9  rE   rE   ú  só   ù€ ð ÑÜÐAÓBÐBÜ	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.÷ 	3Ü×&Ò& t§z¡zÓ2Ô2÷	3ä×&Ò& t§z¡zÓ2Ô2ô	Gô	ô 
‡L‚LØˆs‰
ÜMôô
 —/’/ $Ó'€Kô �kŠk˜+×+Ñ+Ó,×0Ñ0°1Ñ4€GØ˜s W™}Ñ,€IÜ—+’+˜i¨´5·9²9¸[Ó3IÓJ€Kà�‰9�{Ñ"Ð"r;  c                 óþ  ^ ^• Ub  [        S5      e[        R                  " [        R                  " T R
                  5      (       + =(       a%    [        R                  " T R
                  5      (       + U 4S j5        [        R                  " ST:  =(       a    TS:  U4S j5        [        R                  " [        R                  " [        R                  " T 5      * 5      [        R                  " T* 5      -  5      S-   $ )NrÙ  c                  ó"   >• ST R                    3$ )Nzgeometric not implemented for rñ  r  s   €r9  rT  Úgeometric.<locals>.<lambda>)  s   ø€ Ð0°·±°Ñ=r;  r   rV  c                  ó   >• ST  3$ )Nz0geometric_ expects p to be in (0, 1), but got p=rR  )r  s   €r9  rT  rì  -  s   ø€ ÐBÀ1À#ÑFr;  )rã  rb  rm  r†  rÎ  rÏ  r  rI   r\   rß  r8  )r  r  rá  s   `` r9  rK   rK     s¯   ù€ ð ÑÜÐAÓBÐBä	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.÷ 	3Ü×&Ò& t§z¡zÓ2Ô2Ü=ôô
 
‡L‚LØ	ˆA‰��!�a‘%ÜFôô �;Š;”u—{’{¤E§O¢O°DÓ$9Ð#9Ó:¼T¿ZºZÈÈ»^ÑKÓLÈqÑPÐPr;  c                 óê  ^ ^• Ub  [        S5      e[        R                  " [        R                  " T R
                  5      (       + =(       aQ    [        R                  " T R
                  5      (       + =(       a%    [        R                  " T R
                  5      (       + U 4S j5        [        R                  " ST:  U4S j5        [        R                  " T[        R                  " T 5      -  U-   5      $ )NrÙ  c                  ó"   >• ST R                    3$ )Nzlog_normal not implemented for rñ  r  s   €r9  rT  Úlog_normal.<locals>.<lambda>?  s   ø€ Ð1°$·*±*°Ñ>r;  r   c                  ó   >• ST  3$ )Nz-log_normal_ expects std > 0.0, but found std=rR  ©r¿   s   €r9  rT  rð  C  s   ø€ Ð?À¸uÑEr;  )
rã  rb  rm  r†  rÎ  rÏ  r  r  rC   Ú
randn_like©r  r¼   r¿   rá  s   ` ` r9  r_   r_   2  s­   ù€ ð ÑÜÐAÓBÐBÜ	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.÷ 	3Ü×&Ò& t§z¡zÓ2Ô2÷	3ä×&Ò& t§z¡zÓ2Ô2Ü>ô	ô 
‡L‚LØ	ˆC‰ÜEôô �9Š9�Sœ5×+Ò+¨DÓ1Ñ1°DÑ8Ó9Ð9r;  )r¼   r¿   )rá  rÏ  r  r8  r  c          
      ó  ^• Ub"  U[         R                  :w  a  [        SU 35      e[        T[        5      (       d  [         R
                  " TS:¬  U4S j5        Uc‹  [        S U T4 5       5      n[         R
                  " [        U5      S:„  S 5        [         R
                  " US L =(       a    US L S 5        [        S U 5       6 nUS   R                  nUS   R                  nO|[         R
                  " [        U [        5      (       + =(       a    [        T[        5      (       + S 5        Uc  [         R                  " 5       OUnUc  [         R                  " S	5      OUn[        R                  " US
SUUSUS9n	TU	-  U -   $ )Nz*layout must be None or torch.strided, got r   c                  ó   >• ST  3$ )Nz)normal expects std >= 0.0, but found std rR  rò  s   €r9  rT  Únormal.<locals>.<lambda>c  s   ø€ Ð IÈ#ÈÑOr;  c              3   óT   #   • U  H  n[        U[        5      (       d  M  Uv •  M      g 7frJ  r?  rx  s     r9  rO  Únormal.<locals>.<genexpr>g  s   é € ÐL¢;˜a´*¸QÄ
×2KŸ™¢;ùs   ‚(Ÿ	(c                  ó   • g)NzFnormal expects that either mean or std is a tensor, or size is definedrR  rR  r;  r9  rT  r÷  j  s   € Ð\r;  c                  ó   • g)Nz.Cannot pass layout, or pin_memory without sizerR  rR  r;  r9  rT  r÷  n  s   € ÐDr;  c              3   ó8   #   • U  H  oR                   v •  M     g 7frJ  rB  rx  s     r9  rO  rù  q  s   é € Ð"<²G¨q§7¦7²Gùr[  c                  ó   • g)Nz>normal expects mean and std to be scalars when size is definedrR  rR  r;  r9  rT  r÷  w  s   € ÐTr;  rŽ  r  r†  F)r¼   r¿   rÏ  r8  rë  rá  )rb  rk  rã  r?  r'   rm  rg  rY  rt  rÏ  r8  rÁ  rÀ  rc   )
r¼   r¿   rP  rá  rÏ  r  r8  r  r×  Únormal_sampless
    `        r9  rc   rc   J  s^  ø€ ð( Ñ˜f¬¯©Ó5ÜÐIÈ&ÈÐRÓSÐSä�cœ:×&Ñ&Ü�ŠØ�1‰HÔOô	
ð �|ÜÑL D¨#¡;ÓLÓLˆÜ�ŠÜ�‹L˜1ÑÙ\ô	
ô 	�ŠØ�dˆN×1˜z¨TÐ1ÙDô	
ô
 !Ñ"<±GÓ"<Ð=ˆØ˜‘
× Ñ ˆØ˜‘×"Ñ"‰ä�ŠÜ˜4¤Ó,Ô,×P´ZÀÄZÓ5PÔ1PÙTô	
ð .3©]”×'Ò'Ô)ÀˆØ(.©”—’˜eÔ$¸Fˆä—\’\ØØØØØØØñ€Nð �Ñ $Ñ&Ð&r;  )rá  c                ó,   • [        XU R                  XS9$ )N)r´  rá  )rc   rZ  rô  s       r9  Únormal_r   ˆ  s   € ä�$˜TŸZ™Z¨TÑGÐGr;  c                 ó„   • [         R                  " [        R                  " U R                  5      (       + S 5        SnX-  $ )Nc                  ó   • g)Nz-rad2deg is not supported for complex tensors.rR  rR  r;  r9  rT  Úrad2deg.<locals>.<lambda>‘  rE  r;  gøÁcÜ¥L@©rb  rm  r†  rÎ  rÏ  )r  ÚM_180_PIs     r9  rg   rg   �  s6   € ä	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.Ù?ôð C€HØ‰?Ðr;  c                 ó„   • [         R                  " [        R                  " U R                  5      (       + S 5        SnX-  $ )Nc                  ó   • g)Nz-deg2rad is not supported for complex tensors.rR  rR  r;  r9  rT  Údeg2rad.<locals>.<lambda>›  rE  r;  g9�R¢Fß‘?r  )r  ÚM_PI_180s     r9  r>   r>   —  s6   € ä	‡L‚LÜ×"Ò" 4§:¡:Ó.Ô.Ù?ôð E€HØ‰?Ðr;  c                 ó*   • U S:g  R                  U5      $ r1  )rÁ   )r  r  s     r9  r=   r=   ¡  s   € ð �A‰I�?‰?˜3ÓÐr;  c                 óv  ^ ^• [         R                  " T R                  5       S:H  =(       a    TR                  5       S:H  UU 4S j5        [         R                  " T R                  TR                  :H  UU 4S j5        UU 4S jn[         R                  " T R	                  5       TR	                  5       :H  U5        g )NrV  c                  óN   >• STR                  5        ST R                  5        S3$ )Nz1D tensors expected, but got zD and z	D tensorsrf  ©r-  r  s   €€r9  rT  Ú_dot_check.<locals>.<lambda>ª  s!   ø€ Ð/°·±³
¨|¸6À%Ç)Á)Ã+ÀÈiÑXr;  c                  ó<   >• STR                    ST R                    3$ )Nz:dot : expected both vectors to have same dtype, but found r·  rñ  r  s   €€r9  rT  r  ¯  s   ø€ ÐLØ�:‰:ˆ,�e˜EŸK™K˜=ñ*r;  c            	      ó’   >• STR                  5        ST R                  5        STR                  5        ST R                  5        S3	$ )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   €€r9  Únumel_errorÚ_dot_check.<locals>.numel_error³  sL   ø€ à9¸$¿*¹*»,¸À{ÐSX×S^ÑS^ÓS`ÐRað b0Ø04·
±
³¨~¸UÀ5Ç;Á;Ã=À/ÐQgðið	
r;  )rb  rm  r  rÏ  r  )r  r-  r  s   `` r9  Ú
_dot_checkr  §  sx   ù€ Ü	‡L‚LØ�‰‹
�a‰×,˜EŸI™I›K¨1Ñ,ÝXôô
 
‡L‚LØ�
‰
�e—k‘kÑ!õ	*ôö
ô 
‡L‚L�—‘“ §¡£Ñ.°Õ<r;  c                 ó0   ^ • [        T 5      U 4S j5       nU$ )Nc                 ó*   >• [        X5        T" X5      $ rJ  )r  )r  r-  r¨  s     €r9  ÚwrapperÚ#_dot_check_wrapper.<locals>.wrapper½  s   ø€ ä�4ÔÙ�$‹Ðr;  )r
   )r¨  r  s   ` r9  Ú_dot_check_wrapperr  ¼  s    ø€ Ü
ˆ2ƒYôó ðð €Nr;  r  c                 óä  • U R                  5       (       aÊ  U R                  5       (       a{  UR                  5       (       aA  [        R                  " U R	                  5       UR	                  5       5      R	                  5       $ [        R
                  " U R	                  5       U5      $ UR                  5       (       a%  [        R
                  " UR	                  5       U 5      $ X-  R                  5       $ rJ  )r/  Úis_conjrb  r½   rÖ   r¾   rÁ   r  s     r9  r½   r½   Å  s—   € ð ‡�×ÑØ�<‰<�>‰>Ø�}‰}�‰Ü—y’y §¡£¨e¯j©j«lÓ;×@Ñ@ÓBÐBä—z’z $§)¡)£+¨uÓ5Ð5Ø�]‰]�_‰_Ü—:’:˜eŸj™j›l¨DÓ1Ð1à‰L×ÑÓÐr;  c                 ó,  • U R                  5       (       d  [        R                  " X5      $ U R                  5       (       am  UR                  5       (       a3  [        R                  " UR                  5       U R                  5       5      $ [        R                  " U R                  5       U5      $ UR                  5       (       a2  [        R                  " XR                  5       5      R                  5       $ U R                  5       U-  R                  5       $ rJ  )r/  rb  r½   r  r¾   rÖ   r:   rÁ   r  s     r9  r¾   r¾   Ù  s²   € ð �?‰?×ÑÜ�yŠy˜Ó%Ð%à‡|�|‡~�~Ø�=‰=�?‰?Ü—:’:˜eŸj™j›l¨D¯I©I«KÓ8Ð8ä—9’9˜TŸY™Y›[¨%Ó0Ð0Ø	�‰�‰Ü�yŠy˜Ÿz™z›|Ó,×1Ñ1Ó3Ð3ð ×ÑÓ  5Ñ(×-Ñ-Ó/Ð/r;  c                 ó¢  • [         R                  " U R                  U5      nS/U R                  -  nSXB'   US:  a  X0R                  U   -   n[        R
                  " U R                  U   U R                  S9R                  U5      U:H  n[        R                  " X5      R                  U R                  5      n[        R                  " XQU 5      $ )NrV  r\  r   r7  )r†  rð  rJ  rZ  rb  r  r8  r	  r  rà   r±   )rN  rÑ  r  r2  Ú
mask_shaper›  s         r9  Úselect_scatterr  ð  s¡   € ô ×
 Ò
  §¡¨Ó
-€CØ��q—v‘v‘€JØ€J�OØˆqƒyØŸ™ ™Ñ$ˆÜ�<Š<˜Ÿ™ ™¨Q¯X©XÑ6×;Ñ;¸JÓGÈ5ÑP€DÜ
�/Š/˜#Ó
#×
*Ñ
*¨1¯7©7Ó
3€CÜ�;Š;�t !Ó$Ð$r;  )r[  c                 óV   • [        U [        R                  [        R                  45      $ rJ  )r?  rb  ÚTypedStorageÚUntypedStorage)Úobjs    r9  Ú
_isStorager#  o  s    € Ü�cœE×.Ñ.´×0DÑ0DÐEÓFÐFr;  c                 óÚ  • Sn[        U 5      n/ n[        U [        [        45      (       a�  [	        U 5      nU(       a  XQR
                  -  nUR                  U5        [	        U5      U:”  a"  [        S[        U 5      R                   S35      eUS:X  a   U$  U S   nUn [        U [        [        45      (       a  M�  U$ ! [         a#    [        S[        U 5      R                   S35      ef = f)Né€   ztoo many dimensions 'r¹  r   z.could not determine the shape of object type ')r#  r?  rf  rg  rY  Úitemsizer»  rn  r6  r   rï  )ÚseqÚscalar_typeÚMAX_DIMSÚ
is_storagerU  r%  Úhandles          r9  Ú_compute_sizesr,  t  sî   € Ø€HÜ˜C“€JØ€Eä
�Sœ4¤˜-×
(Ñ
(Ü�S“ˆÞØ×+Ñ+Ñ+ˆFØ�‰�VÔÜˆu‹:˜Ó ÜÐ4´T¸#³Y×5GÑ5GÐ4HÈÐJÓKÐKØ�Q‹;Øð €Lð	Ø˜‘VˆFð
 ˆô �Sœ4¤˜-×
(Ó
(ð" €Løô ó 	ÜØ@ÄÀcÃ×ASÑASÐ@TÐTUÐVóð ð	ús   ÂB= Â=-C*c                 óŠ  • [        U [        5      (       a  [        R                  " 5       $ [        U [        5      (       a%  [        U [
        5      (       d  [        R                  $ [        U [        5      (       a  [        R
                  $ [        U [        5      (       a‰  [        R                  " 5       nU[        R                  L a  [        R                  $ U[        R                  L a  [        R                  $ U[        R                  L a  [        R                  $ [        S5      e[        U [        R                   5      (       a  U R"                  $ [        U [$        5      (       a"  ['        S[)        U 5      R*                   S35      e[        U [,        [.        45      (       a  S n[1        U 5      nUS:X  a  [        R                  " 5       $ [3        U5       HF  nX   n [5        U5      nUb  [        R6                  " X&5      nOUnU[        R                  L d  MD  Us  $    U$ [        S[)        U 5      R*                   35      e)Nz'invalid default scalar type for complexznew(): invalid data type 'r¹  r   zCould not infer dtype of )r?  r   rb  rÁ  r   rŒ  rj  r   rÎ  rõ  ÚcfloatÚdoubleÚcdoubleÚhalfÚchalfri  rg  rÏ  rˆ  Ú	TypeErrorr6  r   rf  rg  rY  rl  Ú_infer_scalar_typeÚpromote_types)r"  Údefault_dtypeÚ
scalarTyper%  rD  Úcur_itemÚitem_scalarTypes          r9  r4  r4  Ž  s»  € Ü�#”y×!Ñ!Ü×&Ò&Ó(Ð(Ü�#”w×Ñ¬
°3¼×(=Ñ(=Ü�{‰{ÐÜ�#”x× Ñ Ü�z‰zÐÜ�#”w×ÑÜ×/Ò/Ó1ˆØœEŸK™KÒ'Ü—<‘<ÐØœeŸl™lÒ*Ü—=‘=Ð ØœeŸj™jÒ(Ü—;‘;ÐäÐHÓIÐIÜ�#”u—|‘|×$Ñ$Ø�y‰yÐÜ�#”s×ÑÜÐ4´T¸#³Y×5GÑ5GÐ4HÈÐJÓKÐKä�#œœe�}×%Ñ%Øˆ
Ü�S“ˆð �Q‹;Ü×*Ò*Ó,Ð,ä�v–ˆAØ‘vˆHðô 1°Ó:ˆOØÑ%Ü"×0Ò0°ÓM‘
à,�
ØœUŸ]™]Ô*ð "Ò!ñ ð  ÐÜ
Ð2´4¸³9×3EÑ3EÐ2FÐGÓ
HÐHr;  r7  r"  c           	      ó  • [        U[        5      (       aB  UR                  5       S:X  a.  UR                  5       R	                  U SSS9R                  S5      $ [        U[        5      (       a  UR                  5       R	                  U SSS9$ [        U[        5      (       a  [        R                  " XS9$ UnU(       d  [        R                  " S5      $ [        R                  " U Vs/ s H  n[        X5      PM     sn5      $ s  snf )NrV  rŽ  T)rÏ  r8  r  rR  rñ  r   )r?  rg  r  Údetachrµ   r	  r!   rb  r(  r  rù   Ú_recursive_build)r7  r"  r'  r´   s       r9  r<  r<  Â  sØ   € ô �#”v×Ñ 3§9¡9£;°!Ó#3Ø�z‰z‹|�‰ Z¸ÀDˆÐI×NÑNÈrÓRÐRÜ	�Cœ×	 Ñ	 ð �z‰z‹|�‰ Z¸ÀDˆÐIÐIÜ	�Cœ×	 Ñ	 ä×"Ò" 3Ñ9Ð9ð €Cö ô 	�Š�A‹ðô �[Š[ÉÓMÊÀÔ*¨:Ö<ÉÑMÓNðùò Ns   Ã(Dc                 óB  • [        U[        R                  5      (       an  [        R                  " U(       + S 5        UnU(       a  UR	                  5       nU(       a  UR
                  OUn	Ub  UOUR                  n
UR                  U
U	SUS9$ [        US5      (       a  [        $ Ub  UOU S   n
U(       a  [        U5      OUn	[        U5      (       a  [        $ [        R                  " U
5      R                  S:X  a  [        $ [        X“5      nUR                  X©SSS9nU$ )Nc                  ó   • g)Nz,Can't pin tensor constructed from a variablerR  rR  r;  r9  rT  Ú)_internal_new_from_data.<locals>.<lambda>ê  s   € Ð$Rr;  F)r8  rÏ  r  r  Ú__cuda_array_interface__r8  Úmeta)r  r  )r?  rb  rg  rm  r;  rÏ  r8  rµ   ÚhasattrÚNotImplementedr4  r#  r6  r<  )Úoptionsr(  Ú
device_optÚdataÚcopy_variablesÚ
copy_numpyÚtype_inferencer  rÄ   Úinferred_scalar_typer8  rò  s               r9  Ú_internal_new_from_datarK  Þ  s  € ô �$œŸ™×%Ñ%Ü�ŠØŒNÑRô	
ð ˆÞØ—*‘*“,ˆCÞ,:˜sŸyšyÀÐØ)Ñ5‘¸3¿:¹:ˆØ�v‰vØØ&ØØð	 ð 
ð 	
ô ˆtÐ/×0Ñ0ÜÐð &Ñ1‰Z°w¸xÑ7H€FÞ7EÔ-¨dÔ3È;Ðô �$×ÑÜÐä�<Š<˜Ó×$Ñ$¨Ó.Ü!Ð!ô "Ð"6Ó=ˆà—‘˜6ÀeÐRW�ÐXˆð €Mr;  )rÏ  r8  r  rë  c                ó$  • [        U [        R                  5      (       a  [        R                  " S[
        SS9  US L n[        SS0Ub  UO[        R                  " 5       UU SSUUS9nUR                  5         U(       a  UR                  U5        U$ )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)rF  rÊ  r8  rŽ  T)rG  rH  rI  r  )
r?  rb  rg  rÐ  rÑ  ÚUserWarningrK  rÁ  Údetach_r  )rF  rÏ  r8  r  rë  rI  Ú
new_tensors          r9  rò  rò    s”   € ä�$œŸ™×%Ñ%Ü�ŠðläØò		
ð ˜d�]€NÜ(ð 
�5ÐØÑ"‰¬×(?Ò(?Ó(AØØØØØ%Øñ€Jð ×ÑÔÞØ×!Ñ! -Ô0ØÐr;  rJ  )F)r  NN)gñhãˆµøä>g:Œ0âŽyE>Fr7  )NN)NNNNNFF)FFN)NF)NNFrí  )r   r\  )	NNNTÚreflectFNNN)NNNTFNNF)rR  )rV  r  )r   r   rV  )r   r¼  r\  )r   NrV  )r*  )r  r†  )r“  NF)r   rV  Nru  )rV  rF  N(  rQ  r½  r«  r©  r8  r™  rÐ  Úcollections.abcr   r   r   Úenumr   Ú	functoolsr   r   r	   r
   Útypingr   r   r   r   r   rb  Útorch._primsÚ_primsrÀ  Útorch._prims_commonÚ_prims_commonr†  Útorch.utils._pytreeÚ_pytreerY  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   rº  rg  rŠ  ÚDispatchKeyÚ_opsr+  r¹  r:  rC  rt  rŽ  Útorch._decompr�  Úobjectrž  r¤  r±  r¾  r‹  r1   ÚINT_TO_FLOATr2   r3   r5   r4   r6   r7   ÚDEFAULTr8   r9   r/  r:   r;   r<   r?   r@   rA   rB   rC   rD   rF   Ú	NO_OPMATHrG   rH   r)  rI   rJ   r�   ÚALWAYS_BOOLrR   rS   rT   rU   rV   ÚspecialÚmultigammalnra   rW   rX   rZ   r[   r\   r]   r^   rµ  rÏ  r`   rš   rŒ  rd   r#  re   rf   r¢   rh   ri   r÷   rj   rk   rl   rm   rn   ro   rp   rr   ÚBOOL_TO_LONGrs   rt   ru   rw   r  rk  rx   ry   rz   r{   r|   r}   r~   r�   r‚   rˆ  rƒ   r¡   r„   r…   r“  r’  r†   r‡   rˆ   r§  rg  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$  Úregisterr8  rV  r(  r*  r,  r/  r6  rµ   rQ  rb  r¶   r¹   rÁ   Údim_IntListÚIntList_outrf  rÂ   rÃ   r¸   r·   r†  rÄ   r¿   r¼   rÀ   rÅ   rÆ   rÉ   rÃ  rÊ   rË   rÌ   rÎ   rÐ   rÑ   r¹  Úpy_implÚCompositeImplicitAutogradÚMetarÒ   rÓ   rÕ   rÖ   r×   rW  rØ   rß   rà   rá   rÔ   rã   rä   rå   ræ   rë   rN  rR  rí   rî   Ú_subclassesÚ
fake_implsÚregister_op_implrx  rï   r0  r1  r�  r2  ræ  rò   r	  r  ró   rô   rõ   rö   r$  rù   rq   rè   r  r  r  rM   rN   rP   rQ   rH  rL   rO   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   rk  r  r  r   r!  r*  r$  r%  r#  r"  rø  r  r  Ú
start_stepÚ	start_outrY   r  r  ré   rê   r  rc  r  r  r  r+  r&  r'  r(  r€  r¯   r°   r,  r-  rb   rv   r�  r¦   r§   r£   r  r  r²  rº  r  rg  rÉ  r  r.  r  rE   rK   r_   rc   r   rg   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,  r4  r<  rK  rò  Útorch._refs._conversionsÚtorch._refs.fftÚtorch._refs.linalgÚtorch._refs.nn.functionalÚtorch._refs.specialrR  r;  r9  Ú<module>rÚ     sQ  ðó Û Û Û Û Û Û ß 8Ñ 8Ý ß <Ó <ß 7Õ 7ã Ý Ý #ß $Ð $ß 6Ó 6÷÷ ÷ ÷ ÷ ÷ ñ ÷2÷ òl€ð\	 
�‰€Ø�h‰h×"Ñ"€Ø‡z�z‡~�~×Ñ€ò2òòOðd 9=õ 8Cõx 1ñ “€ð ØØòð õòDò ñ2 #Ø#×4Ñ4Øññó	ðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#JÑ#JÓKñ ó Lð ñ #Ø#×+Ñ+Øññó	ðñ ˜Ÿ™Ó(ð/�nó /ó )ð/ñ ˜×*Ñ*Ó+Ùƒð&˜ó &ó ó ,ð&ñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ ƒÙ#ØØ7×AÑAñð ˆNð   :ð  °.ó  ó	ó ð
 ðˆ^ð  Jð °>ô ñ ˜Ÿ	™	Ó"Ùƒð#�ð # >ó #ó ó #ð#ñ #Ø#×+Ñ+Øññó	ðñ #Ø#×+Ñ+Øñð!ˆNð !˜~ó !ó	ð!ðˆNð ˜~ô ñ #Ø#×/Ñ/Øñð*�ð * >ó *ó	ð*ñ #Ð#B×#NÑ#NÓOð1ˆ^ð 1 ó 1ó Pð1ñ #Ø#×/Ñ/Øñð1�ð 1 >ó 1ó	ð1ñ #Ø#×/Ñ/Øñð1�ð 1 >ó 1ó	ð1ñ #Ð#B×#NÑ#NÓOðˆ^ð  ó ó Pðñ
 �u—}‘}×1Ñ1°:Ó>€ñ #Ø#×/Ñ/Øñð0ˆnð 0 ó 0ó	ð0ñ #Ø#×0Ñ0¸$¿'¹'ññóðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ
 ƒð $(òXØðXà	ðXð �E—K’KÑ ðXð ô	Xó ðXñ ˜ŸšÓ'ÙƒÙ#Ø!Ø7×DÑDñð
 :?ò,Ø
ð,Ø'ð,Ø26ð,àô,ó	ó ó (ð,ñ" ˜ŸšÓ(Ùƒð !$Ø#'Ø#'ò	Øðà	�*Ñ	ðð �ZÑ ðð �ZÑ ð	ð
 ôó ó )ðð6�ô ñ #Ø#×+Ñ+¸	ññóðð�ð  >ô ðˆNð ˜~ô ñ #Ð#B×#OÑ#OÓPñó Qðñ ˜Ÿ
š
Ó#ÙƒÙ#ØØ7×?Ñ?ñð 12ò Jˆ^ð J¨#ð J°nô Jó	ó ó $ðJñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPð/ˆ~ð / .ó /ó Qð/ñ #Ø#×+Ñ+Øññó	ðñ #Ø#×+Ñ+Øññó	ðñ #Ø#×/Ñ/Øññó	ðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñ4ó Qð4ñ
 #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ø#×0Ò0Øñðˆnð  ó ó	ðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ð#B×#OÑ#OÓPñó Qðñ #Ø#×+Ñ+Øññó	ðð
!˜.ð !¨^ô !ðL Ø	ØØ#Ø#Ø %Ø"&ñ6ð õ6ñt ˜ŸšÓ!ÙƒÙ#Ø"Ø7×?Ñ?ñð #'ò	8Øˆ^˜ZÐ'Ñ(ð8àˆ^˜ZÐ'Ñ(ð8ð �JÑô	8ó	ó ó "ð8ñ: $Ø7×DÑDØ$Ø$ññ
óð
ñ $Ø7×?Ñ?ñð#�>ð # nð #¸ó #óð#ñ $Ø7×?Ñ?ñð"˜.ð "¨^ð "Àó "óð"ñ $Ø7×?Ñ?ñð"�.ð " ^ð "¸ó "óð"ñ $Ø7×?Ñ?ñð.˜>ð .¨nð .Àó .óð.ñ $Ø7×?Ñ?ñð#�>ð # nð #¸ó #óð#ñ $Ø7×DÑDØ$ñð
2Øˆ^˜ZÐ'Ñ(ð
2Ø-2°>À:Ð3MÑ-Nó
2ó	ð
2ñ  ˜ŸšÓ!Ùƒð
 $(ò	Øˆ^˜ZÐ'Ñ(ðàˆ^˜ZÐ'Ñ(ðð ˜C‘=ô	ó ó "ðñ( $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×DÒDñðØˆ^˜ZÐ'Ñ(ðàˆ^˜ZÐ'Ñ(ðð óóðñ6 ƒðØˆ^˜ZÐ'Ñ(ðàˆ^˜ZÐ'Ñ(ðð óó ðñt $Ø×=Ñ=×EÑEØ $Ø"'ñð
OØˆ^˜ZÐ'Ñ(ðOØ-2°>À:Ð3MÑ-NóOóð
OðBF˜Vð F¨ð F°6ô Fð1˜6ð 1 fð 1°ô 1ñ2 $Ø7×?Ñ?Ø$Ø$ñð
ˆNð ˜~ð °.ó óð
ñ $Ø7×?Ñ?Ø$Ø$ñð
ˆNð ˜~ð °.ó óð
ñ $Ø7×?Ñ?Ø$Ø#ñð
ˆNð ˜~ð °.ó óð
ñ ˜Ÿ
š
Ó#ÙˆZ˜Ó$ð7�ð 7 5¨¸Ð)GÑ#Hó 7ó %ó $ð7ñ $Ø7×?Ñ?Ø$Ø$ñð
ˆ>ð ˜nð °ó óð
ñ $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×?Ñ?Ø$Ø$ñð
�^ð ¨^ð Àó óð
ñ $Ø7×?Ñ?Ø$Ø$ñð
ˆ^ð  ð °>ó óð
ñ $Ø7×DÑDØ$Ø$ñð
ˆnð  ð °Nó óð
ñ $Ø7×DÑDØ$Ø$ñð
ˆ~ð  .ð °^ó óð
ðØ
ðàðð ðð ð	ð
 ðð 
ôð2 ØØò(Øð(àð(ð ð(ð ð	(ð
 ð(ð õ(ñV $Ø7×?Ñ?Ø$Ø$ñð
Qˆ>ð Q˜nó Qóð
Qñ  $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×?Ñ?Ø$Ø$ñð
T�ð T Nð T°~ó Tóð
Tñ0 $Ø7×?Ñ?Ø$Ø$ñð
,�.ð , ^ð ,¸ó ,óð
,ñ $Ø7×CÑCñð�>ð  nó óðñ #Ð#B×#NÑ#NÓOð�>ó ó Pðñ $Ø7×CÑCñð�.ð  ^ó óðñ $Ø7×CÑCñð�>ð  nó óðñ $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×?Ñ?ñðˆ~ð  .ð °^ó óðñ $Ø7×?Ñ?ñðˆ~ð  .ð °^ó óðñ $Ø7×?Ñ?Ø $ñðˆ>ð ˜nð °ó ó	ðñ $Ø7×CÑCØ$ñðˆ.ð ˜^ð °ó ó	ðñ $Ø7×AÑAØ$Ø$ñð
!�ð ! Nð !°~ó !óð
!ñ $Ø7×?Ñ?ñð!�ð ! Nð !°~ó !óð!ñ
 ˜Ÿ	š	Ó"Ùƒð ò	(Øˆ^˜ZÐ'Ñ(ð	(àˆ^˜ZÐ'Ñ(ð	(ð ô	(ó ó #ð	(ñ ˜ŸšÓ!ÙƒÙ#Ø"Ø7×?Ñ?ñð ò	$8Øˆ^˜ZÐ'Ñ(ð$8àˆ^˜ZÐ'Ñ(ð$8ð ô	$8ó	ó ó "ð$8ñN $Ø7×DÑDØ	ØØ $ñ	ð�>ð  nð ¸ó óðñ ˜Ÿ
š
Ó#ÙƒÙ#Ø"Ø7×DÑDñð:ˆU�> :Ð-Ñ.ð :°5¸ÈÐ9SÑ3Tó :ó	ó ó $ð:ñ. $Ø×=Ñ=×EÑEØØ $ñð
"Øˆ^˜ZÐ'Ñ(ð"Ø-2°>À:Ð3MÑ-Nó"óð
"ñ ˜ŸšÓ%ÙƒÙ#Ø6Ø7×DÑDñð ò,Ø
ð,àð,ð ð,ð
 ð,ð ô,ó	ó ó &ð,ñ* ˜ŸšÓ%ÙƒÙ#Ø6Ø7×?Ñ?ñð ò,Ø
ð,àð,ð ð,ð
 ð,ð ô,ó	ó ó &ð,ñ* ˜Ÿ
š
Ó#ÙƒÙ#Ø+Ø7×?Ñ?ñð -1Ø,0òØðà	Ð(Ñ	)ðð 
Ð(Ñ	)ðð ô	ó	ó ó $ðñ4 ˜ŸšÓ'Ùƒð -1ò&Ø
ð&à	Ð(Ñ	)ð&ð ô&ó ó (ð&ñ ˜ŸšÓ'Ùƒð -1ò&Ø
ð&à	Ð(Ñ	)ð&ð ô&ó ó (ð&ñ ˜Ÿ
š
ŸšÓ(Ù˜Ÿ
š
×-Ò-Ó.Ù˜Ÿ
š
×.Ò.Ó/Ù˜Ÿ
š
×)Ò)Ó*Ù˜Ÿ
š
×+Ò+Ó,Ù˜ÑÙ#Ø"Ø7×AÑAñð +/Ø*.ò#Ø
ð#àÐ&Ñ'ð#ð Ð&Ñ'ô#ó	ó ó -ó +ó 0ó /ó )ð#ñ. ˜Ÿ
š
Ó#Ùƒà?D×?TÒ?TòØðØ).×)<Ò)<ðàôó ó $ðð 9=ò ˆvð ˜&õ ñ ˜Ÿ	š	Ó"ð&ˆNð &˜zó &ó #ð&ð (,Ø#'ØØ%)Ø37Ø!&ØòØðà�^Ñ$ðð �E—K’KÑ ðð �4‰.ð	ð
 �U—\’\Ñ"ðð ˜E×/Ò/Ñ0ðð ˜‘ðð ðð 
õð2 ñó ðð ×Òð ØØ37òØ�LŠLðà�;Š;ðð ðð ð	ð
 ˜E×/Ò/Ñ0ðð 
ˆ#ˆsˆ(�^ôó ðð" ×Òð ØØ37òØðà�;Š;ðð ðð ð	ð
 ˜E×/Ò/Ñ0ðð 
ˆ#ˆsˆ(�^ôó ðð" ×Òð ØØ37ò	Ø�;Š;ðàðð ðð ˜E×/Ò/Ñ0ð	ð
 
ˆ#ˆsˆ(�^ôó ðð ×Òð ØØ37ò	Øðàðð ðð ˜E×/Ò/Ñ0ð	ð
 
ˆ#ˆsˆ(�^ôó ðð." &ð "°Tô "ð0 ˆ.ð  ¨nô  ðX Ø"Ø#ØØ#'Ø òCØðCà
ðCð ð	Cð
 ðCð �8Ñ
ðCð ðCð �E—K’KÑ ðCð 
�&Ñ	ðCð 2ðCð õCõLñ< ˜ŸšÓ!Ùƒð #Øò
Øð
à	�(Ñ	ð
ð ð
ð ô	
ó ó "ð
ñ ˜ŸšÓ!Ùƒð #ØòØðà	�(Ñ	ðð ðð ô	ó ó "ðñ$ ˜Ÿš×-Ò-¨t¯xªx×/CÒ/CÐDÓEð 6:Øñð
 $(Ø òØðà	ˆx˜‰}˜h t¨C¡yÑ1Ð1Ñ	2ðð ðð
 �E—K’KÑ ðð 
�&Ñ	ðð õó Fðð:CØðCð ôCñ, ˜Ÿ	š	Ó"ð 6:Øñð
 Ø òØðà	ˆx˜‰}˜h t¨C¡yÑ1Ð1Ñ	2ðð ðð 
�&Ñ	ðð õó #ðñ: ˜Ÿ	š	Ó"ð #Øñð
 !òØðà	�(Ñ	ðð ðð
 
�&Ñ	ðð õó #ðñ. ˜Ÿ	š	Ó"ð #Øñð
 !òØðà	�(Ñ	ðð ðð
 
�&Ñ	ðð õó #ðõ.ñ ˜ŸšÓ!Ùƒð #Ø#Øñ	ð (,òØðà	�(Ñ	ðð �t‰nðð ð	ð ˜Ñ$ðð õó ó "ðñ6 ˜ŸšÓ!Ùƒð 6:Ø#Øñ	1ð (,ò1Øð1à	ˆx˜‰}˜h t¨C¡yÑ1Ð1Ñ	2ð1ð �t‰nð1ð ð	1ð ˜Ñ$ð1ð õ1ó ó "ð1ñ, ˜Ÿ	š	Ó"ð #Øñ+ð
 Øò+Øð+à	�(Ñ	ð+ð ð+ð õ+ó #ð+ñ\ ˜ŸšÓ&ÙˆV�VÓð #ñð  $ØØ'+òØðà	�(Ñ	ðð �t‰nð	ð
 ðð ˜Ñ$õó ó 'ðñ2 ˜ŸšÓ&ÙˆV�VÓð #Ø#Øñ	ð (,òØðà	�(Ñ	ðð �t‰nðð ð	ð ˜Ñ$õó ó 'ññ ˜Ÿ	š	Ó"ÙƒÙ#Ø0Ø7×?Ñ?ñð Øò7AØ
ð7Aà
ð7Að ð7Að
 ð7Að ð7Að ô7Aó	ó ó #ñ7Aðv+Ø	ˆ~˜x¨Ñ7Ð7Ñ	8ð+ØAOð+à
ˆ>˜5 °Ð!4Ñ5Ð5Ñ6õ+ð  Øð Ø #ð Ø*8ð àõ ð+Ø	ˆ~˜x¨Ñ7Ð7Ñ	8ð+ØAOð+à
ˆ>˜5 °Ð!4Ñ5Ð5Ñ6õ+ð +Ø	ˆ~˜x¨Ñ7Ð7Ñ	8ð+ØAOð+à
ˆ>˜5 °Ð!4Ñ5Ð5Ñ6õ+ð& %)ò		AØð	Aà
ñ	Að ñ	Að ˜S‘Mð		Að
 ÷	Añ ˜×/Ò/Ó0Ùƒð %)òRØñRà	ðRð ñRð ñ	Rð
 ˜S‘MðRð õRó ó 1ñRð2 ö 2ð ×Ò×Ò×'Ò'¨×(MÒ(MÓNØ×Ò×Ò×'Ò'¨×(8Ò(8Ó9ðO 4¨Ñ#7ô Oó :ó OñOð1�Nð 1¨)ð 1¸ö 1ñ ˜ŸšÓ!ÙƒÙ#Ù$Ø7×AÑAñóyGÐ#ð yG¨#ð yG°nõ yGó	ó ó "ñyGñz ƒñ#Ð,ð #°ô #ó ñ#ð�ð  >ö ñ ˜×,Ò,Ó-Ùƒà?@òPØñPØ $ S¡	ðPØ2<ðPàõPó ó .ñPðh 8=×7NÒ7Nò7Øð7Ø!&×!4Ò!4ð7à÷7ñ ƒñ#Ð&ð #¨>ô #ó ñ#ñ ˜ŸšÓ$Ø/4ó Bˆfñ B¨ð B¸õ Bó %ñBðL�ð ˜Fð  vö òˆ^ñ  Sð ¨sð ¸5ÀÐQTÐATÑ;U÷ ò,1ˆ~ñ 1¨#ñ 1¸Cð 1È÷ 1ñ* ˜Ÿ	š	Ó"ÙƒðˆNð Ð"2ð °~ô ó ó #ñðˆnð  ö ðˆnð  ö ðØðØñØ(-¨c°>Ð.AÑ(BñØLOðàöðDØñØ"ñØ).ðà
ˆ6�6˜6Ð!Ñ"öð@˜>ñ °t¸C±yð À^ö ñ ˜×.Ò.×6Ò6Ó7ðDØñDà�VÑñDð �6Ñ
ñDð ñ	Dð
 ñDð ñDð ñDð 
ðDð ˆ6�6˜6Ð!Ñ"ôDó 8ñDñN ˜×.Ò.Ó/ÙˆV�V™VÓ$ðHØñHàñHð �VÑñHð �6Ñ
ñ	Hð
 
ðHð ˆ6�6˜6Ð!Ñ"ôHó %ó 0ñHðV ×Ò×Ò×.Ò.¨t×/EÒ/E×/MÒ/MÓNò$ó Oñ$ñ ˜ŸšÓ%ð,ˆ~ð ,¨ô ,ó &ñ,ñ ˜ŸšÓ$Ùƒð#.Øñ#.Ø,ð#.Ø36ñ#.ØAOð#.àô#.ó ó %ñ#.ðN ‡‚×Ò×Ò˜+×?Ò?Ó@ð !%Ø $Ø#ØØØØ#Ø%)Ø&*òp?Øñp?àñp?ð ˜‘ñp?ð ˜‘ñ	p?ð
 �VÑñp?ð ñp?ð ñp?ð ñp?ð �t‰nñp?ð ˜T‘Nñp?ð ˜d‘^ðp?ð õp?ó Añp?ðh ‡‚×Ò×Ò˜K×AÒAÓBð !%Ø $Ø#ØØØ#Ø ØòZØñZàñZð ˜‘ñZð ˜‘ñ	Zð
 �VÑñZð ñZð ñZð �t‰nñZð �S‰MðZð õZó CñZñ|ØñØ",ñØ9<ðØDGñØORöñ8 ˜ŸšÓ$Ùƒð51ˆfð 51¨ô 51ó ó %ñ51ðpRØñRØ*.ðRàöRðj8?˜Nñ 8?Àð 8?Èö 8?ð~<ˆ~ñ < yð <°^ö <ð
&�^ð &¨Nð &¸~ö &ñ ˜Ÿ	š	Ó"Ùƒò8>ˆNñ 8> Hð 8>°Hð 8>Ànõ 8>ó ó #ñ8>ñv ˜Ÿ
š
Ó#Ùƒà<Bò>Øñ>Øð>Ø)9ð>àõ>ó ó $ñ>ñ<
Ð!3ð 
¸ö 
ñ ˜Ÿ
š
Ó#ÙƒóGÐ%ð G¨Cð G¸õ Gó ó $ñGñ" ƒð $(òØðà	ðð �E—K’KÑ ðð õ	ó ññ* ƒñ#Ð&ð #¨>ô #ó ñ#ñ ƒñ#Ð&ð #¨>ô #ó ñ#ðS�ð S cñ S°)ð SÀö Sñ ˜ŸšÓ$ó
ˆnð 
 3ð 
Ð/Aõ 
ó %ñ
ñ" ƒð�*ð  3ñ ¨zñ À:ô ó ñð
�:ð 
 Cñ 
°
ñ 
ÀJö 
ñ ˜ŸšÓ(Ùƒð<Øð<Øñ<Ø$.ð<Ø7<¸ZÈÐ=SÑ7Tô<ó ó )ñ<ñ ˜×(Ò(Ó)ð;Øð;Øñ;Ø$.ð;Ø7<¸ZÈÐ=SÑ7Tô;ó *ñ;ð.Øð.à	ñ.ð ð.ð �˜ZÐ'Ñ(ñ	.ð ö.ñb ƒð òØðà	ñð ñð ð	ð õó ññ" ˜×)Ò)Ó*Ùƒð�Jð  Sñ °ô ó ó +ññ" ˜Ÿš×)Ò)Ó*òˆ~ð  H¨XÑ$6ð À.õ ó +ññB ˜×-Ò-Ó.à56òØ
ñØ# C™yðØ/2ðà	ˆ&�\õó /ñðD òDFØñDFà˜v xÐ/Ñ0ðDFð 
ðDFð ˆ>˜3ÐÑ÷	DFðP(-Øñ(-Ø,4ð(-à
ˆ>˜3ÐÑö(-ðX&+Øñ&+Ø,4ð&+à
ˆ>˜3ÐÑö&+ñR ˜Ÿ	š	ŸšÓ&Ùƒð ò1Ø
ñ1àð1ð õ1ó ó 'ñ1ñ ˜×-Ò-Ó.Ùƒð ØØòØñà	ñð ñð ñ	ð
 ðð õó ó /ññ0 ˜ŸšÓ&ð ØØò	#Ø
ñ#àñ#ð ñ#ð ð	#ð
 õ#ó 'ñ#ñL ˜ŸšÓ(Ùƒð ØØó	53Øñ53àñ53ð ñ53ð ð	53ð
 õ53ó ó )ñ53ñp ˜ŸšÓ(Ùƒñ!$ $ ~Ñ"6ð !$¸>ô !$ó ó )ñ!$ñH)˜˜nÑ-ð )°.ö )ð(ˆnñ (¨ð (Ð5Gö (ñ ˜ŸšŸšÓ'ð9ˆô 9ó (ñ9ð$	ˆð 	˜Nö 	ñ ˜Ÿ
š
Ó#ðˆ^ð  ô ó $ññ ˜ŸšÓ'ð	*�ñ 	* sñ 	*°#ð 	*¸.ô 	*ó (ñ	*ñ �	ñ ˜ŸšÓ$ð+Ø
ñ+Ø%(ð+Ø03ñ+Ø;>ð+àô+ó %ñ+ñ ˜×(Ò(Ó)Ùƒð�nñ °ð ¸Cñ Àsô ó ó *ñð $(Ø ò9ð ð9ð 
ð	9ð �E—K’KÑ ð9ð 
�&Ñ	ð9ð ÷9ñ0 ˜ŸšÓ$ð
 $(Ø òTØðTà	ðTð �E—K’KÑ ð	Tð
 
�&Ñ	ðTð õTó %ñTñ ˜ŸšÓ%ð
 $(Ø òUØðUà	ðUð �E—K’KÑ ð	Uð
 
�&Ñ	ðUð õUó &ñUñ ˜ŸšÓ'ð3�ð 3 cð 3¨nô 3ó (ñ3ñ ˜Ÿ	š	×)Ò)Ó*ð=ˆNñ = I°°iÑ0@Ñ$@ð =À^ô =ó +ñ=ð*#�.ð #¨ð #¸Nö #ð
ˆ^ð  ö ñ ƒàAEò%DØ‡|�|ñ%DØ#Ÿl™lð%DØ19¸#±ð%Dà
‡\�\õ%Dó ñ%DñP ƒð $(Ø Ÿ=š=Ø'+ØØØ).×)@Ò)@ó%à�E—K’KÑ ð%ð �LŠLð%ð �^Ñ$ñ	%ð
 ð%ð ð%ð ×&Ò&ð%ð õ%ó ñ%ñP ƒð $(Ø Ÿ=š=Ø'+ØØñð �E—K’KÑ ðð �LŠLð	ð
 �^Ñ$ñð ðð ðð õó ññ$ ˜ŸšÓ'Ùƒð
 $(Ø%)Ø'+ØóØðà
ðð �E—K’KÑ ð	ð
 �U—\’\Ñ"ðð �^Ñ$ðð ðð õó ó (ññ, ˜×.Ò.Ó/Ùƒð $(Ø%)Ø'+ØóØðà
ñð ðð
 �E—K’KÑ ðð �U—\’\Ñ"ðð �^Ñ$ðð ðð õó ó 0ññ8 ˜Ÿ
š
×*Ò*Ó+Ùƒð $(Ø Ÿ=š=Ø'+ØØóà�E—K’KÑ ðð �LŠLðð �^Ñ$ð	ð
 ñð ðð õó ó ,ññ0 ˜ŸšÓ'Ùƒð
 $(Ø%)Ø'+ØØóØðà
ðð �E—K’KÑ ð	ð
 �U—\’\Ñ"ðð �^Ñ$ðð ñð ðð õó ó (ññ2 ˜Ÿ	š	×)Ò)Ó*Ùƒð $(Ø Ÿ=š=Ø'+ØØóà�E—K’KÑ ðð �LŠLðð �^Ñ$ð	ð
 ñð ðð õó ó +ññ0 ˜ŸšÓ&Ùƒð
 $(Ø%)Ø'+ØØóØðà
ðð �E—K’KÑ ð	ð
 �U—\’\Ñ"ðð �^Ñ$ðð ñð ðð õó ó 'ññ2 ˜ŸšÓ&Ùƒð $(Ø%)Ø'+ØóØðà
ñð ðð
 �E—K’KÑ ðð �U—\’\Ñ"ðð �^Ñ$ðð ðð õó ó 'ñð0 ‡‚‡‚×Ò˜×=Ò=Ó>ð 48òØ
ðà	ðð ˜E×/Ò/Ñ0ðð õ	ó ?ññ ˜ŸšÓ(Ùƒð $(Ø'+Ø%)ØØØ).×)>Ò)>ó&Øð&ð �E—K’KÑ ð&ð �^Ñ$ð	&ð
 �U—\’\Ñ"ð&ð ñ&ð ð&ð ×&Ò&ð&ð õ&ó ó )ñ&ñR ˜Ÿš×/Ò/°·²×1FÒ1FÐGÓHÙƒàØ $Øñcð
 $(Ø Ÿ=š=Ø'+ØØôcØñcà	�*Ñ	ñcð ðcð
 �E—K’KÑ ðcð �LŠLðcð �^Ñ$ðcð ñcð ðcð öcó ó IñcñL ˜Ÿ	š	Ó"ÙƒÙ#Ù2Ø7×?Ñ?ññ8�ñ 8˜Vñ 8¨U°6¸:Ð3EÑ-Fô 8ó	ó ó #ñ8ñ4 ˜ŸšÓ&Ùƒð $(Ø'+Ø Ÿ=š=ØØôX/Ø�˜^Ð+Ñ,ñX/à	ˆz˜>Ð)Ñ	*ñX/ð ðX/ð
 �E—K’KÑ ðX/ð �^Ñ$ðX/ð �LŠLðX/ð ñX/ð ðX/ð õX/ó ó 'ñX/ñv ˜ŸšÓ&Ùƒð
 ñ	9@ð $(Ø'+Ø Ÿ=š=ØØô9@Ø�˜^Ð+Ñ,ñ9@à	ˆz˜>Ð)Ñ	*ñ9@ð ñ9@ð ð	9@ð �E—K’KÑ ð9@ð �^Ñ$ð9@ð �LŠLð9@ð ñ9@ð ð9@ð ö9@ó ó 'ñ9@ðx 
ñ	�h˜~Ñ.ñ 	¸#ô 	ó 
ñ	ð 
ñ	�~ñ 	°ô 	ó 
ñ	ñ ˜ŸšÓ&ñCØ�N D¨Ñ$8¸%ÀÑ:OÐOÑPñCàðCð 
ˆ.ÑôCó 'ñCðN;Øñ;à�#Ð'Ð'Ñ(ñ;ð �sÐ,Ð,Ñ-ð;ð ö	;ñ~ ˜×*Ò*Ó+Ùƒð
 $(Ø'+Ø Ÿ=š=ØØôØ�˜E )Ñ,Ð,Ñ-ñàðð �E—K’KÑ ð	ð
 �^Ñ$ðð �LŠLñð ðð ðð õó ó ,ññ6 #ð ¨%¯+ª+ö ñ ˜ŸšÓ!Ùƒð ñ%)ð $(Ø Ÿ=š=Ø'+ØØô%)Ø
ñ%)à��}ð%)ð �E—K’KÑ ð	%)ð
 �LŠLð%)ð �^Ñ$ð%)ð ñ%)ð ð%)ð ö%)ó ó "ñ%)ñV ˜Ÿš×*Ò*¨D¯IªI¯MªMÐ:Ó;Ùƒð
 $(Ø Ÿ=š=Ø'+ØØô%Øñ%àð%ð �E—K’KÑ ð	%ð
 �LŠLð%ð �^Ñ$ð%ð ñ%ð ð%ð õ%ó ó <ñ%ð> $(Ø%)Ø'+ØØØ).×)>Ò)>óØñàðð �E—K’KÑ ð	ð
 �U—\’\Ñ"ðð �^Ñ$ðð ñð ðð ×&Ò&ðð ÷ñ. ˜ŸšÓ(Ùƒð $(Ø%)Ø'+ØØØ).×)>Ò)>óØðð �E—K’KÑ ðð �U—\’\Ñ"ð	ð
 �^Ñ$ðð ñð ðð ×&Ò&ðð õó ó )ññ, ˜ŸšÓ'Ùƒð $(Ø%)Ø'+ØØØ).×)>Ò)>óØðð �E—K’KÑ ðð �U—\’\Ñ"ð	ð
 �^Ñ$ðð ñð ðð ×&Ò&ðð õó ó (ññ, ˜Ÿ
š
×*Ò*Ó+Ùƒð $(Ø'+Ø%)ØØóà�E—K’KÑ ðð �^Ñ$ðð �U—\’\Ñ"ñ	ð
 ðð ðð õó ó ,ñð8 $(Ø Ÿ=š=Ø'+Øó>Øð>ð �E—K’KÑ ð>ð �LŠLð	>ð
 �^Ñ$ð>ð ð>ð ÷>ð, $'Ø$'óØñà	ˆt�S˜%ÐÑ	 ñð ��c˜5Ð Ñ
!ñð
 ðð �;Š;ðð ðð ÷ñ6 ˜×(Ò(Ó)Ùƒð*�>ñ *¨ð *Ð@Vô *ó ó *ñ*ñZ ˜×)Ò)Ó*ðØñØ+ðØ4Jðàôó +ñð ØØòØðàðð ðð ð	ð
 ðð 
÷ð"ˆ^ð  ð °4ö ñ& ˜Ÿ	š	Ó"Ù˜Ñð &+Ø"Øñ	Mð $(óMØñMà��e˜S�jÑ!Ñ"ðMð 
�(Ñ	ðMð ð	Mð �E—K’KÑ ðMð öMó ó #ñMñ2 ˜Ÿ
š
Ó#Ùƒð*�ð * >ô *ó ó $ñ*ôò ˜[Ó)�Ú˜lÓ+�	Ú˜Ó�ñ ˜Ÿ	š	Ó"Ùƒò3ˆNñ 3 cð 3°.õ 3ó ó #ñ3ñ ˜Ÿ	š	Ó"Ùƒò3ˆNñ 3 cð 3°.õ 3ó ó #ñ3ñ(7˜ñ 7 3ñ 7°ð 7¸¸cÀ3È¸mÑ8Lö 7ð$Ø
ñà	ñð 
ðð �;Š;ð	ð
 �LŠLðð öñ" ˜×)Ò)Ó*Ùƒð ñ"ð
 ŸšØ Ÿ=š=Ù"Øô"Ø	ñ"à	ñ"ð ð"ð
 �;Š;ð"ð �LŠLð"ð ð"ð ð"ð ö"ó ó +ñ"ñR7˜ñ 7 3ñ 7°ð 7¸¸cÀ3È¸mÑ8Lö 7ñ" ˜×)Ò)Ó*Ùƒð ñ&ð
 ŸšØ Ÿ=š=Ù"Øô&Ø	ñ&à	ñ&ð ð&ð
 �;Š;ð&ð �LŠLð&ð ð&ð ð&ð ö&ó ó +ñ&ñR ˜ŸšÓ'Ù˜Ñð
 Øó7%Øñ7%àñ7%ð ñ	7%ð
 õ7%ó ó (ñ7%ñt ˜ŸšÓ$ÙƒÙ#Ø!Ø7×?Ñ?ñõOó	ó ó %ñOñ" ˜×(Ò(Ó)ÙƒÙ#Ø!Ø7×?Ñ?ñõ#ó	ó ó *ñ#ñ8 ˜ŸšÓ'ÙƒÙ#Ø!Ø7×?Ñ?ñõQó	ó ó (ñQñ  ˜ŸšÓ(ÙƒÙ#Ø!Ø7×?Ñ?ñõ:ó	ó ó )ñ:ñ$ ˜ŸšÓ$ÙƒÙ#ñð 8×?Ñ?ñð 
Ø	Ø	ñ2'ð
 Ø
ØØØ÷2'óó ó %ñ2'ñj ˜ŸšÓ%ñH¨d÷ Hó &ñHñ #Ð#B×#OÑ#OÓPð�.ô ó Qññ #Ð#B×#OÑ#OÓPð�.ô ó Qññ ˜×*Ò*Ó+Ùƒò ˜X hÑ/õ  ó ó ,ñ ô=ô*ñ ˜ŸšÓ!Ù˜ÑÙÙ#Ù)Ø7×?Ñ?ñò
 ó	ó ó ó "ñ
 ñ ˜Ÿ	š	Ó"Ù˜ÑÙÙ#Ù)Ø7×?Ñ?ñò0ó	ó ó ó #ñ0ñ  ˜×+Ò+Ó,Ùƒð%�nñ %¨>ð %Àñ %ÈCô %ó ó -ñ%ñ �SÓ�Ù�dÓ�Ù	�uÓ	�Ù�SÓ�Ù˜Ó!�Ù˜Ó!�Ù�dÓ�Ù	�uÓ	�Ù�dÓ�Ù	�uÓ	�Ù	�uÓ	�Ù˜[Ó)�Ù#Ð$6Ó7Ñ Ù˜[Ó)�Ù˜JÓ'�Ù$Ð%8Ó9Ñ Ù˜[Ó)�Ù�dÓ�Ù	�uÓ	�Ù˜9Ó%�
Ù˜9Ó%�
Ù˜}Ó-�Ù˜(Ó#�	Ù�SÓ�Ù�dÓ�Ù
™Ó
�Ù™Ó!�Ù™Ó!�Ù˜Ó!�Ù�SÓ�Ù�BÓ�Ù�SÓ�Ù�dÓ�Ù
˜Ó
�Ù�SÓ�Ù�dÓ�Ù	�uÓ	�Ù˜[Ó)�Ù	�uÓ	�Ù˜lÓ+�Ù�dÓ�Ù�dÓ�Ù�SÓ�Ù�BÓ�Ù�BÓ�Ù˜9Ó%�
Ù	�uÓ	�Ù
˜Ó
�Ù˜Ó!�Ù�BÓ�Ù�SÓ�Ù�BÓ�Ù‘dÓ�Ù
˜Ó
�Ù	�uÓ	�Ù	�uÓ	�Ù�dÓ�Ù�SÓ�Ù˜[Ó)�Ù˜[Ó)�Ù˜JÓ'�Ù˜[Ó)�Ù�BÓ�Ù�SÓ�Ù˜(Ó#�	Ù˜JÓ'�Ù�BÓ�Ù�SÓ�Ù˜9Ó%�
Ù�SÓ�Ù™Ó!�Ù˜JÓ'�Ù˜9Ó%�
Ù	�uÓ	�Ù�SÓ�Ù˜Ó!�Ù�dÓ�Ù�SÓ�Ù�dÓ�Ù�dÓ�Ù�dÓ�Ù
˜Ó
�Ù�SÓ�Ù�SÓ�Ù�dÓ�Ù‘dÓ�Ù‘dÓ�Ù˜[Ó)�Ù	�uÓ	�Ù	�uÓ	�Ù
™Ó
�Ù™[Ó)�Ù™9Ó%�
Ù™JÓ'�Ù�dÓ�á! $§*¢*Ó-�
Ù& t§¢Ó7�Ù$ T§]¢]Ó3�Ù" 4§;¢;Ó/�ñ # 4§;¢;Ó/�Ù# D§L¢LÓ1�Ù# D§L¢LÓ1�Ù	˜dŸfšfÓ	%�Ù% d§n¢nÓ5�Ù" 4§;¢;È4ÒP�Ù% d§n¢nÓ5�Ù  §¢Ó+�	ôGô
ô4/IñhØ—’ñØ"'Ð(>Ð@RÐ(RÑ"SöðH ÷5ðr  t¸ÈU÷ ð ôL  Ü Ü Ü  Ý r;  