
    c"                     H    d dl mZ d dlmZ d dlmZ d dlmZ defdZd Z	dS )	    )floor)
MarkdownIt)
charCodeAt)
StateBlockmdc                 n    t                      }| j        j                            dd|dg di           dS )a	  Plugin ported from
    `markdown-it-front-matter <https://github.com/ParkSB/markdown-it-front-matter>`__.

    It parses initial metadata, stored between opening/closing dashes:

    .. code-block:: md

        ---
        valid-front-matter: true
        ---

    tablefront_matteralt)	paragraph	reference
blockquotelistN)make_front_matter_ruleblockrulerbefore)r   frontMatters     Blib/python3.11/site-packages/mdit_py_plugins/front_matter/index.pyfront_matter_pluginr   	   sM     )**KHN	@@@A	        c                      ddt          d          t                    dt          dt          dt          dt          ffd} | S )	N   -r   state	startLineendLinesilentc                    d}| j         |         | j        |         z   }| j        |         }t          | j                  }|dk    s| j        d         k    rdS |dz   }||k    r5||k     r/||z
  z           | j        |         k    rn|dz  }||k    r||k     /t          ||z
  z            }	|	k     rdS |||z
  z  z  }|rdS |}
	 |
dz  }
|
|k    rdS | j        ||         dk    rn| j         |
         | j        |
         z   }| j        |
         }||k     r| j        |
         | j        k     rn| j        |         k    ry| j        |
         | j        z
  dk    r|dz   }||k     r)||z
  z           | j        |         k    rn|dz  }||k     )t          ||z
  z            |	k     r|||z
  z  z  }| 	                    |          }||k     r	d}	 | j
        }| j        }d| _
        |
| _        |                     dd	d          }d|_        z  |_        | j        | j         |dz            | j        |
dz
                    |_        d|_        || _
        || _        |
|rdndz   | _        || j        g|_        dS )
NFr      Tz...   	containerr
    )bMarkstShifteMarkslensrcsrcCharCoder   sCount	blkIndent
skipSpaces
parentTypelineMaxpushhiddenmarkupcontentr   linemap)r   r   r   r   auto_closedstartmaximumsrc_lenposmarker_countnextLine
old_parentold_line_maxtokenmarker_char
marker_len
marker_strmin_markerss                 r   r   z+make_front_matter_rule.<locals>.frontMatter%   s>   Y'%,y*AA,y)ei.. > 	[E,=a,@@ 	5 aiWn 	w 	3;*453G 1HC Wn 	w 	
 cEkZ788+% 	5ez))  	4 ,	MH7" uyw'50 L*U\(-CCEl8,Gw 5<#9EO#K  e/66 |H%71< !)C- sU{j89UYs^K q -  cEkZ/00<?  C%K:--C""3''CW}  K%
}& !

>2q11!K/	LQ'%,x!|*DD
 %$k!8q9

+	tr   )r   r'   r   intbool)r   r?   r@   rA   rB   s    @@@@r   r   r      s    KJZ++KZJc: c# c cT c c c c c c c c cJ r   N)
mathr   markdown_itr   markdown_it.common.utilsr   markdown_it.rules_blockr   r   r    r   r   <module>rJ      s          " " " " " " / / / / / / . . . . . .J    ,k k k k kr   