ó
    Eñi>Ð  ã                   ó  • S r S/rSSKrSSKrSSKJr  SSKJr   " S S\5      r " S S	\5      r	 " S
 S\5      r
 " S S\5      r " S S\5      r " S S\5      r\4r\\4rS r " S S\5      rS r " S S5      rS rS rS rS9S jrS9S jrS9S jrS:S jrS rS;S jr S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/\/" 5       r0S/ r1S0 r2S1 r3S2 r4S3 r5\Rl                  4S4 jr7 " S5 S65      r8 " S7 S85      r9g)<a‡  Fortran/C symbolic expressions

References:
- J3/21-007: Draft Fortran 202x. https://j3-fortran.org/doc/year/21/21-007.pdf

Copyright 1999 -- 2011 Pearu Peterson all rights reserved.
Copyright 2011 -- present NumPy Developers.
Permission to use, modify, and distribute this software is given under the
terms of the NumPy License.

NO WARRANTY IS EXPRESSED OR IMPLIED.  USE AT YOUR OWN RISK.
ÚExpré    N)ÚEnum)Úgcdc                   ó$   • \ rS rSrSrSrSrSrSrg)ÚLanguageé$   z*
Used as Expr.tostring language argument.
r   é   é   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚPythonÚFortranÚCÚ__static_attributes__r   ó    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/numpy/f2py/symbolic.pyr   r   $   s   † ñð €FØ€GØ	ƒAr   r   c                   óT   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrSrg)ÚOpé-   z
Used as Expr op attribute.
é
   é   é   é   é   é(   éd   éÈ   éÒ   éÜ   i,  iè  iÐ  i¸  i¹  r   N)r   r   r   r   r   ÚINTEGERÚREALÚCOMPLEXÚSTRINGÚARRAYÚSYMBOLÚTERNARYÚAPPLYÚINDEXINGÚCONCATÚ
RELATIONALÚTERMSÚFACTORSÚREFÚDEREFr   r   r   r   r   r   -   sT   † ñð €GØ€DØ€GØ€FØ€EØ€FØ€GØ€EØ€HØ€FØ€JØ€EØ€GØ
€CØƒEr   r   c                   óz   • \ rS rSrSrSrSrSrSrSr	Sr
\\R                  4S	 j5       r\R                  4S
 jrSrg)ÚRelOpéB   z@
Used in Op.RELATIONAL expression to specify the function part.
r	   r
   é   é   é   é   c                 óÄ  • U[         R                  L an  [        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  S.UR                  5          $ [        R                  [        R                  [        R
                  [        R                  [        R                  [        R                  S.U   $ )N)ú.eq.ú.ne.ú.lt.ú.le.ú.gt.ú.ge.)ú==ú!=Ú<ú<=Ú>ú>=)
r   r   r4   ÚEQÚNEÚLTÚLEÚGTÚGEÚlower)ÚclsÚsÚlanguages      r   Ú
fromstringÚRelOp.fromstringM   s�   € à”x×'Ñ'Ò'Ü!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hÜ!ŸH™H¬e¯h©hñ8à89¿¹»	ñCð Cô —h‘h¤e§h¡h´U·X±XÜ—h‘h¤U§X¡X´U·X±Xñ?Ø?@ñBð 	Br   c                 ó¼  • U[         R                  L ae  [        R                  S[        R                  S[        R
                  S[        R                  S[        R                  S[        R                  S0U    $ [        R                  S[        R                  S[        R
                  S	[        R                  S
[        R                  S[        R                  S0U    $ )Nr;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   )	r   r   r4   rG   rH   rI   rJ   rK   rL   ©ÚselfrP   s     r   ÚtostringÚRelOp.tostringV   sœ   € Ø”x×'Ñ'Ò'Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°Ü—H‘H˜f¤e§h¡h°ð8à8<ñ>ð >ô —‘˜$¤§¡¨$Ü—‘˜#œuŸx™x¨Ü—‘˜#œuŸx™x¨ð/à/3ñ5ð 	5r   r   N)r   r   r   r   r   rG   rH   rI   rJ   rK   rL   Úclassmethodr   r   rQ   rV   r   r   r   r   r4   r4   B   sP   † ñð 
€BØ	
€BØ	
€BØ	
€BØ	
€BØ	
€BàØ$,§J¡Jó Bó ðBð !)§
¡
÷ 5r   r4   c                   ó4   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rg)ÚArithOpé`   z;
Used in Op.APPLY expression to specify the function part.
r	   r
   r6   r7   r8   r9   é   r   N)r   r   r   r   r   ÚPOSÚNEGÚADDÚSUBÚMULÚDIVÚPOWr   r   r   r   rZ   rZ   `   s,   † ñð €CØ
€CØ
€CØ
€CØ
€CØ
€CØ
ƒCr   rZ   c                   ó   • \ rS rSrSrg)ÚOpErrorém   r   N©r   r   r   r   r   r   r   r   re   re   m   ó   † Úr   re   c                   óL   • \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrg)Ú
Precedenceéq   z,
Used as Expr.tostring precedence argument.
r   r	   r
   r6   r7   r9   r\   é   r   é   é   r   r    r   N)r   r   r   r   r   ÚATOMÚPOWERÚUNARYÚPRODUCTÚSUMrI   rG   ÚLANDÚLORr*   ÚASSIGNÚTUPLEÚNONEr   r   r   r   rj   rj   q   sJ   † ñð €DØ€EØ€EØ€GØ
€CØ	
€BØ	
€BØ€DØ
€CØ€GØ€FØ€EØƒDr   rj   c                 óZ   • U R                  U5      nUc  X U'   g X2-   nU(       a  X0U'   g X	 g ©N)Úget)ÚdÚkÚvÚcs       r   Ú
_pairs_addr€   ˆ   s1   € à	�‰ˆa‹€AØ�yØˆ!Šà‰EˆÞØˆaŠDà‘r   c                   ó   • \ rS rSrSrg)ÚExprWarningé•   r   Nrg   r   r   r   r‚   r‚   •   rh   r   r‚   c                 ó8   • [         R                  " U [        SS9  g )Nr
   )Ú
stacklevel)ÚwarningsÚwarnr‚   )Úmessages    r   Úewarnr‰   ™   s   € Ü‡M‚M�'œ;°1Ó5r   c                   ó,  • \ rS rSrSr\\R                  4S j5       rS r	S r
S rS rS rS	 rS
 rS rS r\R&                  \R(                  4S jrS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S  r(S! r)S" r*S#r+g$)%r   é�   z_Represents a Fortran expression as an op-data pair.

Expr instances are hashable and sortable.
c                 ó   • [        XS9$ )z/Parse a Fortran expression to an Expr.
        ©rP   )rQ   )rO   rP   s     r   ÚparseÚ
