§
    Ì²Åj2  ã                   ó8  — U d dl Z d dlmZmZmZmZ d dlZd dlmZ  e j	        e
¦  «        Zej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        iZeeej                 eej                 f         ed<   ej        ej        ej        ej        fZdedeeej                          fd„Z	 	 dd
ej        dej        dededeeej        ej        f                  f
d„Zdej        dej        dedej        fd„ZdS )é    N)ÚDictÚOptionalÚTupleÚType)ÚFloorDivÚ_MIRROR_REL_OPÚtypeÚreturnc                 ó8   — t                                | d ¦  «        S ©N)r   Úget)r	   s    úIC:\Projects\Historical\venv\Lib\site-packages\torch/utils/_sympy/solve.pyÚmirror_rel_opr      s   € Ý×Ò˜d DÑ)Ô)Ð)ó    é   TÚexprÚthingÚtrialsÚfloordiv_inequalityc                 ó:  — t          t          | ¦  «        ¦  «        }t          | t          j        ¦  «        r|€*t
                               dt          | ¦  «        ¦  «         d S | j                             |¦  «        }| j	                             |¦  «        }|r |rt
                               d|| ¦  «         d S g }|r| 
                    | ¦  «         |r)| 
                     || j	        | j        ¦  «        ¦  «         |D ]›}|€Œt          |t          j        ¦  «        sJ ‚t          |¦  «        D ]}	t          |||¬¦  «        }
|
|k    r n|
}Œt          |t          j        ¦  «        r2|j        |k    r't
                               d| |¦  «         ||j	        fc S Œœd S )Nz$expression with unsupported type: %sz0thing (%s) found in both sides of expression: %s)r   zsolved: %s ---> %s)r   r	   Ú
isinstanceÚsympyÚRelÚlogÚdebugÚlhsÚhasÚrhsÚappendÚrangeÚ_try_isolate_lhs)r   r   r   r   ÚmirrorÚlhs_has_thingÚrhs_has_thingÚexpressionsÚeÚ_Útrials              r   Ú	try_solver)   )   s¯  € õ �4 ™:œ:Ñ&Ô&€Fõ
 �d�EœIÑ&Ô&ð ¨&¨.Ý�	Š	Ð8½$¸t¹*¼*ÑEÔEÐEØˆtà”H—L’L Ñ'Ô'€MØ”H—L’L Ñ'Ô'€Mð
 ð ˜ð Ý�	Š	ÐDÀeÈTÑRÔRÐRØˆtð €Kð ð !Ø×Ò˜4Ñ Ô Ð Øð 7Ø×Ò˜6˜6 $¤(¨D¬HÑ5Ô5Ñ6Ô6Ð6àð ð ˆØˆ9Øå˜!�UœYÑ'Ô'Ð'Ð'Ð'å�v‘”ð 	ð 	ˆAÝ$ Q¨ÐCVÐWÑWÔWˆEà˜ŠzˆzØ�ØˆAˆAõ �a�œÑ#Ô#ð 	¨¬°ª¨Ý�IŠIÐ*¨D°!Ñ4Ô4Ð4Ø�a”e�8ˆOˆOˆOøàˆ4r   r&   c                 óŒ  ‡— t          | ¦  «        }t          | t          j        ¦  «        rbt          | j        t          j        ¦  «        r%t          ˆfd„| j        j        D ¦   «         ¦  «        nd} || j        |z
  | j        |z
  ¦  «        } t          | t          j        ¦  «        rÅt          | j        t          j	        ¦  «        r¦| j        \  }}t          j	        ˆfd„|j        D ¦   «         Ž }t          | t          ¦  «        r|j        �at          | t          ¦  «        s|j        sE||z  }||z  }t          | t          ¦  «        r|j        rt          |¦  «        }|€J ‚ |||¦  «        } |�rUt          | t          j        ¦  «        �r:t          | j        t          ¦  «        �r| j        j        j        �r| j        j        �r t          | t          j        ¦  «        r]| j        j        \  }}	t          j        t          j        || j        |	z  ¦  «        t          j        || j        dz   |	z  ¦  «        ¦  «        S t          | t          j        ¦  «        r]| j        j        \  }}	t          j        t          j        || j        |	z  ¦  «        t          j        || j        dz   |	z  ¦  «        ¦  «        S t          | t          j        t          j        f¦  «        rct          | t          j        ¦  «        r| j        n	| j        dz   }
