
    hb                         S SK JrJr  \(       a  SSKJr  SSKJrJrJr  SSK	J
r
  SSKJr  / SQrSrS	rS
SS\\   SSS\4S jrSSS\\   SSS\4S jrSSS\S\4S jrSSS\S\4S jrSS jrSS jrSS jrg)    )TYPE_CHECKINGMatch   )BlockParser)BaseRenderer
BlockStateInlineState)InlineParser)Markdown)mathmath_in_quotemath_in_listz7^ {0,3}\$\$[ \t]*\n(?P<math_text>[\s\S]+?)\n\$\$[ \t]*$z"\$(?!\s)(?P<math_text>.+?)(?!\s)\$blockr   mstater   returnc                 r    UR                  S5      nUR                  SUS.5        UR                  5       S-   $ )N	math_text
block_mathtyperaw   groupappend_tokenend)r   r   r   texts       gC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\mistune/plugins/math.pyparse_block_mathr       s3    77;D	T:;557Q;    inliner
   r	   c                 l    UR                  S5      nUR                  SUS.5        UR                  5       $ )Nr   inline_mathr   r   )r"   r   r   r   s       r   parse_inline_mathr%      s.    77;D	d;<557Nr!   rendererr   r   c                     SU-   S-   $ )Nz<div class="math">$$
z

$$</div>
 r&   r   s     r   render_block_mathr*      s    #d*^;;r!   c                     SU-   S-   $ )Nz<span class="math">\(z	\)</span>r(   r)   s     r   render_inline_mathr,      s    #d*\99r!   Nc                 n   U R                   R                  S[        [        SS9  U R                  R                  S[
        [        SS9  U R                  (       a\  U R                  R                  S:X  aA  U R                  R                  S[        5        U R                  R                  S[        5        ggg)a  A mistune plugin to support math. The syntax is used
by many markdown extensions:

.. code-block:: text

    Block math is surrounded by $$:

    $$
    f(a)=f(b)
    $$

    Inline math is surrounded by `$`, such as $f(a)=f(b)$

:param md: Markdown instance
r   listbeforer$   linkhtmlN)r   registerBLOCK_MATH_PATTERNr    r"   INLINE_MATH_PATTERNr%   r&   NAMEr*   r,   mds    r   r   r   #   s      HHl$68HQWXII}&9;LU[\	{{r{{''61
\+<=
],>? 2{r!   c                 b    U R                   R                  U R                   R                  SSS9  g)z(Enable block math plugin in block quote.r   r.   r/   N)r   insert_ruleblock_quote_rulesr7   s    r   r   r   :   s%    HH33\&Qr!   c                 b    U R                   R                  U R                   R                  SSS9  g)z!Enable block math plugin in list.r   r.   r/   N)r   r:   
list_rulesr7   s    r   r   r   ?   s%    HH,,l6Jr!   )r8   r   r   N)typingr   r   block_parserr   corer   r   r	   inline_parserr
   markdownr   __all__r4   r5   strintr    r%   r*   r,   r   r   r   r(   r!   r   <module>rF      s    '*<<,#
3O ; M eCj  RU n s M VY < <c <c <: :s :s :@.R
Kr!   