Expr.parse£   s   € ô ˜!Ñ/Ð/r   c                 ó`  • [        U[        5      (       d   eU[        R                  L ag  [        U[        5      (       a  [	        U5      S:X  d   e[        US   [
        5      (       d   e[        US   [
        [        45      (       d   U5       eGO‘U[        R                  L ag  [        U[        5      (       a  [	        U5      S:X  d   e[        US   [        5      (       d   e[        US   [
        [        45      (       d   U5       eGOU[        R                  L a(  [        U[        5      (       a  [	        U5      S:X  d   eGOÜU[        R                  L a…  [        U[        5      (       a  [	        U5      S:X  d   e[        US   [        5      (       a  US   S S [	        US   5      S-
  2   S;   d   e[        US   [
        [        45      (       d   U5       eGODU[        R                  L a  [        U5      c   eGO!U[        R                  [        R                  4;   a7  [        U[        5      (       d   e[        S U 5       5      (       d   U5       eGOÆU[        R                   [        R"                  4;   a  [        U[$        5      (       d   eGO‰U[        R&                  L am  [        U[        5      (       a  [	        U5      S:X  d   e[        US   5      c   e[        US   [        5      (       d   e[        US   [$        5      (       d   eGO	U[        R(                  L a8  [        U[        5      (       a  [	        U5      S:X  d   e[        US   5      c   eO¾U[        R*                  L a'  [        U[        5      (       a  [	        U5      S:X  d   eO„U[        R,                  [        R.                  4;   a  [        U[0        5      (       d   eOHU[        R2                  L a'  [        U[        5      (       a  [	        U5      S:X  d   eO[5        SU 35      eXl        X l        g )Nr
   r   r	   )z""z''z@@c              3   óB   #   • U  H  n[        U[        5      v •  M     g 7frz   )Ú
isinstancer   )Ú.0Úitems     r   Ú	<genexpr>Ú Expr.__init__.<locals>.<genexpr>É   s   é € Ð?º$°$”z $¬×-Ð-º$ùs   ‚r6   z$unknown op or missing sanity check: )r’   r   r$   ÚtupleÚlenÚintÚstrr%   Úfloatr&   r'   r)   Úhashr(   r-   Úallr/   r0   Údictr+   r,   r*   r1   r2   r   r.   ÚNotImplementedErrorÚopÚdata)rU   r    r¡   s      r   Ú__init__ÚExpr.__init__©   sd  € Ü˜"œb×!Ñ!Ð!Ð!ð ”—‘Òô ˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=Ü˜d 1™g¤s×+Ñ+Ð+Ð+Ü˜d 1™g¬¬S z×2Ñ2Ð8°DÓ8Ò2Ø”2—7‘7Š]ô ˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=Ü˜d 1™g¤u×-Ñ-Ð-Ð-Ü˜d 1™g¬¬S z×2Ñ2Ð8°DÓ8Ò2Ø”2—:‘:Òä˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=©~Ø”2—9‘9Š_ô ˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=Ü˜t A™w¬×,Ñ,Ø˜Q™Ñ 2¤# d¨1¡g£,°Ñ"2Ð 2Ñ3Ð7IÓIðKð Jä˜d 1™g¬¬S z×2Ñ2Ð8°DÓ8Ò2Ø”2—9‘9Š_ä˜“:Ñ)Ð)Ò)Ø”B—H‘HœbŸi™iÐ(Ó(ä˜d¤E×*Ñ*Ð*Ð*ÜÑ?¹$Ó?×?Ñ?ÐEÀÓEÒ?Ø”B—H‘HœbŸj™jÐ)Ó)ô ˜d¤D×)Ñ)Ð)Ò)Ø”2—8‘8Š^ô ˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=ä˜˜Q™“=Ñ,Ð,Ð,Ü˜d 1™g¤u×-Ñ-Ð-Ð-Ü˜d 1™g¤t×,Ñ,Ð,Ò,Ø”2—;‘;Òä˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=ä˜˜Q™“=Ñ,Ð,Ñ,Ø”2—:‘:Òä˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=¨~Ø”B—F‘FœBŸH™HÐ%Ó%ä˜d¤D×)Ñ)Ð)Ñ)Ø”2—=‘=Ò ä˜d¤E×*Ñ*¬s°4«y¸A«~Ð=Ð=¨~ä%Ø6°r°dÐ;ó=ð =ð ŒØ�	r   c                 ó    • [        U[        5      =(       a8    U R                  UR                  L =(       a    U R                  UR                  :H  $ rz   )r’   r   r    r¡   ©rU   Úothers     r   Ú__eq__ÚExpr.__eq__ë   s;   € Ü˜5¤$Ó'÷ ,Ø—G‘G˜uŸx™xÐ'÷,à—I‘I §¡Ñ+ð	-r   c                 ó¸  • U R                   [        R                  [        R                  4;   a-  [	        [        U R                  R                  5       5      5      nOiU R                   [        R                  L a@  U R                  S S [	        [        U R                  S   R                  5       5      5      -   nOU R                  n[        U R                   U45      $ ©Nr
   )
r    r   r/   r0   r—   Úsortedr¡   Úitemsr+   rœ   )rU   r¡   s     r   Ú__hash__ÚExpr.__hash__ð   s�   € Ø�7‰7”r—x‘x¤§¡Ð,Ó,Üœ §	¡	§¡Ó 1Ó2Ó3‰DØ�W‰WœŸ™Ò Ø—9‘9˜R˜a�=¤5¬°·	±	¸!±×0BÑ0BÓ0DÓ)EÓ#FÑF‰Dà—9‘9ˆDÜ�T—W‘W˜d�OÓ$Ð$r   c                 ó|  • [        U[        5      (       Ga¡  U R                  UR                  La-  U R                  R                  UR                  R                  :  $ U R                  [        R
                  [        R                  4;   aY  [        [        U R                  R                  5       5      5      [        [        UR                  R                  5       5      5      :  $ U R                  [        R                  L až  U R                  S S UR                  S S :w  a  U R                  S S UR                  S S :  $ [        [        U R                  S   R                  5       5      5      [        [        UR                  S   R                  5       5      5      :  $ U R                  UR                  :  $ [        $ rª   )r’   r   r    Úvaluer   r/   r0   r—   r«   r¡   r¬   r+   ÚNotImplementedr¥   s     r   Ú__lt__ÚExpr.__lt__ù   s;  € Ü�eœT×"Ò"Ø�w‰w˜eŸh™hÒ&Ø—w‘w—}‘} u§x¡x§~¡~Ñ5Ð5Ø�w‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ó0Üœf T§Y¡Y§_¡_Ó%6Ó7Ó8Ü¤ u§z¡z×'7Ñ'7Ó'9Ó :Ó;ñ<ð =à�w‰wœ"Ÿ(™(Ò"Ø—9‘9˜R˜a�= E§J¡J¨r° NÓ2ØŸ9™9 R a˜=¨5¯:©:°b°q¨>Ñ9Ð9ÜœV D§I¡I¨a¡L×$6Ñ$6Ó$8Ó9Ó:¼UÜ˜5Ÿ:™: a™=×.Ñ.Ó0Ó1ó>3ñ 3ð 3à—9‘9˜uŸz™zÑ)Ð)ÜÐr   c                 ó    • X:H  =(       d    X:  $ rz   r   r¥   s     r   Ú__le__ÚExpr.__le__  s   €  D¡M×$A°T±\ÐAr   c                 ó   • X::  + $ rz   r   r¥   s     r   Ú__gt__ÚExpr.__gt__
  s
   € ¨Ò$7Ð7r   c                 ó   • X:  + $ rz   r   r¥   s     r   Ú__ge__ÚExpr.__ge__  s
   € ¨Ò$6Ð6r   c                 óh   • [        U 5      R                   SU R                   SU R                  < S3$ ©NÚ(ú, Ú))Útyper   r    r¡   ©rU   s    r   Ú__repr__ÚExpr.__repr__  s.   € Ü�t“*×%Ñ%Ð& a¨¯© y°°4·9±9±-¸qÐAÐAr   c                 ó"   • U R                  5       $ rz   )rV   rÃ   s    r   Ú__str__ÚExpr.__str__  s   € Ø�}‰}‹Ðr   c           	      ó:  ^• U R                   [        R                  [        R                  4;   au  U R                  S   S:  a  [
        R                  O[
        R                  n[        U R                  S   5      U R                  S   S:w  a  SU R                  S    3OS-   nG	O5U R                   [        R                  L a?  SR                  U4S jU R                   5       5      nSU-   S	-   n[
        R                  nGOÙU R                   [        R                  L a'  [
        R                  n[        U R                  5      nGO•U R                   [        R                  L aI  U R                  S   nU R                  S   S:w  a  U R                  S   S-   U-   n[
        R                  nGO/U R                   [        R                  L a?  SR                  U4S
 jU R                   5       5      nSU-   S-   n[
        R                  nGOÓU R                   [        R                  L Ga$  / n[        U R                  R!                  5       5       H¸  u  pgUS:  a  SnU* nOSnUS:X  a  UR#                  [
        R                  TS9nO?U[%        S5      :X  a  [        U5      nO$U S3UR#                  [
        R&                  TS9-   nU(       a  UR)                  U5        OUS:X  a  UR)                  S5        UR)                  U5        Mº     SR                  U5      =(       d    SnU(       a  [
        R                  O[
        R                  nGO‘U R                   [        R*                  L GaÍ  / n	/ n
[        U R                  R!                  5       5       GH2  u  p¼SnUS:X  a  UR#                  [
        R&                  TS9nOÜT[,        R.                  L a¥  U[1        SS5      ;   a4  UR#                  [
        R&                  TS9nSR                  U/U-  5      nO…U[1        SS5      ;   a)  UR#                  [
        R&                  TS9nX­/U* -  -  n
M½  UR#                  [
        R2                  TS9nSU SU S	3nO$UR#                  [
        R4                  TS9SU 3-   nU	(       a  U	R)                  U5        U	R)                  U5        GM5     U
(       a%  U	(       d  U	S/-  n	U	SSSR                  U
5      S	/-  n	SR                  U	5      =(       d    SnU	(       a  [
        R&                  O[
        R                  nGO¦U R                   [        R6                  L Ga#  U R                  u  pïnU[8        R:                  L a^  T[,        R.                  L aK  U Vs/ s H!  nUR#                  [
        R&                  TS9PM#     snu  nnU SU 3n[
        R&                  nGOU Vs/ s H!  nUR#                  [
        R2                  TS9PM#     nnUUR!                  5        VVs/ s H+  u  nnUS-   UR#                  [
        R<                  5      -   PM-     snn-  nU SSR                  U5       S	3n[
        R                  nGOeU R                   [        R>                  L as  U R                  S   nU R                  SS  Vs/ s H!  nUR#                  [
        R2                  TS9PM#     nnU SSR                  U5       S3n[
        R                  nGOÕU R                   [        R@                  L a[  U R                   Vs/ s H!  nUR#                  [
        R&                  TS9PM#     nnSR                  U5      n[
        R&                  nGO]U R                   [        RB                  L aÊ  U R                   Vs/ s H!  nUR#                  [
        R2                  TS9PM#     snu  nnnT[,        R.                  L a  SU SU SU S	3nO[T[,        RD                  L a  SU S U S!U S	3nO;T[,        RF                  L a  S"U SU SU S	3nO[I        S#U R                    S$T 35      e[
        R                  nGOvU R                   [        RJ                  L a=  S%U R                  R#                  [
        RL                  TS9-   n[
        RL                  nGOU R                   [        RN                  L a<  S&U R                  R#                  [
        RL                  TS9-   n[
        RL                  nOÃU R                   [        RP                  L aŽ  U R                  u  nnnU[R        RT                  [R        RV                  4;   a  [
        RT                  O[
        RX                  nUR#                  UTS9nUR#                  UTS9nUR#                  TS9nU S'U S'U 3nO[I        S(U R                    35      eURZ                  URZ                  :  a  SU-   S	-   $ U$ s  snf s  snf s  snnf s  snf s  snf s  snf ))z0Return a string representation of Expr.
        r   r	   r7   Ú_Ú rÀ   c              3   ó`   >#   • U  H#  nUR                  [        R                  TS 9v •  M%     g7f©r�   N©rV   rj   rw   ©r“   r”   rP   s     €r   r•   Ú Expr.tostring.<locals>.<genexpr>  ó+   øé € ð 1Ú&/˜dð Ÿ-™-¬