t          j        | j        j        d         |
| j        j        d         z  ¦  «        S t          | t          j        t          j        f¦  «        rct          | t          j        ¦  «        r| j        n	| j        dz   }
t          j        | j        j        d         |
| j        j        d         z  ¦  «        S | S )Nc              3   óF   •K  — | ]}|                      ‰¦  «        °|V — Œd S r   ©r   ©Ú.0Úar   s     €r   ú	<genexpr>z#_try_isolate_lhs.<locals>.<genexpr>i   s2   øè è € Ð:Ð:�a¨Q¯UªU°5©\¬\Ð:�Ð:Ð:Ð:Ð:Ð:Ð:r   r   c                 ó>   •— g | ]}|                      ‰¦  «        °|‘ŒS © r,   r-   s     €r   ú
<listcomp>z$_try_isolate_lhs.<locals>.<listcomp>r   s(   ø€ ÐDÐDÐD !°q·u²u¸U±|´|ÐD˜AÐDÐDÐDr   é   )r	   r   r   r   r   ÚAddÚsumÚargsr   ÚMulÚINEQUALITY_TYPESÚis_negativeÚis_zeror   r   ÚdivisorÚis_positiveÚ
is_integerÚEqÚAndÚGeÚLtÚNeÚOrÚGtÚLe)r&   r   r   ÚopÚlhs_not_thingr   r   ÚotherÚ	numeratorÚdenominatorÚquotients    `         r   r!   r!   a   st  ø€ õ 
ˆa‰Œ€Bå�!•U”YÑÔð =õ ˜!œ%¥¤Ñ+Ô+ð�CÐ:Ð:Ð:Ð:˜1œ5œ:Ð:Ñ:Ô:Ñ:Ô:Ð:àð 	ð
 ˆBˆqŒu�}Ñ$ a¤e¨mÑ&;Ñ<Ô<ˆõ �!•U”YÑÔð ¥J¨q¬uµe´iÑ$@Ô$@ð Ø”6‰ˆˆSÝ”	ÐDÐDÐDÐD s¤xÐDÑDÔDÐEˆõ
 ˜1Õ.Ñ/Ô/ð 	°EÔ4EÐ4MÝ˜1Õ.Ñ/Ô/ð 5NØ47´Kð 5Nð ˜‘+ˆCØ˜‘+ˆCõ ˜!Õ-Ñ.Ô.ð '°5Ô3Dð 'Ý" 2Ñ&Ô&�à�>�>�>Ø��3˜‘”ˆAð 	ñ"Gå�q�%œ)Ñ$Ô$ñ"Gõ �q”u�hÑ'Ô'ñ"Gð ŒEŒMÔ%ñ	"Gð
 ŒEÔñ"Gõ �a�œÑ"Ô"ð 	Ø%&¤U¤ZÑ"ˆI�{Ý”9Ý”˜ Q¤U¨[Ñ%8Ñ:Ô:Ý”˜ a¤e¨a¡i°;Ñ%>Ñ@Ô@ñô ð õ �a�œÑ"Ô"ð 	Ø%&¤U¤ZÑ"ˆI�{Ý”8Ý”˜ Q¤U¨[Ñ%8Ñ:Ô:Ý”˜ a¤e¨a¡i°;Ñ%>Ñ@Ô@ñô ð õ �a�%œ(¥E¤HÐ-Ñ.Ô.ð 	GÝ *¨1­e¬hÑ 7Ô 7ÐH�q”u�u¸a¼eÀa¹iˆHÝ”8˜AœEœJ qœM¨H°q´u´zÀ!´}Ñ,DÑFÔFÐFõ �a�%œ(¥E¤HÐ-Ñ.Ô.ð 	GÝ *¨1­e¬hÑ 7Ô 7ÐH�q”u�u¸a¼eÀa¹iˆHÝ”8˜AœEœJ qœM¨H°q´u´zÀ!´}Ñ,DÑFÔFÐFà€Hr   )r   T)ÚloggingÚtypingr   r   r   r   r   Útorch.utils._sympy.functionsr   Ú	getLoggerÚ__name__r   r?   rC   rA   rF   rE   rB   r   ÚBasicr   Ú__annotations__r9   r   ÚintÚboolÚExprr)   r!   r2   r   r   ú<module>rW      sÅ  ðØ €€€€Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à €€€à 1Ð 1Ð 1Ð 1Ð 1Ð 1ð €gÔ˜Ñ!Ô!€ð 
„HˆeŒhØ	„HˆeŒhØ	„HˆeŒhØ	„HˆeŒhØ	„HˆeŒhØ	„HˆeŒhð<€��T˜%œ+Ô&¨¨U¬Y¬Ð7Ô8ð ð ñ ð ”H˜eœh¨¬°%´(Ð;Ð ð*˜ð * ¨$¨u¬y¬/Ô!:ð *ð *ð *ð *ð* Ø $ð	5ð 5Ø
Œ+ð5àŒ;ð5ð ð5ð ð	5ð
 ˆe�E”I˜uœzÐ)Ô*Ô+ð5ð 5ð 5ð 5ðpQØ„{ðQØ œ;ðQØ=AðQà
„[ðQð Qð Qð Qð Qð Qr   