HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/docutils/utils/math/__pycache__/latex2mathml.cpython-36.opt-1.pyc
3

{2�e�C�5@s8dZddljjjZddddddd	d
ddd
ddd�
Zdddddddddddd�ZejZej	Z
e
jej�e
jej
�e
jej�e
jej�e
jej�e
jej�djdd�d�D��Zd$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIg&ZdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdd�Zdedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d��4Zd�d�d�d��ZGd�d��d��ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�ZGd�d��d�e�Z Gd�d��d�e�Z!Gd�d��d�e�Z"Gd�d��d�e�Z#Gd�d��d�e�Z$Gd�d��d�e�Z%Gd�d��d�e�Z&Gd�d��d�e�Z'Gd�d��d�e�Z(Gd�dÄd�e�Z)Gd�dńd�e�Z*Gd�dDŽd�e�Z+Gd�dɄd�e�Z,d�d�d̄Z-d�d΄Z.d�d�dЄZ/dS)�z2Convert LaTex math code into presentational MathML�N�´�¯u˘uˇu˙�¨u⃛�`�^u˚u⃡u˜u⃗)
ZacuteZbarZbreveZcheck�dotZddotZdddotZgraveZhatZmathringZoverleftrightarrow�tildeZvecuΦuΞuΣuΨuΔuΘuϒuΠuΩuΓuΛ)ZPhiZXiZSigmaZPsiZDeltaZThetaZUpsilonZPiZOmegaZGammaZLambda�cCsg|]}t|�qS�)�special)�.0Zsymbolr
r
�"/usr/lib/python3.6/latex2mathml.py�
<listcomp>7sr�sum�int�oint�prodZarccosZarcsinZarctan�argZcosZcoshZcotZcothZcscZdegZdetZdimZexpZgcdZhom�infZkerZlgZlimZliminfZlimsup�ln�log�max�minZPrZsecZsinZsinh�supZtanZtanhZinjlimZ	varinjlimZ	varlimsupZprojlimZ	varliminfZ
varprojlimu𝔸u𝔹uℂu𝔻u𝔼u𝔽u𝔾uℍu𝕀u𝕁u𝕂u𝕃u𝕄uℕu𝕆uℙuℚuℝu𝕊u𝕋u𝕌u𝕍u𝕎u𝕏u𝕐uℤ)�A�B�C�D�E�F�G�H�I�J�K�L�M�N�O�P�Q�R�S�T�U�V�W�X�Y�Zu𝒜uℬu𝒞u𝒟uℰuℱu𝒢uℋuℐu𝒥u𝒦uℒuℳu𝒩u𝒪u𝒫u𝒬uℛu𝒮u𝒯u𝒰u𝒱u𝒲u𝒳u𝒴u𝒵u𝒶u𝒷u𝒸u𝒹uℯu𝒻uℊu𝒽u𝒾u𝒿u𝓀u𝓁u𝓂u𝓃uℴu𝓅u𝓆u𝓇u𝓈u𝓉u𝓊u𝓋u𝓌u𝓍u𝓎u𝓏)4rrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3�a�b�c�d�e�f�g�h�i�j�k�l�m�n�o�p�q�r�s�t�u�v�w�x�y�zu≠u∉u≢)�=z\inz\equivc@sfeZdZdZdZddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�mathzBase class for MathML elements.i@BNcCsPg|_|dk	r>t|�tkr4x"|D]}|j|�q Wn
|j|�|dk	rL||_dS)z\math([children]) -> MathML element

        children can be one child or a list of children.N)�children�type�list�append�inline)�selfrPrT�childr
r
r
�__init__�s

z
math.__init__cCs8t|d�r,|jjddjdd�|jD��S|jjSdS)NrPz(%s)�,cSsg|]}t|��qSr
)�repr)rrVr
r
r
r�sz!math.__repr__.<locals>.<listcomp>)�hasattr�	__class__�__name__�joinrP)rUr
r
r
�__repr__�s
z
math.__repr__cCst|j�|jkS)zRoom for more children?)�lenrP�	nchildren)rUr
r
r
�full�sz	math.fullcCs.|jj|�||_|}x|j�r(|j}qW|S)zvappend(child) -> element

        Appends child and returns self if self is not full or first
        non-full parent.)rPrS�parentra)rUrV�noder
r
r
rS�s

zmath.appendcCs|jd}|jd=|S)zAdelete_child() -> child

        Delete last child and return it.����re)rP)rUrVr
r
r
�delete_child�s
zmath.delete_childcCs|j}x|j�r|j}qW|S)zKclose() -> parent

        Close element and return first non-full element.)rbra)rUrbr
r
r
�close�s

z
math.closecCs|j�|j�|j�S)zxml() -> xml-string)�	xml_start�xml_body�xml_end)rUr
r
r
�xml�szmath.xmlcCs:t|d�sd|jjgSd}|jr,d|gSd|gSdS)NrTz<%s>z"http://www.w3.org/1998/Math/MathMLz<math xmlns="%s">z <math xmlns="%s" mode="display">)rZr[r\rT)rUZxmlnsr
r
r
rh�s