×(8Ñ(8À8˜-ÕLÚ&/ùó   ƒ+.r¿   rÁ   c              3   ó`   >#   • U  H#  nUR                  [        R                  TS 9v •  M%     g7frÍ   rÎ   rÏ   s     €r   r•   rÐ   +  rÑ   rÒ   Ú[Ú]z - ú + r�   ú * Ú-Ú0r
   r   iöÿÿÿzpow(z ** Ú1Ú/z / Ú=Nz // Ú?Ú:z if z else zmerge(ztostring for z and Ú&Ú*Ú ztostring for op ).r    r   r$   r%   r¡   rj   rs   ro   rš   r&   Újoinr)   r'   r(   r/   r«   r¬   rV   Ú	as_numberrr   Úappendr0   r   r   Úrangerw   rp   r+   rZ   rb   rx   r,   r-   r*   r   r   rŸ   r1   rq   r2   r.   r4   rG   rH   rI   r°   )rU   Úparent_precedencerP   Ú
precedenceÚrÚtermsÚtermÚcoeffr    ÚfactorsÚtailÚbaseÚexpÚfactorÚnameÚargsÚkwargsÚargÚnumerÚdenomr}   r~   ÚaÚcondÚexpr1Úexpr2ÚropÚleftÚrights     `                          r   rV   ÚExpr.tostring  s   ø€ ð �7‰7”r—z‘z¤2§7¡7Ð+Ó+Ø,0¯I©I°a©L¸1Ó,<œ*Ÿ.š.Ü)Ÿ™ð ä�D—I‘I˜a‘LÓ!Ø(,¯	©	°!©¸Ó(9ð ()¨¯©°1©¨Ñ%7Ø?AñCŠAà�W‰WœŸ
™
Ò"Ø—	‘	ô 1Ø&*§i¢ió1ó 1ˆAà�a‘˜#‘ˆAÜ#Ÿ™ŠJØ�W‰WœŸ	™	Ò!Ü#Ÿ™ˆJÜ�D—I‘I“ŠAØ�W‰WœŸ	™	Ò!Ø—	‘	˜!‘ˆAØ�y‰y˜‰|˜qÓ Ø—I‘I˜a‘L 3Ñ&¨Ñ*�Ü#Ÿ™ŠJØ�W‰WœŸ™Ò Ø—	‘	ô 1Ø&*§i¢ió1ó 1ˆAà�a‘˜#‘ˆAÜ#Ÿ™ŠJØ�W‰WœŸ™Ó ØˆEÜ% d§i¡i§o¡oÓ&7Ö8‘�Ø˜1“9Ø�BØ"˜F‘Eà�BØ˜A“:ØŸ=™=¬¯©À(˜=ÐK‘DØœY q›\Ó)Ü˜u›:‘Dà#˜W C˜=¨4¯=©=Ü"×*Ñ*°Xð ,9ð ,?ñ ?�DæØ—L‘L Õ$Ø˜5“[Ø—L‘L Ô%Ø—‘˜TÖ"ñ#  9ð$ —‘˜“×% #ˆAÞ+0œŸš´j·o±oŠJØ�W‰WœŸ
™
Ó"ØˆGØˆDÜ# D§I¡I§O¡OÓ$5×6‘	�Ø�Ø˜!“8Ø!Ÿ]™]¬:×+=Ñ+=Ø4<ð +ð >‘Fà¤§¡Ò+Øœe A r›lÓ*Ø!%§¡¬z×/AÑ/AØ8@ð "/ð "B˜à!&§¡¨V¨H°s©NÓ!;™Ø¤ c¨1£Ó-Ø!%§¡¬z×/AÑ/AØ8@ð "/ð "B˜à ¨C¨4¡Ñ/˜Ù à!%§¡¬z×/?Ñ/?Ø8@ð "/ð "B˜à#'¨ x¨r°#°°aÐ!8™à!Ÿ]™]¬:×+;Ñ+;Ø4<ð +ð >ØBFÀsÀeÀñM�FæØ—N‘N 2Ô&Ø—‘˜v×&ñ1 7ö2 ÞØ ˜uÑ$�GØ˜C  e§j¡j°Ó&6¸Ð<Ñ<�Ø—‘˜Ó ×' CˆAÞ/6œ×+Ò+¼J¿O¹OŠJØ�W‰WœŸ™Ó Ø!%§¡ÑˆD˜Ø”w—{‘{Ò" x´8·:±:Ò'=ñ ,0ó 1â+/ Cð !$§¡¬Z×-?Ñ-?Ø6>ð !-ó !@á+/ñ 1‘��uð �g˜S  Ð(�Ü'×/Ñ/’
ñ $(ó)Ú#'˜Cð Ÿ™¤Z×%5Ñ%5À˜ÓIÙ#'ð ð )àØ%+§\¡\¤^ô5Ú%3™T˜Q ð ˜S™ 1§:¡:¬j¯o©oÓ#>Ô>Ù%3ò5ñ 5�à�f˜A˜dŸi™i¨›oÐ.¨aÐ0�Ü'Ÿ_™_’
Ø�W‰WœŸ™Ò#Ø—9‘9˜Q‘<ˆDà#Ÿy™y¨¨™}ó.Ú,˜ð —L‘L¤×!1Ñ!1¸H�LÓEÙ,ð ð .à�&˜˜$Ÿ)™) D›/Ð*¨!Ð,ˆAÜ#Ÿ™ŠJØ�W‰WœŸ	™	Ò!à#Ÿyšyó*Ú(˜ð —L‘L¤×!3Ñ!3¸h�LÓGÙ(ð ð *à—‘˜DÓ!ˆAÜ#×+Ñ+ŠJØ�W‰WœŸ
™
Ò"ð ,0¯9ª9ó"6â+4 að #$§*¡*¬Z×-=Ñ-=Ø6>ð #-ó #@á+4ñ"6ÑˆD�%˜ð œ8Ÿ:™:Ò%Ø˜�v˜Q˜u˜g Q u g¨QÐ/‘ØœXŸ_™_Ò,Ø˜�w˜d 4 &¨¨u¨g°QÐ7‘ØœX×-Ñ-Ò-Ø˜U˜G 2 e W¨B¨t¨f°AÐ6‘ä)Ø# D§G¡G 9¨E°(°Ð<ó>ð >ä#Ÿ™ŠJØ�W‰WœŸ™ÒØ�d—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÐMÑMˆAÜ#×)Ñ)ŠJØ�W‰WœŸ™Ò Ø�d—i‘i×(Ñ(¬×)9Ñ)9ÀHÐ(ÐMÑMˆAÜ#×)Ñ)‰JØ�W‰WœŸ™Ò%Ø#Ÿy™yÑˆC��uØ+.´5·8±8¼U¿X¹XÐ2FÓ+Fœ*Ÿ-š-Ü)Ÿ}™}ð à—=‘= °h�=Ð?ˆDØ—N‘N :¸�NÐAˆEØ—,‘,¨�,Ð1ˆCØ�&˜˜#˜˜a ˜wÐ'‰Aä%Ð(8¸¿¹¸	Ð&BÓCÐCØ×"Ñ" Z×%5Ñ%5Ó5ð ˜‘7˜S‘=Ð Øˆùòs 1ùò)ùó5ùò.ùò
*ùò
"6s$   Ö(g>×(hØ2hÚ2(hÜ0(hÞ((hc                 ó   • U $ rz   r   rÃ   s    r   Ú__pos__ÚExpr.__pos__¥  s   € Øˆr   c                 ó   • U S-  $ )Néÿÿÿÿr   rÃ   s    r   Ú__neg__ÚExpr.__neg__¨  s   € Ø�b‰yÐr   c                 óþ  • [        U5      n[        U[        5      (       Ga×  U R                  UR                  L GaN  U R                  [        R
                  [        R                  4;   aM  [        U R                  S   UR                  S   -   [        U R                  S   UR                  S   5      5      $ U R                  [        R                  L a,  U R                  u  p#UR                  u  pE[        X$-   X5-   5      $ U R                  [        R                  L am  [        U R                  [        U R                  5      5      nUR                  R                  5        H  u  px[        UR                  Xx5        M     [!        U5      $ U R                  [        R                  L a<  UR                  [        R
                  [        R                  4;   a  U [        U5      -   $ U R                  [        R
                  [        R                  4;   a+  UR                  [        R                  L a  [        U 5      U-   $ U R                  [        R                  L a6  UR                  [        R
                  L a  U [#        XR                  S   S9-   $ U R                  [        R
                  L a6  UR                  [        R                  L a  [#        XR                  S   S9U-   $ [%        U 5      [%        U5      -   $ [&        $ ©Nr   r	   )Úkind)Úas_exprr’   r   r    r   r$   r%   rã   r¡   Úmaxr&   Ú
as_complexr/   rž   r¬   r€   Ú	normalizeÚas_realÚas_termsr±   )	rU   r¦   Úr1Úi1Úr2Úi2rè   r}   r~   s	            r   Ú__add__ÚExpr.__add__«  s	  € Ü˜“ˆÜ�eœT×"Ò"Ø�w‰w˜%Ÿ(™(Ó"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ó3Ü$ØŸ	™	 !™ u§z¡z°!¡}Ñ4Ü˜DŸI™I a™L¨%¯*©*°Q©-Ó8ó:ð :ð —7‘7œbŸj™jÒ(Ø!ŸY™Y‘F�BØ"ŸZ™Z‘F�BÜ% b¡g¨r©wÓ7Ð7Ø—7‘7œbŸh™hÒ&Ü˜TŸW™W¤d¨4¯9©9£oÓ6�AØ %§
¡
× 0Ñ 0Ö 2™˜Ü" 1§6¡6¨1Ö0ñ !3ä$ Q›<Ð'Ø�w‰wœ"Ÿ*™*Ò$¨¯©´b·j±jÄ"Ç'Á'Ð5JÓ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™Z¬¯©Ð1Ó1°e·h±hÄ"Ç*Á*Ò6LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÒ#¨¯©´B·J±JÒ(>Øœg e·)±)¸A±,Ñ?Ñ?Ð?Ø—‘œBŸJ™JÒ&¨5¯8©8´r·w±wÒ+>Ü˜t¯*©*°Q©-Ñ8¸5Ñ@Ð@Ü˜D“>¤H¨U£OÑ3Ð3ÜÐr   c                 óT   • [        U[        5      (       a  [        U5      U -   $ [        $ rz   ©r’   Únumber_typesrã   r±   r¥   s     r   Ú__radd__ÚExpr.__radd__Ç  ó%   € Ü�eœ\×*Ñ*Ü˜UÓ# dÑ*Ð*ÜÐr   c                 ó   • X* -   $ rz   r   r¥   s     r   Ú__sub__ÚExpr.__sub__Ì  s   € Ø�v‰Ðr   c                 óT   • [        U[        5      (       a  [        U5      U -
  $ [        $ rz   r  r¥   s     r   Ú__rsub__ÚExpr.__rsub__Ï  r  r   c                 óü  • [        U5      n[        U[        5      (       GaÖ  U R                  UR                  L Ga÷  U R                  [        R
                  [        R                  4;   aM  [        U R                  S   UR                  S   -  [        U R                  S   UR                  S   5      5      $ U R                  [        R                  L a6  U R                  u  p#UR                  u  pE[        X$-  X5-  -
  X%-  XC-  -   5      $ U R                  [        R                  L am  [        U R                  [        U R                  5      5      nUR                  R                  5        H  u  px[        UR                  Xx5        M     [!        U5      $ U R                  [        R"                  L a‚  [        U R                  0 5      nU R                  R                  5        HC  u  pšUR                  R                  5        H   u  p¼[        UR                  X›-  X¬-  5        M"     ME     [!        U5      $ U R                  [        R                  L a<  UR                  [        R
                  [        R                  4;   a  U [        U5      -  $ UR                  [        R                  L a<  U R                  [        R
                  [        R                  4;   a  [        U 5      U-  $ U R                  [        R                  L a6  UR                  [        R
                  L a  U [%        XR                  S   S9-  $ U R                  [        R
                  L a6  UR                  [        R                  L a  [%        XR                  S   S9U-  $ U R                  [        R"                  L a  U ['        U5      -  $ UR                  [        R"                  L a  ['        U 5      U-  $ [)        U 5      [)        U5      -  $ [*        $ r  )r	  r’   r   r    r   r$   r%   rã   r¡   r
  r&   r  r0   rž   r¬   r€   r  r/   r  r  Ú
as_factorsr±   )rU   r¦   r  r  r  r  rè   r}   r~   Út1Úc1Út2Úc2s                r   Ú__mul__ÚExpr.__mul__Ô  sÆ  € Ü˜“ˆÜ�eœT×"Ò"Ø�w‰w˜%Ÿ(™(Ó"Ø—7‘7œrŸz™z¬2¯7©7Ð3Ó3Ü$ T§Y¡Y¨q¡\°E·J±J¸q±MÑ%AÜ%(¨¯©°1©°u·z±zÀ!±}Ó%EóGð Gà—W‘W¤§
¡
Ò*Ø!ŸY™Y‘F�BØ"ŸZ™Z‘F�BÜ% b¡g°±Ñ&7¸¹À2Á7Ñ9JÓKÐKà—7‘7œbŸj™jÒ(Ü˜TŸW™W¤d¨4¯9©9£oÓ6�AØ %§
¡
× 0Ñ 0Ö 2™˜Ü" 1§6¡6¨1Ö0ñ !3ä$ Q›<Ð'Ø—W‘W¤§¡Ò(Ü˜TŸW™W bÓ)�AØ"&§)¡)§/¡/Ö"3™˜Ø&+§j¡j×&6Ñ&6Ö&8™F˜BÜ& q§v¡v¨r©w¸¹Ö@ó '9ñ #4ô % Q›<Ð'à�w‰wœ"Ÿ*™*Ò$¨¯©´b·j±jÄ"Ç'Á'Ð5JÓ)JØœj¨Ó/Ñ/Ð/Ø—‘œRŸZ™ZÒ'¨D¯G©G¼¿
¹
ÄBÇGÁGÐ7LÓ,LÜ! $Ó'¨%Ñ/Ð/Ø—‘œBŸG™GÒ#¨¯©´B·J±JÒ(>Øœg e·)±)¸A±,Ñ?Ñ?Ð?Ø—‘œBŸJ™JÒ&¨5¯8©8´r·w±wÒ+>Ü˜t¯*©*°Q©-Ñ8¸5Ñ@Ð@à�w‰wœ"Ÿ(™(Ò"Øœh u›oÑ-Ð-Ø—‘œRŸX™XÒ%Ü “~¨Ñ-Ð-ä˜dÓ#¤j°Ó&7Ñ7Ð7ÜÐr   c                 óT   • [        U[        5      (       a  [        U5      U -  $ [        $ rz   r  r¥   s     r   Ú__rmul__ÚExpr.__rmul__ý  r  r   c                 ód  • [        U5      n[        U[        5      (       Ga
  UR                  [        R
                  L aÓ  UR                  S   nUS:X  a  [        S5      $ US:X  a  U $ US:”  a|  U R                  [        R                  L aU  [        U R                  0 5      nU R                  R                  5        H  u  pEXR-  UR                  U'   M     [        U5      $ X US-
  -  -  $ US:w  a  X* -  S-  $ [        [        R                  X05      $ [        [        R                  X5      $ [        $ )Nr   r	   r  )r	  r’   r   r    r   r$   r¡   rã   r0   r¬   r  Úas_applyrZ   rc   r±   )rU   r¦   Úexponentrè   r}   r~   s         r   Ú__pow__ÚExpr.__pow__  sý   € Ü˜“ˆÜ�eœT×"Ò"Ø�x‰xœ2Ÿ:™:Ò%Ø Ÿ:™: a™=�à˜q“=Ü$ Q›<Ð'Ø˜q“=Ø�KØ˜a“<Ø—w‘w¤"§*¡*Ò,Ü  §¡¨"Ó-˜Ø$(§I¡I§O¡OÖ$5™D˜AØ()©˜AŸF™F 1›Iñ %6ä(¨›|Ð+Ø¨H°q©LÑ#9Ñ:Ð:Ø “^Ø  YÑ/°BÑ6Ð6ÜœBŸJ™J¨Ð(8Ó9Ð9ÜœGŸK™K¨Ó5Ð5ÜÐr   c                 ó”   • [        U5      n[        U[        5      (       a#  [        [	        [
        R                  X5      5      $ [        $ rz   )r	  r’   r   r  r-  rZ   rb   r±   r¥   s     r   Ú__truediv__ÚExpr.__truediv__  s6   € Ü˜“ˆÜ�eœT×"Ñ"ô œX¤g§k¡k°4Ó?Ó@Ð@ÜÐr   c                 óV   • [        U5      n[        U[        5      (       a  X-  $ [        $ rz   ©r	  r’   r   r±   r¥   s     r   Ú__rtruediv__ÚExpr.__rtruediv__!  s&   € Ü˜“ˆÜ�eœT×"Ñ"Ø‘<ÐÜÐr   c                 ó–   • [        U5      n[        U[        5      (       a$  [        [        [        R
                  X45      5      $ [        $ rz   )r	  r’   r   r  r   r-   r±   r¥   s     r   Ú__floordiv__ÚExpr.__floordiv__'  s8   € Ü˜“ˆÜ�eœT×"Ñ"ô œT¤"§)¡)¨d¨]Ó;Ó<Ð<ÜÐr   c                 óV   • [        U5      n[        U[        5      (       a  X-  $ [        $ rz   r5  r¥   s     r   Ú__rfloordiv__ÚExpr.__rfloordiv__/  s&   € Ü˜“ˆÜ�eœT×"Ñ"Ø‘=Ð ÜÐr   c                 ó¢   • [        U /[        [        U5      Q70 UR                  5        VVs0 s H  u  p4U[        U5      _M     snnD6$ s  snnf rz   )r-  Úmapr	  r¬   )rU   rò   ró   r}   r~   s        r   Ú__call__ÚExpr.__call__5  sO   € ô ˜ð Fœs¤7¨DÓ1ò FØ5;·\±\´^ÔD²^©T¨Q˜1œg a›jš=±^ÒDñFð 	FùÛDs   ­Ac                 óÀ   • [        U5      n[        U[        5      (       d  U4n[        U5      S:”  a  [	        SU S35        [        [        R                  U 4U-   5      $ )Nr	   z/C-index should be a single expression but got `Ú`)r	  r’   r—   r˜   r‰   r   r   r,   )rU   Úindexs     r   Ú__getitem__ÚExpr.__getitem__>  sU   € ô ˜“ˆÜ˜%¤×'Ñ'Ø�FˆEÜˆu‹:˜‹>ÜÐCÀEÀ7È!ÐLÔMÜ”B—K‘K $ ¨5¡Ó1Ð1r   c           	      óŽ
  ^• U R                   [        R                  L aq  TR                  U 5      nUc  U $ [        R
                  " SU R                  5      nU(       a1  UR                  5       u  pEUS;   a  [        U5      $ US:X  d   XR45       eU$ U R                   [        R                  [        R                  [        R                  4;   a  U $ U R                   [        R                  [        R                  4;   a3  [        U R                   [        U4S jU R                   5       5      5      $ U R                   [        R                   L a<  [#        [        U R                   [        U4S jU R                   5       5      5      5      $ U R                   [        R$                  L ao  SnU R                  R'                  5        H4  u  pxUc  UR)                  T5      U-  nM  XgR)                  T5      U-  -  nM6     Uc  [+        S5        [-        S5      $ U$ U R                   [        R.                  L ao  SnU R                  R'                  5        H4  u  pšUc  U	R)                  T5      U
-  nM  XiR)                  T5      U
-  -  nM6     Uc  [+        S	5        [-        S
5      $ U$ U R                   [        R0                  L až  U R                  u  p¼n[3        U[        5      (       a  UR)                  T5      n[        U4S jU 5       5      nUR'                  5        VVs0 s H  u  pïXïR)                  T5      _M     nnn[#        [        U R                   X¼U45      5      $ U R                   [        R4                  L az  U R                  S   n[3        U[        5      (       a  UR)                  T5      n[        U4S jU R                  S
S  5       5      n[#        [        U R                   U4U-   5      5      $ U R                   [        R6                  L a>  [        U4S jU R                   5       5      n[#        [        U R                   U5      5      $ U R                   [        R8                  [        R:                  4;   a8  [#        [        U R                   U R                  R)                  T5      5      5      $ U R                   [        R<                  L aT  U R                  u  nnnUR)                  T5      nUR)                  T5      n[#        [        U R                   UUU45      5      $ [?        SU R                    SU < 35      es  snnf )ztRecursively substitute symbols with values in symbols map.

Symbols map is a dictionary of symbol-expression pairs.
Nz$\A(@__f2py_PARENTHESIS_(\w+)_\d+@)\Z©ÚROUNDDIVÚSQUAREÚROUNDc              3   óF   >#   • U  H  nUR                  T5      v •  M     g 7frz   ©Ú
substitute©r“   r”   Úsymbols_maps     €r   r•   Ú"Expr.substitute.<locals>.<genexpr>\  s$   øé € ð '>Ú3<¨4ð (,§¡°{×'CÐ'CÚ3<ùó   ƒ!c              3   óF   >#   • U  H  nUR                  T5      v •  M     g 7frz   rM  rO  s     €r   r•   rQ  _  s%   øé € ð 1HÚ=F°Tð 26·±À×1MÐ1MÚ=FùrR  z?substitute: empty TERMS expression interpreted as int-literal 0r   zAsubstitute: empty FACTORS expression interpreted as int-literal 1r	   c              3   óD   >#   • U  H  oR                  T5      v •  M     g 7frz   rM  ©r“   r÷   rP  s     €r   r•   rQ  }  s   øé € ÐAºD°qŸ™ k×2Ð2ºDùó   ƒ c              3   óD   >#   • U  H  oR                  T5      v •  M     g 7frz   rM  rU  s     €r   r•   rQ  …  s   øé € ÐJºM°qŸ™ k×2Ð2ºMùrV  c              3   óD   >#   • U  H  oR                  T5      v •  M     g 7frz   rM  rU  s     €r   r•   rQ  ˆ  s   øé € ÐJÂ	¸1Ÿ\™\¨+×6Ð6Â	ùrV  zsubstitute method for z: ) r    r   r)   r{   ÚreÚmatchr¡   ÚgroupsÚas_arrayr$   r%   r'   r(   r&   r   r—   r-   r  r/   r¬   rN  r‰   rã   r0   r+   r’   r,   r*   r1   r2   r.   rŸ   )rU   rP  r°   Úmr¬   Úparenrè   rê   rë   rî   r.  Útargetrò   ró   r}   r~   ÚfuncÚoperandsrû   rü   rý   s    `                   r   rN  ÚExpr.substituteH  s&  ø€ ð
 �7‰7”b—i‘iÒØ—O‘O DÓ)ˆEØ‰}Ø�Ü—’Ð@À$Ç)Á)ÓLˆAÞà Ÿx™x›z‘�ØÐ2Ó2Ü# E›?Ð*Ø Ó'Ð7¨%¨Ó7Ð'ØˆLØ�7‰7”r—z‘z¤2§7¡7¬B¯I©IÐ6Ó6ØˆKØ�7‰7”r—x‘x¤§¡Ð,Ó,Ü˜Ÿ™¤ô '>Ø37·9²9ó'>ó ">ó ?ð ?à�7‰7”b—i‘iÒÜœT $§'¡'¬5ô 1HØ=A¿YºYó1Hó ,Hó Ió Jð Jà�7‰7”b—h‘hÒØˆAØ#Ÿy™yŸ™Ö0‘�Ø‘9ØŸ™¨Ó4°uÑ<’AàŸ™¨Ó5¸Ñ=Ñ=’Añ	  1ð
 ‰yÜð 'ô (ä  “|Ð#ØˆHØ�7‰7”b—j‘jÒ ØˆAØ"&§)¡)§/¡/Ö"3‘�Ø‘9ØŸ™¨Ó4¸Ñ@’AàŸ™¨Ó5¸ÑAÑA’Añ	 #4ð
 ‰yÜð *ô +ä  “|Ð#ØˆHØ�7‰7”b—h‘hÒØ#'§9¡9Ñ ˆF˜&Ü˜&¤$×'Ñ'Ø×*Ñ*¨;Ó7�ÜÔA¹DÓAÓAˆDà&,§l¡l¤nô6Ú&4™d˜að Ÿ™ kÓ2Ò2Ù&4ð ñ 6äœT $§'¡'¨F¸&Ð+AÓBÓCÐCØ�7‰7”b—k‘kÒ!Ø—9‘9˜Q‘<ˆDÜ˜$¤×%Ñ%Ø—‘ {Ó3�ÜÔJ¸D¿I¹IÀaÀb¹MÓJÓJˆDÜœT $§'¡'¨D¨7°T©>Ó:Ó;Ð;Ø�7‰7”b—j‘jÒ ÜÔJÀÇ	Â	ÓJÓJˆHÜœT $§'¡'¨8Ó4Ó5Ð5Ø�7‰7”r—v‘vœrŸx™xÐ(Ó(ÜœT $§'¡'¨4¯9©9×+?Ñ+?ÀÓ+LÓMÓNÐNØ�7‰7”b—m‘mÒ#Ø#Ÿy™yÑˆC��uØ—?‘? ;Ó/ˆDØ×$Ñ$ [Ó1ˆEÜœT $§'¡'¨C°°uÐ+=Ó>Ó?Ð?Ü!Ð$:¸4¿7¹7¸)À2ÀdÁXÐ"NÓOÐOùó'6s   ÌUc           
      ón  ^^^• T" U /TQ70 TD6nUb  U$ U R                   [        R                  [        R                  [        R                  [        R
                  4;   a  U $ U R                   [        R                  [        R                  [        R                  [        R                  4;   a>  [        [        U R                   [        UUU4S jU R                   5       5      5      5      $ U R                   [        R                  [        R                  4;   a—  0 nU R                  R!                  5        HX  u  pgUR"                  " T/TQ70 TD6n[%        U[        5      (       a  UR"                  " T/TQ70 TD6OUnXe;   a  XV   U-   nXuU'   MZ     [        [        U R                   U5      5      $ U R                   [        R&                  L aÆ  U R                  S   n[%        U[        5      (       a  UR"                  " T/TQ70 TD6OUn	[        UUU4S jU R                  S    5       5      n
U R                  S   R!                  5        VVs0 s H  u  pgXgR"                  " T/TQ70 TD6_M     nnn[        [        U R                   XšU45      5      $ U R                   [        R(                  L aƒ  U R                  S   n[%        U[        5      (       a  UR"                  " T/TQ70 TD6OUn[        UUU4S jU R                  SS  5       5      n[        [        U R                   U4U-   5      5      $ U R                   [        R*                  [        R,                  4;   a=  [        [        U R                   U R                  R"                  " T/TQ70 TD65      5      $ U R                   [        R.                  L a\  U R                  u  pÞnUR"                  " T/TQ70 TD6nUR"                  " T/TQ70 TD6n[        [        U R                   XÞU45      5      $ [1        SU R                    35      es  snnf )	a  Traverse expression tree with visit function.

The visit function is applied to an expression with given args
and kwargs.

Traverse call returns an expression returned by visit when not
None, otherwise return a new normalized expression with
traverse-visit sub-expressions.
Nc              3   óP   >#   • U  H  nUR                   " T/TQ70 TD6v •  M     g 7frz   ©Útraverse)r“   r”   rò   ró   Úvisits     €€€r   r•   Ú Expr.traverse.<locals>.<genexpr>¤  s+   øé € ð 1'â%�Dð —’˜eÐ5 dÒ5¨fÖ5Ú%ùó   ƒ#&r   c              3   óP   >#   • U  H  nUR                   " T/TQ70 TD6v •  M     g 7frz   re  )r“   Úoperandrò   ró   rg  s     €€€r   r•   rh  µ  s-   øé € ð :Ú,8 ð %×-Ò-¨eÐE°dÒE¸fÖEÚ,8ùri  r	   r
   c              3   óP   >#   • U  H  nUR                   " T/TQ70 TD6v •  M     g 7frz   re  )r“   rD  rò   ró   rg  s     €€€r   r•   rh  ¾  s+   øé € ð 8Ú)6 ð "ŸNšN¨5ÐB°4ÒB¸6ÖBÚ)6ùri  ztraverse method for )r    r   r$   r%   r'   r)   r&   r(   r-   r*   r  r   r—   r¡   r/   r0   r¬   rf  r’   r+   r,   r1   r2   r.   rŸ   )rU   rg  rò   ró   Úresultr¡   r}   r~   Úobjr`  ra  Ú
kwoperandsÚindicesrû   rü   rý   s    ```            r   rf  ÚExpr.traverse“  s�  ú€ ñ �tÐ-˜dÒ- fÑ-ˆØÑØˆMà�7‰7”r—z‘z¤2§7¡7¬B¯I©I´r·y±yÐAÓAØˆKØ�W‰WœŸ™¤R§X¡X¬r¯y©y¼"¿*¹*ÐEÓEÜœT $§'¡'¬5ö 1'à ŸIšIó1'ó ,'ó (ó )ð )ð �W‰WœŸ™¤2§:¡:Ð.Ó.ØˆDØŸ	™	Ÿ™Ö)‘�Ø—J’J˜uÐ6 tÒ6¨vÑ6�ä" 1¤d×+Ñ+ð —Z’Z Ð7¨Ò7°Ò7Ø12ð à“9Ø™ !™�AØ�Q“ñ *ô œT $§'¡'¨4Ó0Ó1Ð1Ø�W‰WœŸ™Ò Ø—)‘)˜A‘,ˆCä! #¤t×,Ñ,ð —L’L Ð8¨Ò8°Ò8Ø25ð äö :Ø,0¯I©I°aªLó:ó :ˆHð +/¯)©)°A©,×*<Ñ*<Ô*>ô@Ú*>¡$ !ð ŸZšZ¨Ð?°Ò?¸Ñ?Ò?Ù*>ð ñ @äœT $§'¡'¨D¸JÐ+GÓHÓIÐIØ�W‰WœŸ™Ò#Ø—)‘)˜A‘,ˆCä  ¤d×+Ñ+ð —<’< Ð7¨Ò7°Ò7Ø14ð äö 8Ø)-¯©°1°2©ó8ó 8ˆGäœT $§'¡'¨C¨6°GÑ+;Ó<Ó=Ð=Ø�W‰WœŸ™¤§¡Ð*Ó*ÜœT $§'¡'Ø"&§)¡)×"4Ò"4°UÐ"L¸TÒ"LÀVÑ"LóNó Oð Oà�W‰WœŸ™Ò%Ø#Ÿy™yÑˆC�uØ—=’= Ð8¨Ò8°Ñ8ˆDØ—N’N 5Ð:¨4Ò:°6Ñ:ˆEÜœT $§'¡'¨C°uÐ+=Ó>Ó?Ð?Ü!Ð$8¸¿¹¸	Ð"BÓCÐCùó%@s   É"P1c                 óX   ^• / nU4U4S jjnU R                  U5        [        U5      S:g  $ )z&Check if self contains other.
        c                 óJ   >• U(       a  U $ U T:X  a  UR                  S5        U $ g )Nr	   )rä   )ÚexprÚfoundr¦   s     €r   rg  ÚExpr.contains.<locals>.visitÐ  s'   ø€ ÞØ�Ø˜“Ø—‘˜Q”Ø�ð r   r   )rf  r˜   )rU   r¦   ru  rg  s    `  r   ÚcontainsÚExpr.containsË  s.   ø€ ð ˆà#÷ 	ð 	�‰�eÔä�5‹z˜Q‰Ðr   c                 óH   • [        5       nU4S jnU R                  U5        U$ )z3Return a set of symbols contained in self.
        c                 ób   • U R                   [        R                  L a  UR                  U 5        g g rz   )r    r   r)   Úadd)rt  ru  s     r   rg  ÚExpr.symbols.<locals>.visità  s"   € Ø�w‰wœ"Ÿ)™)Ò#Ø—	‘	˜$•ð $r   ©Úsetrf  ©rU   ru  rg  s      r   ÚsymbolsÚExpr.symbolsÛ  s&   € ô “ˆà#ô 	 ð 	�‰�eÔàˆr   c                 óP   ^• [        5       nU4U4S jjmU R                  T5        U$ )zFReturn a set of expressions used as atoms in polynomial self.
        c                 óÒ  >• U R                   [        R                  L a&  U R                   H  nUR	                  T5        M     U $ U R                   [        R
                  [        R                  4;   a  g U R                   [        R                  L af  [        U R                  S   [        5      (       aD  U R                  S   [        R                  L a#  U R                  S   S   R	                  T5        U $ g U R                   [        R                  [        R                  4;   a  U $ UR                  U 5        U R                   [        R                  [        R                  4;   a  U $ g ©Nr   r	   )r    r   r0   r¡   rf  r/   r&   r+   r’   rZ   rc   r$   r%   r{  r,   )rt  ru  Úbrg  s      €r   rg  Ú$Expr.polynomial_atoms.<locals>.visití  sô   ø€ Ø�w‰wœ"Ÿ*™*Ò$ØŸœ�AØ—J‘J˜uÖ%ñ #à�Ø�w‰wœ2Ÿ8™8¤R§Z¡ZÐ0Ó0ØØ�w‰wœ"Ÿ(™(Ò"¤z°$·)±)¸A±,Ä×'HÑ'HØ—9‘9˜Q‘<¤7§;¡;Ò.Ø—I‘I˜a‘L ‘O×,Ñ,¨UÔ3Ø�KØØ�w‰wœ2Ÿ:™:¤r§w¡wÐ/Ó/Ø�à�I‰I�dŒOà�w‰wœ2Ÿ;™;¬¯©Ð1Ó1Ø�ð 2r   r}  r  s     @r   Úpolynomial_atomsÚExpr.polynomial_atomsè  s'   ø€ ô “ˆà#÷ 	ð( 	�‰�eÔàˆr   c                 óö   • U R                  U[        S5      05      nX-
  nUR                  U[        S5      05      n[        XA-  U-
  5      u  pVU[        S5      :w  a  [        SU SU SU SU SU  3
5      eXB4$ )zqReturn a, b such that a * symbol + b == self.

If self is not linear with respect to symbol, raise RuntimeError.
r   r	   znot a z-linear equation: r×   rÖ   z == )rN  rã   Úas_numer_denomÚRuntimeError)rU   Úsymbolr…  Úaxr÷   ÚzerorÊ   s          r   Úlinear_solveÚExpr.linear_solve  s•   € ð
 �O‰O˜V¤Y¨q£\Ð2Ó3ˆØ‰XˆØ�M‰M˜6¤9¨Q£<Ð0Ó1ˆä  ¡¨b¡Ó1‰ˆà”9˜Q“<ÓÜ ¨ xð 0#Ø#$ # S¨¨°°A°3°d¸4¸&ð Bó Cð Càˆtˆr   )r¡   r    N),r   r   r   r   r   Ústaticmethodr   r   rŽ   r¢   r§   r­   r²   rµ   r¸   r»   rÄ   rÇ   rj   rx   r   rV   r   r  r  r  r  r  r'  r*  r/  r2  r6  r9  r<  r@  rE  rN  rf  rw  r€  r‡  r�  r   r   r   r   r   r   �   sØ   † ñð
 Ø"Ÿ*™*ó 0ó ð0ò
@òD-ò
%òò Bâ7â6òBòð *4¯©Ø"×*Ñ*ôOòbòòò8ò
òò
'òRò
ò.òòòòFò2òIPòV6Dòpò òõ:r   c           	      ó:  • [        U [        5      (       d  U $ U R                  [        R                  L Ga  0 nU R
                  R                  5        H’  u  p#US:X  a  M  UR                  [        R                  L a  US:w  a  X#-  nSnUR                  [        R                  L a3  UR
                  R                  5        H  u  pE[        XXS-  5        M     M†  [        XU5        M”     [        U5      S:X  a  [        S5      $ [        U5      S:X  a  UR                  5       u  u  p#US:X  a  U$ [        [        R                  U5      $ U R                  [        R                  L Gaa  Sn0 nU R
                  R                  5        GHJ  u  pxUS:X  a  M  UR                  [        R                  L a'  [        U[        5      (       a  US:”  a  XwUS-
  -  -  nSnUR                  [        R                  [        R                  4;   aC  US:X  a  XgR
                  S   -  nM™  US:”  a  XgR
                  S   U-  -  nMµ  [        XU5        MÃ  UR                  [        R                  L a^  US:”  aI  [        U[        5      (       a4  UR
                  R                  5        H  u  pš[        XX¨-  5        M     GM/  [        XU5        GM>  [        XU5        GMM     [        U5      S:X  d  US:X  a"  [        U[        5      (       d   e[        U5      $ [        U5      S:X  aZ  UR                  5       u  u  pxUS:X  a  UnO[        [        R                  U5      nUS:X  a  U$ [        [        R                  X&05      $ US:X  a  [        [        R                  U5      $ [        [        R                  [        [        R                  U5      U05      $ U R                  [        R                   L GaÉ  U R
                  S   ["        R$                  L Ga¨  U R
                  S   u  p¼['        U5      u  pE['        U5      u  pÞ[        U[        5      (       a(  [        U[        5      (       a  [)        X^5      nX_-  Xï-  påOX^-  SpåUR                  [        R                   L ah  UR
                  S   ["        R$                  L aH  UR
                  S   S   U-  nUR
                  S   S   U-  U-  n[+        ["        R$                  UU5      $ UR                  [        R                   L ah  UR
                  S   ["        R$                  L aH  UR
                  S   S   U-  U-  nUR
                  S   S   U-  n[+        ["        R$                  UU5      $ [-        [/        U5      R
                  5      n[/        U5      R
                  R                  5        H  u  px[        XU* 5        M     0 0 nnUR                  5        H  u  pxUS:”  a  UUU'   M  U* UU'   M     [1        [        [        R                  U5      5      U-  n[1        [        [        R                  U5      5      U-  nUR                  [        R                  [        R                  4;   a  UR
                  S   S:X  a  U$ [+        ["        R$                  UU5      $ U R                  [        R2                  L GaC  U R
                  S   /nU R
                  SS  Hé  nUS   nUR                  [        R4                  L a³  UR                  [        R4                  L a–  UR
                  S   S   S;   a€  UR
                  S   S   UR
                  S   S   :X  aZ  [7        UR
                  S   SS UR
                  S   SS -   [9        UR
                  S   UR
                  S   5      5      nUUS'   MØ  UR;                  U5        Më     [        U5      S:X  a  US   $ [        [        R2                  [=        U5      5      $ U R                  [        R>                  L ap  [A        [0        U R
                  5      u  nnnUR                  [        R                  L a  UR
                  S   (       a  U$ U$ [        [        R>                  UUU45      $ U $ )z7Normalize Expr and apply basic evaluation methods.
    r   r	   Nr  z"')!r’   r   r    r   r/   r¡   r¬   r&   r€   r˜   rã   r0   Úinteger_typesr$   r%   r  r+   rZ   rb   Úas_term_coeffr   r-  rž   r"  r  r-   r'   Ú	as_stringr
  rä   r—   r*   r?  )rn  r|   Útr   r#  r$  rë   r…  ÚeÚb1Úe1ÚdividendÚdivisorr%  r&  Úgrõ   rö   ÚlstrO   ÚlastÚnew_lastrø   rù   rú   s                            r   r  r    s—  € ô �cœ4× Ñ Øˆ
à
‡v�v”—‘ÓØˆØ—H‘H—N‘NÖ$‰DˆAØ�A‹vÙØ�t‰t”r—z‘zÒ! a¨1£fØ‘E�Ø�Ø�t‰t”r—x‘xÒØŸf™fŸl™lžn‘F�BÜ˜q b¡fÖ-ó -ô ˜1 Ö#ñ %ô ˆq‹6�Q‹;ä˜Q“<ÐÜ�‹V�q‹[Ø—g‘g“i‰G‰FˆQØ�A‹vØ�Ü”B—H‘H˜aÓ Ð à
‡v�v”—‘ÓØˆØˆØ—H‘H—N‘N×$‰DˆAØ�A‹vÙØ�t‰t”r—x‘xÒ¤J¨q´-×$@Ñ$@ÀQÈÃUà˜q 1™u™Ñ&�Ø�à�t‰tœŸ
™
¤B§G¡GÐ,Ó,Ø˜“6ØŸV™V A™YÑ&’EØ˜“UØŸV™V A™Y¨!™^Ñ+’Eä˜q QÖ'Ø—‘œŸ™Ò#Ø�q“5œZ¨¬=×9Ñ9Ø"#§&¡&§,¡,¦.™˜Ü" 1¨"©&Ö1ô #1ô ˜q Q×'ä˜1 ×#ñ- %ô. ˆq‹6�Q‹;˜% 1›*ä˜e¤\×2Ñ2Ð2Ð2Ü˜UÓ#Ð#Ü�‹V�q‹[Ø—g‘g“i‰G‰FˆQØ�A‹vØ‘äœŸ™ QÓ'�Ø˜‹zØ�ÜœŸ™ 1 *Ó-Ð-Ø�a‹ZÜœŸ
™
 AÓ&Ð&äœŸ™¤4¬¯
©
°AÓ#6¸Ð">Ó?Ð?à
‡v�v”—‘Ó˜cŸh™h q™k¬W¯[©[Ó8ØŸH™H Q™KÑˆÜ˜xÓ(‰ˆÜ˜wÓ'‰ˆÜ�bœ-×(Ñ(¬Z¸¼M×-JÑ-JÜ�B“ˆAØ‘W˜b™g‘à‘W˜a�à�5‰5”B—H‘HÒ §¡¨¡¬w¯{©{Ò!:Ø—G‘G˜A‘J˜q‘M BÑ&ˆEØ—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEÜœGŸK™K¨°Ó6Ð6à�5‰5”B—H‘HÒ §¡¨¡¬w¯{©{Ò!:Ø—G‘G˜A‘J˜q‘M BÑ&¨Ñ+ˆEØ—G‘G˜A‘J˜q‘M BÑ&ˆEÜœGŸK™K¨°Ó6Ð6ä”˜B“×$Ñ$Ó%ˆÜ˜r“N×'Ñ'×-Ñ-Ö/‰DˆAÜ�q˜a˜RÖ ñ 0à˜2ˆuˆØ—G‘G–I‰DˆAØ�1‹uØ��a“à˜2��a“ñ	 ô
 œ$œrŸz™z¨5Ó1Ó2°RÑ7ˆÜœ$œrŸz™z¨5Ó1Ó2°RÑ7ˆà�8‰8œŸ
™
¤B§G¡GÐ,Ó,°·±¸A±À!Ó1CàˆLÜœŸ™ U¨EÓ2Ð2à
‡v�v”—‘ÓØ�x‰x˜‰{ˆmˆØ—‘˜!˜"“ˆAØ�r‘7ˆDà—G‘GœrŸy™yÒ(ØŸ™¤§	¡	Ò)ØŸ	™	 !™ Q™¨5Ó0ØŸ™˜q™	 !™¨¯	©	°!©°RÑ(8Ó8ä$ T§Y¡Y¨q¡\°#°2Ð%6¸¿¹À¹À1À2¸Ñ%FÜ%(¨¯©°1©°q·v±v¸a±yÓ%AóC�à"��B“à—
‘
˜1–ñ ô ˆs‹8�q‹=Ø�q‘6ˆMÜ”B—I‘Iœu S›zÓ*Ð*à
‡v�v”—‘ÒÜ ¤¨C¯H©HÓ5Ñˆˆe�UØ�7‰7”b—j‘jÒ Ø ŸI™I aŸL�5Ð3¨eÐ3Ü”B—J‘J  u¨eÐ 4Ó5Ð5à€Jr   c                 ó^  • [        U [        5      (       a   [        U R                  U R                  5      $ [        U [
        5      (       a  [        U 5      $ [        U [        5      (       a  [        [        U 5      5      $ [        U [        5      (       a  [        [        [        U 5      5      $ U $ )z.Convert non-Expr objects to Expr objects.
    )r’   Úcomplexr  ÚrealÚimagr  rã   rš   r•  Úreprr—   r?  r	  ©rn  s    r   r	  r	  Ÿ  s   € ô �#”w×ÑÜ˜#Ÿ(™( C§H¡HÓ-Ð-Ü�#”|×$Ñ$Ü˜‹~ÐÜ�#”s×Ñô œ˜c›Ó#Ð#Ü�#”u×ÑÜ”Sœ #Ó&Ó'Ð'Ø€Jr   c                 ó6   • [        [        R                  U 5      $ )zJReturn object as SYMBOL expression (variable or unparsed expression).
    )r   r   r)   r¥  s    r   Ú	as_symbolr§  ¯  s   € ô ”—	‘	˜3ÓÐr   c                 ój  • [        U [        5      (       a  [        [        R                  X45      $ [        U [
        5      (       a  [        [        R                  X45      $ [        U [        5      (       a0  U R                  [        R                  [        R                  4;   a  U $ [        SU  S35      e)z/Return object as INTEGER or REAL constant.
    úcannot convert z to INTEGER or REAL constant)	r’   r™   r   r   r$   r›   r%   r    re   ©rn  r  s     r   rã   rã   µ  s„   € ô �#”s×ÑÜ”B—J‘J  Ó,Ð,Ü�#”u×ÑÜ”B—G‘G˜c˜[Ó)Ð)Ü�#”t×ÑØ�6‰6”b—j‘j¤"§'¡'Ð*Ó*ØˆJÜ
�O C 5Ð(DÐEÓ
FÐFr   c                 óè   • [        U [        5      (       a  [        [        R                  X45      $ [        U [        5      (       a  U R
                  [        R                  L a  U $ [        SU  S35      e)z'Return object as INTEGER constant.
    r©  z to INTEGER constant)r’   r™   r   r   r$   r    re   rª  s     r   Ú
as_integerr¬  Â  s[   € ô �#”s×ÑÜ”B—J‘J  Ó,Ð,Ü�#”t×ÑØ�6‰6”R—Z‘ZÒØˆJÜ
�O C 5Ð(<Ð=Ó
>Ð>r   c                 óú  • [        U [        5      (       a%  [        [        R                  [        U 5      U45      $ [        U [
        5      (       a  [        [        R                  X45      $ [        U [        5      (       an  U R                  [        R                  L a  U $ U R                  [        R                  L a2  [        [        R                  [        U R                  S   5      U45      $ [        SU  S35      e)z$Return object as REAL constant.
    r   r©  z to REAL constant)
r’   r™   r   r   r%   r›   r    r$   r¡   re   rª  s     r   r  r  Í  sµ   € ô �#”s×ÑÜ”B—G‘Gœe C›j¨$Ð/Ó0Ð0Ü�#”u×ÑÜ”B—G‘G˜c˜[Ó)Ð)Ü�#”t×ÑØ�6‰6”R—W‘WÒØˆJØ�V‰V”r—z‘zÒ!ÜœŸ™¤%¨¯©°©Ó"4°dÐ!;Ó<Ð<Ü
�O C 5Ð(9Ð:Ó
;Ð;r   c                 ó8   • [        [        R                  X45      $ )zBReturn object as STRING expression (string literal constant).
    )r   r   r'   rª  s     r   r•  r•  Ü  s   € ô ”—	‘	˜C˜;Ó'Ð'r   c                 óf   • [        U [        5      (       a  U 4n [        [        R                  U 5      $ )z8Return object as ARRAY expression (array constant).
    )r’   r   r   r(   r¥  s    r   r\  r\  â  s)   € ô �#”t×ÑØˆdˆÜ”—‘˜#ÓÐr   c                 ó^   • [        [        R                  [        U 5      [        U5      45      $ )zDReturn object as COMPLEX expression (complex literal constant).
    )r   r   r&   r	  )r¢  r£  s     r   r  r  ê  s"   € ô ”—
‘
œW T›]¬G°D«MÐ:Ó;Ð;r   c                 óÐ   • [        [        R                  U [        [	        [
        U5      5      UR                  5        VVs0 s H  u  p4U[        U5      _M     snn45      $ s  snnf )zIReturn object as APPLY expression (function call, constructor, etc.)
    )r   r   r+   r—   r?  r	  r¬   )r`  rò   ró   r}   r~   s        r   r-  r-  ð  sR   € ô ”—‘Ø”uœS¤¨$Ó/Ó0Ø,2¯L©L¬NÔ;ªN¡D A�!”W˜Q“Z’-©NÒ;ð=ó>ð >ùã;s   ÁA"c                 ó:   • [        [        R                  XU45      $ )z<Return object as TERNARY expression (cond?expr1:expr2).
    )r   r   r*   )rø   rù   rú   s      r   Ú
as_ternaryr³  ø  s   € ô ”—
‘
˜T¨%Ð0Ó1Ð1r   c                 ó6   • [        [        R                  U 5      $ )z-Return object as referencing expression.
    )r   r   r1   ©rt  s    r   Úas_refr¶  þ  s   € ô ”—‘˜ÓÐr   c                 ó6   • [        [        R                  U 5      $ )z/Return object as dereferencing expression.
    )r   r   r2   rµ  s    r   Úas_derefr¸    s   € ô ”—‘˜$ÓÐr   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rG   ©rü   rý   s     r   Úas_eqr»  
  ó   € Ü”—‘¤§¡¨$Ð6Ó7Ð7r   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rH   rº  s     r   Úas_ner¾    r¼  r   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rI   rº  s     r   Úas_ltrÀ    r¼  r   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rJ   rº  s     r   Úas_lerÂ    r¼  r   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rK   rº  s     r   Úas_gtrÄ    r¼  r   c                 óV   • [        [        R                  [        R                  X45      $ rz   )r   r   r.   r4   rL   rº  s     r   Úas_gerÆ    r¼  r   c                 ó^  • [        U [        5      (       Ga   [        U 5      n U R                  [        R
                  L a  U $ U R                  [        R                  L a@  [        [        R
                  [        SU R                  S   5      U R                  S   05      $ U R                  [        R                  L a@  [        [        R
                  [        SU R                  S   5      U R                  S   05      $ [        [        R
                  U S05      $ [        S[        U 5       S35      e)z+Return expression as TERMS expression.
    r	   r   r©  ú to terms Expr)r’   r   r  r    r   r/   r$   r¬  r¡   r%   r  re   rÂ   r¥  s    r   r  r  "  sÖ   € ô �#”t×ÒÜ˜‹nˆØ�6‰6”R—X‘XÒØˆJØ�6‰6”R—Z‘ZÒÜœŸ™¤:¨a°·±¸!±Ó#=¸s¿x¹xÈ¹{Ð"KÓLÐLØ�6‰6”R—W‘WÒÜœŸ™¤7¨1¨c¯h©h°q©kÓ#:¸C¿H¹HÀQ¹KÐ"HÓIÐIÜ”B—H‘H˜s A˜hÓ'Ð'Ü
�O¤D¨£I ;¨nÐ=Ó
>Ð>r   c                 óV  • [        U [        5      (       Ga|  [        U 5      n U R                  [        R
                  L a  U $ U R                  [        R                  L aŠ  [        U R                  5      S:X  aq  U R                  R                  5       u  u  pUS:X  a  [        [        R
                  US05      $ [        [        R
                  US[        R                  U5      S05      $ U R                  [        R                  L ar  U R                  S   [        R                  L aR  U R                  S   (       d>  [        [        R
                  U R                  S   S   SU R                  S   S   S05      $ [        [        R
                  U S05      $ [        S[        U 5       S35      e)z-Return expression as FACTORS expression.
    r	   r   r
   r  r©  rÈ  )r’   r   r  r    r   r0   r/   r˜   r¡   r¬   Únumberr+   rZ   rb   re   rÂ   )rn  rê   rë   s      r   r"  r"  1  s0  € ô �#”t×ÒÜ˜‹nˆØ�6‰6”R—Z‘ZÒØˆJØ�6‰6”R—X‘XÒÜ�3—8‘8‹} Ó!Ø!$§¡§¡Ó!1‘‘�Ø˜A“:Ü¤§
¡
¨T°1¨IÓ6Ð6ÜœBŸJ™J¨¨q´$·+±+¸eÓ2DÀaÐ(HÓIÐIØ�F‰F”b—h‘hÒØ—‘˜!‘¤§¡Ò+Ø—X‘X˜a—[ÜœŸ
™
 S§X¡X¨a¡[°¡^°Q¸¿¹À¹ÀA¹ÈÐ$KÓLÐLÜ”B—J‘J  a Ó)Ð)Ü
�O¤D¨£I ;¨nÐ=Ó
>Ð>r   c                 óJ  • [        U [        5      (       Gav  [        U 5      n U R                  [        R
                  L a(  [        SU R                  S   5      U R                  S   4$ U R                  [        R                  L a(  [        SU R                  S   5      U R                  S   4$ U R                  [        R                  L a:  [        U R                  5      S:X  a!  U R                  R                  5       u  u  pX4$ U R                  [        R                  L ai  U R                  S   [        R                  L aI  [!        U R                  S   S   5      u  p4[#        [        R                  X0R                  S   S   5      U4$ U S4$ [%        S['        U 5       S35      e)z0Return expression as term-coefficient pair.
    r	   r   r©  z to term and coeff)r’   r   r  r    r   r$   r¬  r¡   r%   r  r/   r˜   r¬   r+   rZ   rb   r”  r-  re   rÂ   )rn  rê   rë   r–  r   s        r   r”  r”  F  s9  € ô �#”t×ÒÜ˜‹nˆØ�6‰6”R—Z‘ZÒÜ˜a §¡¨!¡Ó-¨s¯x©x¸©{Ð:Ð:Ø�6‰6”R—W‘WÒÜ˜1˜cŸh™h q™kÓ*¨C¯H©H°Q©KÐ7Ð7Ø�6‰6”R—X‘XÒÜ�3—8‘8‹} Ó!Ø!$§¡§¡Ó!1‘‘�Ø�{Ð"à�6‰6”R—X‘XÒ #§(¡(¨1¡+´·±Ò"<Ü  §¡¨!¡¨Q¡Ó0‰DˆAÜœGŸK™K¨¯H©H°Q©K¸©NÓ;¸QÐ>Ð>Ø�AˆvˆÜ
�O¤D¨£I ;Ð.@ÐAÓ
BÐBr   c                 óþ  • [        U [        5      (       GaÐ  [        U 5      n U R                  [        R
                  [        R                  [        R                  [        R                  [        R                  [        R                  4;   a  U [        S5      4$ U R                  [        R                  L av  U R                  S   [        R                  L aI  U R                  S   (       d5  [!        ["        U R                  S   5      u  pUS   US   -  US   US   -  4$ U [        S5      4$ U R                  [        R$                  L Ga
  / / p!U R                  R'                  5        H8  u  p4[#        U5      u  pVXT-  nUR)                  U5        UR)                  U5        M:     [        S5      [        S5      p‡[+        [-        U5      5       H;  n	X   n[+        [-        U5      5       H  n
Xš:w  d  M
  XRU
   -  nM     Xu-  nX‚U	   -  nM=     UR                  [        R
                  [        R                  4;   a  UR                  S   S:  a  U* U* p‡Xx4$ U R                  [        R.                  L av  [        S5      [        S5      p‡U R                  R'                  5        H@  u  p¼[#        U5      u  pÞUS:”  a  X}U-  -  nXŽU-  -  nM(  US:  d  M0  X~U* -  -  nX�U* -  -  nMB     Xx4$ [1        S[3        U 5       S35      e)z+Return expression as numer-denom pair.
    r	   r   r
   r©  z to numer and denom)r’   r   r  r    r   r$   r%   r&   r)   r,   r*   rã   r+   r¡   rZ   rb   r?  rŠ  r/   r¬   rä   rå   r˜   r0   re   rÂ   )rn  ÚnumersÚdenomsrê   rë   Únr|   rõ   rö   ÚiÚjr…  r—  ÚbnumerÚbdenoms                  r   rŠ  rŠ  [  sw  € ô �#”t×ÒÜ˜‹nˆØ�6‰6”b—j‘j¤"§'¡'¬2¯:©:´r·y±yÜ—k‘k¤2§:¡:ð/ó /àœ	 !›Ð$Ð$Ø�V‰V”r—x‘xÒØ�x‰x˜‰{œgŸk™kÒ)°#·(±(¸1·+Ü!$¤^°S·X±X¸a±[Ó!A‘�Ø˜a‘y 6¨!¡9Ñ,¨f°Q©i¸&À¹)Ñ.CÐCÐCØœ	 !›Ð$Ð$Ø�V‰V”r—x‘xÓØ �FØ"Ÿx™xŸ~™~Ö/‘�Ü% dÓ+‘�Ø‘I�Ø—‘˜aÔ Ø—‘˜aÖ ñ	  0ô
 % Q›<¬°1«�5Üœ3˜v›;Ö'�Ø‘I�Üœs 6›{Ö+�AØ•vØ A™Y™šñ ,ð ‘
�Ø ™Ñ"’ñ (ð �x‰xœBŸJ™J¬¯©Ð0Ó0°U·Z±ZÀ±]ÀQÓ5FØ %˜v¨ v�uØ�<ÐØ�V‰V”r—z‘zÒ!Ü$ Q›<¬°1«�5ØŸ™Ÿ™Ö(‘�Ü!/°Ó!2‘�Ø�q“5Ø q™[Ñ(�EØ q™[Ñ(’EØ˜•UØ¨¨™^Ñ+�EØ¨¨™^Ñ+’Eñ )ð �<ÐÜ
�O¤D¨£I ;Ð.AÐBÓ
CÐCr   c               #   ó&   #   • Sn  U S-  n U v •  M  7fr„  r   )Úcounters    r   Ú_counterrÖ  ˆ  s    é € à€GØ
Ø�1‰ˆØŠñ ùs   ‚c                 óˆ   ^• 0 mU4S jn[         R                  " SR                  SSSS9X5      nSU;  d   eSU;  d   eUT4$ )	z_Replace quoted substrings of input string.

Return a new string and a mapping of replacements.
c                 ó¤   >• U R                  5       S S u  pU(       a  US S nSSS.US      nU SU S[        R                  5        S	3nUTU'   U$ )
Nr
   r  ÚSINGLEÚDOUBLE)Ú'Ú"r   z@__f2py_QUOTES_rÊ   Ú@)r[  ÚCOUNTERÚ__next__)r]  r  r°   Úpr}   r|   s        €r   ÚreplÚeliminate_quotes.<locals>.replš  sg   ø€ Ø—h‘h“j  !�n‰ˆÞà˜˜�9ˆDØ Ñ*¨5°©8Ñ4ˆØˆf�O A 3 a¬×(8Ñ(8Ó(:Ð';¸1Ð=ˆØˆˆ!‰Øˆr   z+({kind}_|)({single_quoted}|{double_quoted})z
\w[\w\d_]*z('([^'\\]|(\\.))*')z("([^"\\]|(\\.))*"))r  Úsingle_quotedÚdouble_quotedrÜ  rÛ  )rY  ÚsubÚformat)rO   rá  Únew_sr|   s      @r   Úeliminate_quotesrè  “  sh   ø€ ð
 	€Aõô �FŠFÐA×HÑHØØ,Ø,ð Ið .ð 	ó	€Eð �eÓÐÐØ�eÓÐÐà�!ˆ8€Or   c                 ó    • UR                  5        H9  u  p#USUR                  S5       nU(       a  US-  nU R                  X$U-   5      n M;     U $ )z!Inverse of eliminate_quotes.
    NrÝ  rÊ   )r¬   ÚfindÚreplace)rO   r|   r}   r~   r  s        r   Úinsert_quotesrì  °  sN   € ð —‘–	‰ˆØ��!—&‘&˜“+ˆˆÞØ�C‰KˆDØ�I‰I�a ™Ó"Šñ	 ð
 €Hr   c                 ó¸  • Su  p[        U 5      nS H)  u  pEU R                  U5      nUS:X  a  M  Xc:  d  M%  UnXEp!M+     Uc  U 0 4$ UnU R                  X&5      nUS:X  a  [        SX-    SU < 35      eU R                  XS-   U5      U R                  X&S-   U5      :w  a\  U R                  X'S-   5      nUS:X  a  [        SX-    SU < 35      eU R                  XS-   U5      U R                  X&S-   U5      :w  a  M\  SS	S
SS.U   nSU S[        R                  5        S3n	X[        U5      -   U n
[        X[        U5      -   S 5      u  p¼X¬U	'   U SU U	-   U-   U4$ )zrReplace substrings of input that are enclosed in parenthesis.

Return a new string and a mapping of replacements.
)NN))ú(/ú/)z()z{}z[]r  NzMismatch of z parenthesis in r	   rK  rJ  ÚCURLYrI  )r¿   rÔ   Ú{rî  ú@__f2py_PARENTHESIS_rÊ   rÝ  )r˜   rê  Ú
ValueErrorÚcountrÞ  rß  Úreplace_parenthesis)rO   rü   rý   Úmn_iÚleft_Úright_rÐ  rÑ  rà  r}   r~   rè   r|   s                r   rõ  rõ  »  s�  € ð �K€DÜˆq‹6€Dó ‰ˆð �F‰F�5‹MˆØ�‹7ÙØ�8ØˆDØ’%ñ ð �|Ø�"ˆuˆà€AØ	�‰ˆuÓ€AØˆBƒwÜ˜<¨© ~Ð5EÀaÁUÐKÓLÐLà
�'‰'�$˜A™˜qÓ
! Q§W¡W¨U¸±E¸1Ó%=Ó
=Ø�F‰F�5˜a™%Ó ˆØ�‹7Ü˜|¨D©L¨>Ð9IÈ!ÉÐOÓPÐPð �'‰'�$˜A™˜qÓ
! Q§W¡W¨U¸±E¸1Ó%=Õ
=ð
 ˜H¨7¸*ÑEÀdÑK€Aà
˜q˜c ¤7×#3Ñ#3Ó#5Ð"6°aÐ8€AØ	Œc�$‹i‰-˜Ð€AÜ˜q¤S¨£Z¡ Ð1Ó2�D€AØ€a�DØˆRˆaˆ5�1‰9�q‰=˜!ÐÐr   c                 ód   • U R                  S5      (       d   U 5       eU R                  S5      S   $ )Nrò  rÊ   r7   )Ú
startswithÚsplit)rO   s    r   Ú_get_parenthesis_kindrü  è  s/   € Ø�<‰<Ð.×/Ñ/Ð2°Ó2Ð/Ø�7‰7�3‹<˜‰?Ðr   c                 ó¤   • UR                  5        H;  u  p#[        U5      nSSSSS.U   nSSSS	S.U   nU R                  X%U-   U-   5      n M=     U $ )
z$Inverse of replace_parenthesis.
    r¿   rÔ   rñ  rî  )rK  rJ  rð  rI  rÁ   rÕ   Ú}rï  )r¬   rü  rë  )rO   r|   r}   r~   rà  rü   rý   s          r   Úunreplace_parenthesisrÿ  í  sd   € ð —‘–	‰ˆÜ! !Ó$ˆØ¨°cÀtÑLÈQÑOˆØ¨°sÈÑMÈaÑPˆØ�I‰I�a ™ EÑ)Ó*Šñ	 ð
 €Hr   c                 ó„   • [        US9R                  U 5      n[        U[        5      (       a  U$ [	        SU  SU S35      e)z¢Create an expression from a string.

This is a "lazy" parser, that is, only arithmetic operations are
resolved, non-arithmetic operations are treated as symbols.
r�   zfailed to parse `z` to Expr instance: got `rC  )Ú_FromStringWorkerrŽ   r’   r   ró  )rO   rP   rè   s      r   rQ   rQ   ø  sG   € ô 	 8Ñ,×2Ñ2°1Ó5€AÜ�!”T×ÑØˆÜ
Ð(¨¨Ð+DÀQÀCÀqÐIÓ
JÐJr   c                   ó&   • \ rS rSrS rS rS rSrg)Ú_Pairi  c                 ó   • Xl         X l        g rz   rº  )rU   rü   rý   s      r   r¢   Ú_Pair.__init__  s   € ØŒ	Ø�
r   c                 óÞ   • U R                   U R                  p2[        U[        5      (       a  UR	                  U5      n[        U[        5      (       a  UR	                  U5      n[        X#5      $ rz   )rü   rý   r’   r   rN  r  )rU   rP  rü   rý   s       r   rN  Ú_Pair.substitute  sT   € Ø—i‘i §¡ˆeÜ�dœD×!Ñ!Ø—?‘? ;Ó/ˆDÜ�eœT×"Ñ"Ø×$Ñ$ [Ó1ˆEÜ�TÓ!Ð!r   c                 óf   • [        U 5      R                   SU R                   SU R                   S3$ r¾   )rÂ   r   rü   rý   rÃ   s    r   rÄ   Ú_Pair.__repr__  s.   € Ü�t“*×%Ñ%Ð& a¨¯	©	 {°"°T·Z±Z°LÀÐBÐBr   rº  N)r   r   r   r   r¢   rN  rÄ   r   r   r   r   r  r    s   † òò"õCr   r  c                   óJ   • \ rS rSr\R
                  4S jrS rS rSS jr	Sr
g)	r  i  c                 ó,   • S U l         S U l        Xl        g rz   )ÚoriginalÚ
quotes_maprP   rT   s     r   r¢   Ú_FromStringWorker.__init__  s   € ØˆŒØˆŒØ �r   c                 ó,   • [        XR                  5      $ rz   )rì  r  )rU   rO   s     r   Úfinalize_stringÚ!_FromStringWorker.finalize_string  s   € Ü˜Q§¡Ó0Ð0r   c                 óT   • Xl         [        U5      u  o l        U R                  U5      $ rz   )r  rè  r  Úprocess)rU   ÚinpÚunquoteds      r   rŽ   Ú_FromStringWorker.parse!  s%   € ØŒÜ$4°SÓ$9Ñ!ˆ”/Ø�|‰|˜HÓ%Ð%r   c           	      óŒ  ^ ^^^• [        U[        [        45      (       a  [        U5      " UU 4S jU 5       5      $ [        U[        5      (       d   [        U5      U45       e[        U5      u  nmUR                  5       nUU4S jmSU;   at  T" UR                  S5      5      nTS:X  a  [        T R                  U5      5      $ TS:X  a&  [        U5      S:X  a  [        T R                  U5      6 $ [        ST SU 35      e[        R                  " S	U5      nU(       ae  TS:X  d   T5       eT" UR                  5       5      u  pgnT R                  U5      nT R                  U5      nT R                  U5      n[        XgU5      $ T R                   ["        R$                  L a'  [        R                  " S
U[        R&                  5      nO[        R                  " SU5      nU(       aŒ  UR                  5       u  pšnT R                   ["        R$                  L a  SU
-   S-   n
T R                  T" X›45      5      u  p›[(        R+                  U
T R                   S9n
[-        [.        R0                  X©U45      $ [        R                  " SU5      nU(       a5  UR                  5       u  pÍT" U5      n[3        UT R                  U5      5      $ [        R                  " SU5      n[        U5      S:”  aˆ  T R                  T" US   =(       d    S5      5      n[5        USSS2   USSS2   5       HG  u  nnT R                  T" U5      5      nUR                  5       nUS:X  a  UU-  nM:  US:X  d   eUU-  nMI     U$ T R                   ["        R$                  L aO  SU;   aI  T" UR                  S5      5      n[-        [.        R6                  [        T R                  U5      5      5      $ [        R                  " ST R                   ["        R8                  L a  UOUR;                  SS5      5      n[        U5      S:”  aº  T" U5      nT R                   ["        R8                  La"  U Vs/ s H  nUR;                  SS5      PM     nnT R                  US   5      n[5        USSS2   USSS2   5       HA  u  nnT R                  U5      nUR                  5       nUS:X  a  UU-  nM4  US:X  d   eUU-  nMC     U$ UR=                  S5      (       aM  [.        R>                  [.        R@                  S.US      nT R                  T" USS 5      5      n[-        UU5      $ T R                   ["        R8                  Lag  SU;   aa  [        [C        T" UR                  S5      5      5      5      nT R                  US   5      nUSS  H  nT R                  U5      nUU-  nM     U$ [        R                  " SRE                  SSS 9U5      nU(       aY  UR                  5       u  nnnU(       a   URG                  5       (       a  [I        U5      n[K        [I        U5      U=(       d    S!5      $ [        R                  " S"RE                  S#S$SS%9U5      nU(       až  UR                  5       u  n  nnU(       a   URG                  5       (       a  [I        U5      nURM                  5       nS&U;   a.  [O        [Q        UR;                  S&S'5      5      U=(       d    S(5      $ [O        [Q        U5      U=(       d    S!5      $ UT RR                  ;   a6  USURU                  S)5       n[W        T RR                  U   U=(       d    S5      $ UT;   at  [Y        U5      nT R                  T" TU   5      US*:X  a  SOS5      nUS*:X  a  [        U[,        5      (       a  U$ US+;   a#  [        U[,        5      (       a  U4n[[        U5      $ [        R                  " S,U5      nU(       aÐ  UR                  5       u  nnnT R                  T" U5      5      nT R                  T" U5      SS- S5      n[        U[        5      (       d  U4nUS*:X  a_  U Vs0 s H1  n[        U[2        5      (       d  M  UR\                  UR^                  _M3     nn[        S. U 5       5      n[a        U/UQ70 UD6$ US/:X  d   eUU   $ [        R                  " S0U5      nU(       a  [c        U5      $ T Re                  T" U5      5      n[g        S1U< S2T Rh                   S335        [c        U5      $ s  snf s  snf )4a|  Parse string within the given context.

The context may define the result in case of ambiguous
expressions. For instance, consider expressions `f(x, y)` and
`(x, y) + (a, b)` where `f` is a function and pair `(x, y)`
denotes complex number. Specifying context as "args" or
"expr", the subexpression `(x, y)` will be parse to an
argument list or to a complex number, respectively.
c              3   óH   >#   • U  H  nTR                  UT5      v •  M     g 7frz   )r  )r“   Ús_ÚcontextrU   s     €€r   r•   Ú,_FromStringWorker.process.<locals>.<genexpr>1  s   øé € ÐAºq¸˜4Ÿ<™<¨¨G×4Ð4ºqùs   ƒ"c                 óˆ   >• [        U [        [        45      (       a  [        U 5      " [	        TU 5      5      $ [        U T5      $ rz   )r’   Úlistr—   rÂ   r?  rÿ  )rè   Úraw_symbols_mapÚrestores    €€r   r  Ú*_FromStringWorker.process.<locals>.restore9  s6   ø€ ä˜!œd¤E˜]×+Ñ+Ü˜A”wœs 7¨A›Ó/Ð/Ü(¨¨OÓ<Ð<r   Ú,rò   rt  r
   z&parsing comma-separated list (context=z): z\A([^?]+)[?]([^:]+)[:](.+)\Zz+\A(.+)\s*[.](eq|ne|lt|le|gt|ge)[.]\s*(.+)\Zz7\A(.+)\s*([=][=]|[!][=]|[<][=]|[<]|[>][=]|[>])\s*(.+)\ZÚ.r�   z\A(\w[\w\d_]*)\s*[=](.*)\Zz((?<!\d[edED])[+-])r	   r   rÙ   NÚ+rØ   z//z(?<=[@\w\d_])\s*([*]|/)z**z@__f2py_DOUBLE_STAR@rà   rÛ   )rà   rß   z\A({digit_string})({kind}|)\Zz\d+z_(\d+|\w[\w\d_]*))Údigit_stringr  r7   z7\A({significant}({exponent}|)|\d+{exponent})({kind}|)\Zz[.]\d+|\d+[.]\d*z[edED][+-]?\d+)Úsignificantr.  r  r|   r—  é   rÝ  rK  rH  z4\A(.+)\s*(@__f2py_PARENTHESIS_(ROUND|SQUARE)_\d+@)\Zr  c              3   óT   #   • U  H  n[        U[        5      (       a  M  Uv •  M      g 7frz   )r’   r  )r“   r÷   s     r   r•   r  Ü  s   é € ÐIª 1´J¸qÄ%×4HŸQ™Qªùs   ‚(Ÿ	(rJ  z\A\w[\w\d_]*\Zzfromstring: treating z as symbol (original=rÁ   )5r’   r  r—   rÂ   rš   rõ  Ústriprû  r  r˜   r  rŸ   rY  rZ  r[  r³  rP   r   r   ÚIr4   rQ   r   r   r.   r  Úzipr-   r   rë  rú  r2   r1   Úreversedræ  Úisdigitr™   r¬  rM   r  r›   r  rê  r•  rü  r\  rü   rý   r-  r§  r  r‰   r  )rU   rO   r  rè   ra  r]  Úoperrù   rú   rü   rû   rý   Úkeynamer°   rm  r    rk  rÊ   r  r^  r¬   r_  rò   r÷   ró   r  r  s   ` `                      @@r   r  Ú_FromStringWorker.process&  sO  û€ ô �aœ$¤˜×'Ñ'Ü˜”7ÕA¹qÓAÓAÐAä˜!œS×!Ñ!Ð/¤D¨£G¨Q <Ó/Ð!ô 1°Ó3Ñˆˆ?Ø�G‰G‹Iˆö	=ð �!‹8Ù˜qŸw™w s›|Ó,ˆHØ˜&Ó Ü˜TŸ\™\¨(Ó3Ó4Ð4Ø˜&Ó Ü�x“= AÓ%ä% t§|¡|°HÓ'=Ð>Ð>Ü%Ø8¸¸	ÀÀQÀCÐHóJð Jô �HŠHÐ4°aÓ8ˆÞØ˜fÓ$Ð- gÓ-Ð$Ù!(¨¯©«Ó!4ÑˆD˜Ø—<‘< Ó%ˆDØ—L‘L Ó'ˆEØ—L‘L Ó'ˆEÜ˜d¨5Ó1Ð1ð �=‰=œH×,Ñ,Ò,Ü—’Ø>ÀÄ2Ç4Á4óI‰Aô —’ØJÈAóOˆAæØ Ÿx™x›zÑˆD�uØ�}‰}¤× 0Ñ 0Ò0Ø˜C‘i #‘o�ØŸ,™,¡w°¨}Ó'=Ó>‰KˆDÜ×"Ñ" 3°·±Ð"Ð?ˆCÜœŸ™¨°5Ð'9Ó:Ð:ô �HŠHÐ2°AÓ6ˆÞØŸX™X›Z‰NˆGÙ˜E“NˆEÜ˜ $§,¡,¨uÓ"5Ó6Ð6ô —8’8Ð2°AÓ6ˆÜˆx‹=˜1ÓØ—\‘\¡'¨(°1©+×*<¸Ó"=Ó>ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÖB‘��GØŸ,™,¡w¨wÓ'7Ó8�Ø—X‘X“Z�Ø˜“9Ø˜gÑ%’Fà ›9Ð$˜9Ø˜gÑ%’Fñ  Cð ˆMð �=‰=œH×,Ñ,Ò,°¸³Ù˜qŸw™w t›}Ó-ˆHÜœŸ	™	Ü˜dŸl™l¨8Ó4Ó5ó7ð 7ô —8’8Ð6Ø"&§-¡-´8·:±:Ò"=™QØ"#§)¡)¨DÐ2HÓ"IóLˆô ˆx‹=˜1ÓÙ˜xÓ(ˆHØ�}‰}¤H§J¡JÒ.á+3ó5Ú+3 ð $ŸO™OÐ,BÀDÖIÙ+3ð ð 5ð —\‘\ (¨1¡+Ó.ˆFÜ" 8¨A¨D¨q¨D¡>°8¸A¸D¸q¸D±>ÖB‘��GØŸ,™, wÓ/�Ø—X‘X“Z�Ø˜“9Ø˜gÑ%’Fà ›9Ð$˜9Ø˜gÑ%’Fñ  Cð ˆMð �<‰<˜
×#Ñ#Ü—x‘x¤b§f¡fÑ-¨a°©dÑ3ˆBØ—l‘l¡7¨1¨Q¨R¨5£>Ó2ˆGÜ˜˜GÓ$Ð$ð �=‰=¤§
¡
Ò*¨t°q«yÜœH¡W¨Q¯W©W°T«]Ó%;Ó<Ó=ˆHØ—\‘\ (¨1¡+Ó.ˆFØ# A B›<�ØŸ,™, wÓ/�Ø  FÑ*’ñ (ð ˆMô �HŠHÐ5×<Ñ<ØØ%ð =ð 'à()ó+ˆö ØŸX™X›Z‰NˆE�1�dÞ˜Ÿ™Ÿ™Ü˜4“y�Üœc %›j¨$¯)°!Ó4Ð4ô �HŠHÐOß‘fØ%8Ø"3Ø2ð ð 4ð 67ó	8ˆö
 Ø !§¡£
ÑˆE�1�a˜Þ˜Ÿ™Ÿ™Ü˜4“y�Ø—K‘K“MˆEØ�e‹|Üœu U§]¡]°3¸Ó%<Ó=¸t¿yÀqÓIÐIÜœ5 ›<¨¯°Ó3Ð3ð �—‘ÓØ�\�a—f‘f˜S“k�?ˆDÜ˜TŸ_™_¨QÑ/°·¸Ó;Ð;ð �ÓÜ)¨!Ó,ˆEØ—L‘L¡¨¸Ñ);Ó!<Ø+0°GÓ+;¡ÀóIˆEà˜ÓÜ˜e¤T×*Ñ*Ø �LØÐ.Ó.ä˜e¤T×*Ñ*Ø"˜H�EÜ “Ð&ô �HŠHÐLØóˆæØ"#§(¡(£*ÑˆF�D˜%Ø—\‘\¡'¨&£/Ó2ˆFØ—<‘<¡¨£¨a°Ð 3°VÓ<ˆDÜ˜d¤E×*Ñ*Ø�u�Ø˜ÓÙ37ó 7²4¨aÜ!+¨A¬u×!5ó *˜!Ÿ&™& !§'¡'š/±4�ð 7äÑI©ÓIÓI�ä Ð8¨Ò8°Ñ8Ð8ð  Ó(Ð(Ð(Ø˜d‘|Ð#ô �HŠHÐ&¨Ó*ˆÞÜ˜Q“<Ðð × Ñ ¡¨£Ó,ˆÜØ# A¡5Ð(=¸d¿m¹m¸_ÈAÐNô	Pä˜‹|ÐùòQ5ùòh7s   Ñd<á,eâ	e)rP   r  r  Nrµ  )r   r   r   r   r   r   r¢   r  rŽ   r  r   r   r   r   r  r    s   † à (§
¡
ô !ò
1ò&÷
Hr   r  )r7   )r	   )r   ):r   Ú__all__rY  r†   Úenumr   Úmathr   r   r   r4   rZ   Ú	Exceptionre   rj   r™   r“  r›   r  r€   ÚUserWarningr‚   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   rQ   r  r  r   r   r   Ú<module>r5     sf  ðñð4 ˆ(€ó 
Û Ý Ý ô
ˆtô 
ôˆô ô*5ˆDô 5ô<
ˆdô 
ô	ˆiô 	ô�ô ð& �€Ø�Uˆ|€ò
ô	�+ô 	ò6÷v	ñ v	òrFòRò  ô
Gô?ô<ô(òô<ò>ò2òò ò8ò8ò8ò8ò8ò8ò?ò?ò*Cò**DòZñ ‹*€òò:ò*òZò
ð $Ÿ:™:ô 	K÷Cñ C÷&Wò Wr   