
    Mh              	          d dl Z d dlmZmZmZmZmZmZ ddlm	Z	 erddl
mZ ddlmZmZ ddlmZ dgZd	Z e j        ee j                  Z e j        d
e j                  Z e j        de j                  Z e j        d          Zdddee         dddefdZdddee         deeeef                  fdZdddededee         fdZdddedefdZdddedefdZ dddedefdZ!d dZ"dS )!    N)TYPE_CHECKINGAnyDictIterableListMatch   )	strip_end)BlockParser)BaseRenderer
BlockState)Markdowndef_listzp^(?P<def_list_head>(?:[^\n]+\n)+?)\n?(?:\:[ \t]+.*\n(?:[^\n]+\n)*(?:(?:[ \t]*\n)*[ \t]+[^\n]+\n)*(?:[ \t]*\n)*)+z^:[ \t]+z^ {0,4}z\n[ \t]*\n$blockr   mstater   returnc                    |                                 }t          t          | |                    }t                              |j        |          }|rf|                    t          t          | |                               |                                 }t                              |j        |          }|f|                    d|d           |S )Nr   typechildren)endlist_parse_def_itemDEF_REmatchsrcextendappend_token)r   r   r   posr   m2s         X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mistune/plugins/def_list.pyparse_def_listr#      s    
%%''COE1--..H	ei	%	%B
 *_UB7788999ffhh\\%)S))  *
 
 	
 	
   J    c              #     K   |                     d          }|                                D ]	}d|dV  
|                     d          }t          |          }t                              ||          }|J |                                }|||         dk    }|rt                              ||dz             }|snv|                                }|||                             ddd          }	t          | |	|          }
t          t                              |	                    }d|
d	V  |}|||d                              ddd          }	t          | |	|          }
d|
d	V  d S )
Ndef_list_head)r   textr   
   : def_list_itemr   )
group
splitlineslenDD_START_REsearchstartreplace_process_textboolHAS_BLANK_LINE_RE)r   r   headliner   r   r!   r2   prev_blank_liner'   r   s              r"   r   r   1   s     77?##D!! 
 
#
 
 	
 	
 	
 	

 ''!**C
d))C			C	%	%B>>>HHJJE#e)n,O
 UQY// 	hhjj59~%%c322 o>>077==>># 
 
 	
 	
 	
    uvv;sC++DUD/::H      r$   r'   loosec                 P   t                               d|          }|                                 }|                    t	          |                     |                     || j                   |j        }|s0t          |          dk    r|d         d         dk    rd|d         d<   |S )N r)   r   r   	paragraph
block_text)	TRIM_REsub	state_clsprocessr
   parse
list_rulestokensr/   )r   r'   r:   r   rE   s        r"   r4   r4   W   s    ;;r4  DOOE	MM)D//"""	KKu'(((\F )S[[A%%&)F*;{*J*J(q	&Mr$   rendererr   c                     d|z   dz   S )Nz<dl>
z</dl>
 rF   r'   s     r"   render_def_listrJ   c   s    d?Y&&r$   c                     d|z   dz   S )Nz<dt>z</dt>
rH   rI   s     r"   render_def_list_headrL   g       D=9$$r$   c                     d|z   dz   S )Nz<dd>z</dd>
rH   rI   s     r"   render_def_list_itemrO   k   rM   r$   mdr   c                 L   | j                             dt          t          d           | j        rr| j        j        dk    rd| j                            dt                     | j                            dt                     | j                            dt                     dS dS dS )a  A mistune plugin to support def list, spec defined at
    https://michelf.ca/projects/php-markdown/extra/#def-list

    Here is an example:

    .. code-block:: text

        Apple
        :   Pomaceous fruit of plants of the genus Malus in
            the family Rosaceae.

        Orange
        :   The fruit of an evergreen tree of the genus Citrus.

    It will be converted into HTML:

    .. code-block:: html

        <dl>
        <dt>Apple</dt>
        <dd>Pomaceous fruit of plants of the genus Malus in
        the family Rosaceae.</dd>

        <dt>Orange</dt>
        <dd>The fruit of an evergreen tree of the genus Citrus.</dd>
        </dl>

    :param md: Markdown instance
    r   r=   )beforehtmlr&   r,   N)	r   registerDEF_PATTERNr#   rF   NAMErJ   rL   rO   )rP   s    r"   r   r   o   s    < Hj+~kRRR	{ Dr{'611
Z999
_.BCCC
_.BCCCCCD D11r$   )rP   r   r   N)#retypingr   r   r   r   r   r   utilr
   block_parserr   corer   r   markdownr   __all__rU   compileMr   r0   r?   r6   strintr#   r   r5   r4   rJ   rL   rO   r   rH   r$   r"   <module>rb      s;   				 B B B B B B B B B B B B B B B B       $******////////######,

  
K	&	&bjbd++
"*Z
&
&BJ~.. - E#J | PS    &#= #U3Z #HT#s(^<T # # # #L	 	c 	$ 	49 	 	 	 	'n 'C 'C ' ' ' '%> % % % % % %%> % % % % % %"D "D "D "D "D "Dr$   