zmath.xml_startcCsd|jjgS)Nz</%s>)r[r\)rUr
r
r
rj�szmath.xml_endcCs&g}x|jD]}|j|j��qW|S)N)rP�extendrk)rUrkrVr
r
r
ri�sz
math.xml_body)NN)r\�
__module__�__qualname__�__doc__r`rWr^rarSrfrgrkrhrjrir
r
r
r
rO�s
	
	rOc@seZdZdd�ZdS)�mrowcCsd|jjgS)Nz
<%s>)r[r\)rUr
r
r
rh�szmrow.xml_startN)r\rmrnrhr
r
r
r
rp�srpc@seZdZdd�ZdS)�mtablecCsd|jjgS)Nz
<%s>)r[r\)rUr
r
r
rh�szmtable.xml_startN)r\rmrnrhr
r
r
r
rq�srqc@seZdZdS)�mtrN)r\rmrnr
r
r
r
rrsrrc@seZdZdS)�mtdN)r\rmrnr
r
r
r
rssrsc@s$eZdZdZdZdd�Zdd�ZdS)�mxzBase class for mo, mi, and mnrcCs
||_dS)N)�data)rUrur
r
r
rWszmx.__init__cCs|jgS)N)ru)rUr
r
r
ri
szmx.xml_bodyN)r\rmrnror`rWrir
r
r
r
rtsrtc@seZdZddd�Zdd�ZdS)�moz&lt;z&gt;)�<�>cCs|jj|j|j�gS)N)�translation�getru)rUr
r
r
riszmo.xml_bodyN)r\rmrnryrir
r
r
r
rv
s
rvc@seZdZdS)�miN)r\rmrnr
r
r
r
r{sr{c@seZdZdS)�mnN)r\rmrnr
r
r
r
r|sr|c@seZdZdZdS)�msub�N)r\rmrnr`r
r
r
r
r}sr}c@seZdZdZdS)�msupr~N)r\rmrnr`r
r
r
r
rsrc@seZdZdZdS)�msqrtrdN)r\rmrnr`r
r
r
r
r�sr�c@seZdZdZdS)�mrootr~N)r\rmrnr`r
r
r
r
r�sr�c@seZdZdZdS)�mfracr~N)r\rmrnr`r
r
r
r
r�!sr�c@s"eZdZdZddd�Zdd�ZdS)	�msubsup�NFcCs||_tj||�dS)N)�reversedrOrW)rUrPr�r
r
r
rW&szmsubsup.__init__cCs4|jr*|jd|jdg|jdd�<d|_tj|�S)Nr~rdr�F)r�rPrOrk)rUr
r
r
rk*szmsubsup.xml)NF)r\rmrnr`rWrkr
r
r
r
r�$s
r�c@s,eZdZdddddd�Zdd�Zd	d
�ZdS)�mfenced�{u〈�}u〉r	)z\{z\langlez\}z\rangle�.cCs||_tj|�dS)N)�openparrOrW)rU�parr
r
r
rW5szmfenced.__init__cCs2|jj|j|j�}|jj|j|j�}d||fgS)Nz<mfenced open="%s" close="%s">)ryrzr��closepar)rU�openrgr
r
r
rh9szmfenced.xml_startN)r\rmrnryrWrhr
r
r
r
r�1s
r�c@seZdZdZdS)�mspacerN)r\rmrnr`r
r
r
r
r�>sr�c@seZdZddd�Zdd�ZdS)�mstyleNcKs$|dk	r||_tj||�||_dS)N)r`rOrW�attrs)rUrPr`�kwargsr
r
r
rWBszmstyle.__init__cCs$dgdd�t|jj��D�dgS)Nz<mstyle cSsg|]}d|�qS)z%s="%s"r
)r�itemr
r
r
rIsz$mstyle.xml_start.<locals>.<listcomp>rx)rRr��items)rUr
r
r
rhHszmstyle.xml_start)NN)r\rmrnrWrhr
r
r
r
r�As
r�c@s"eZdZdZddd�Zdd�ZdS)	�moverr~NFcCs||_tj||�dS)N)r�rOrW)rUrPr�r
r
r
rWNszmover.__init__cCs |jr|jj�d|_tj|�S)NF)r�rP�reverserOrk)rUr
r
r
rkRs
z	mover.xml)NF)r\rmrnr`rWrkr
r
r
r
r�Ls
r�c@seZdZdZdS)�munderr~N)r\rmrnr`r
r
r
r
r�Xsr�c@seZdZdZddd�ZdS)�
munderoverr�NcCstj||�dS)N)rOrW)rUrPr
r
r
rW]szmunderover.__init__)N)r\rmrnr`rWr
r
r
r
r�[sr�c@s eZdZdZdd�Zdd�ZdS)�mtextrcCs
||_dS)N)�text)rUr�r
r
r
rWbszmtext.__init__cCs|jgS)N)r�)rUr
r
r
rieszmtext.xml_bodyN)r\rmrnr`rWrir
r
r
r
r�`sr�TcCsNdj|j��}|r&t�}t|dd�}nt�}ttt|��dd�}�xt|�dk�rHt|�}|d}d}|dkrx|d}nd}|dkr��n�|dk�r�|d	kr�|jt	|��}d
}n�|dkr�|jt
��}d
}n�|dkr�|jt
��}d
}n�|j��rDd
}x$||k�r||j��r|d7}q�W|d|�}	t|	|||d��\}}||7}nD|dk�rxt�}
t|
�}|j
�j
�j|�|
}d
}ntd
||f���n�|j��r�|jt|��}�n�|j��r�|jt|��}�nv|dk�r�|jt	|��}�nZ|dk�rH|j�}t|t��rt|jdd�}
n*t|t	��r0|jtk�r0t|�}
nt|�}
|j|
�|
}n�|dk�r�|j�}t|t��rrt|j�}nTt|t	��r�|jtk�r�t|�}n2t|t��r�|jdjtk�r�t|j�}nt|�}|j|�|}nd|dk�r�t�}|j|�|}nD|dk�r
|j
�}n0|dk�r.t�}
|j
�j|
�|
}ntd|��||d�}qDW|S)z�parse_latex_math(string [,inline]) -> MathML-tree

    Returns a MathML-tree parsed from string.  inline=True is for
    inline math and inline=False is for displayed math.

    tree is the whole tree and node is the current element.� T)rTFrrdr	�\z{}r~rXNzSyntax error: "%s%s"z+-*/=()[]|<>,.!?':;@�_)r�rr�r��&zIllegal character: "%s")r]�splitrprOrsrqrrr_rSrvr��isalpha�handle_keywordrg�SyntaxErrorr{�isdigitr|rf�
isinstancerr�rPru�
sumintprodr�r}r�r�)�stringrTrcZtreerAr6�skipZc2r<�name�entry�rowrV�subrr
r
r
�parse_latex_mathhs�	


















r�cCs�d}t|�dkr,|ddkr,|dd�}d}|dkrr|jd�sFtd��|d7}t�}tt|��}|j|�|}�n�|dkr�|jd�s�td	��|d7}|j�j�j�}�nN|d0k�r|ddkr�td
��|jd�}|d1kr�td
��|jt	|d|���}||d7}�n�|dk�r(t
�}|j|�|}�n�|dk�rJt�}|j|�|}�n�|dk�r�x$d2D]}	|j|	��rZP�qZWtd��t|	�}
|j|
�t
�}|
j|�|}|t|	�7}�nF|dk�rx$d3D]}	|j|	��r�P�q�Wtd��|j�}|	|_|j�}|t|	�7}�n�|dk�rXx$tD]}|j|��rP�qWtd ��|jtt|��}|t|�7}�n�|d!k�r�tdd"d#�}
|j|
�|
}�nv|d$k�r�|ddk�s�|dj��s�|d%dk�r�td&��|jtt|d��}|d'7}�n|d4k�r.|ddk�s|d%dk�rtd*��|jtt|d��}|d'7}n�|d+k�rH|jtd,��}n�|tk�rf|jtt|��}n�|tk�r�|jtt|��}nr|tk�r�|jtt|��}nT|tk�r�|jt|��}n:|tk�r�ttt|�d-d.�}|j|�|}ntd/|��||fS)5Nrr�rdZbeginz{matrix}z;Environment not supported! Supported environment: "matrix".��endzExpected "\end{matrix}"!r��mathrmr�zExpected "\text{...}"!r��sqrt�frac�left�(�[�|�\{�\langler�zMissing left-brace!�right�)�]�\}�\ranglezMissing right-brace!�notz)Expected something to negate: "\not ..."!ZmathbfZbold)r`Z
fontweight�mathbbr~z%Expected something like "\mathbb{A}"!r��mathscr�mathcalz&Expected something like "\mathscr{A}"!Zcolon�:T)r�zUnknown LaTeX command: )r�r�re)r�r�r�r�r�r�)r�r�r�r�r�r�)r�r�)r_�
startswithr�rsrqrrrSrg�findr�r�r�r�rpr��
negatablesrvr��isupperr{r�r��Greek�lettersr�	functions�overr�)r�rcr�r�r��tabler<r�r�r�Zfencedr��operatorZstyleZovrr
r
r
r��s�



















,








r�cCst||d�}dj|j��S)z�Return string with MathML code corresponding to `tex_math`. 
    
    `inline`=True is for inline math and `inline`=False for displayed math.
    )rTr	)r�r]rk)Ztex_mathrTZmathml_treer
r
r
�
tex2mathml1sr�)rrrr)T)T)0roZdocutils.utils.math.tex2unicharZutilsrOZtex2unicharr�r�Z	mathalphar�Zmathbinr�updateZmathrelZmathordZmathopZmathopenZ	mathcloseZ	mathfencer]r�r�r�r�r�rprqrrrsrtrvr{r|r}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r
r
r
r
�<module>s



[



ed