
    ^h                     $   S SK r S SKrS SKJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJr  \R$                  S:  a  S SKJr  OS SKJr  \ R*                  " S5      r " S S5      r " S S	5      r\" S
\\5      r " S S\\   5      r " S S\5      rg)    N)AnyCallableClassVarDictGenericIterableListMatchMutableMappingOptionalPatternTypeTypeVarUnioncast)      )Selfz\n|$c                   T   \ rS rSr% Sr\\S'   \\\\	4      \S'   \
\S'   \
\S'   \\S'   \	\S'   \\\	4   \S	'   SS\\	   SS
4S jjrS\SS 4S jrS\SS
4S jrS\
4S jrS\
S\4S jrS\	4S jrS\\\	4   SS
4S jrS\\\	4   SS
4S jrS\SS
4S jrS\\
   4S jrS\
4S jrSrg
)
BlockState   z3The state to save block parser's cursor and tokens.srctokenscursor
cursor_max
list_tightparentenvNreturnc                     SU l         / U l        SU l        SU l        SU l        Xl        U(       a  UR                  U l        g S0 0U l        g )N r   T	ref_links)r   r   r   r   r   r   r   )selfr   s     F/home/james-whalen/.local/lib/python3.13/site-packages/mistune/core.py__init__BlockState.__init__(   sJ       zzDH#R(DH    c                 J    U R                  U 5      nUR                  U5        U$ N)	__class__process)r#   r   childs      r$   child_stateBlockState.child_state:   s!    t$cr'   c                 0    Xl         [        U5      U l        g r)   )r   lenr   )r#   r   s     r$   r+   BlockState.process?   s    c(r'   c                     [         R                  U R                  U R                  5      nUc   eUR	                  5       $ r)   )	_LINE_ENDsearchr   r   end)r#   ms     r$   find_line_endBlockState.find_line_endC   s1    TXXt{{3}}uuwr'   end_posc                 4    U R                   U R                  U $ r)   )r   r   )r#   r9   s     r$   get_textBlockState.get_textH   s    xxg..r'   c                 D    U R                   (       a  U R                   S   $ g )N)r   r#   s    r$   
last_tokenBlockState.last_tokenK   s    ;;;;r?" r'   tokenc                 h    U R                   R                  [        U R                   5      S-
  U5        gz#Insert token before the last token.   Nr   insertr0   r#   rB   s     r$   prepend_tokenBlockState.prepend_tokenO   $    3t{{+a/7r'   c                 :    U R                   R                  U5        gz#Add token to the end of token list.Nr   appendrH   s     r$   append_tokenBlockState.append_tokenS       5!r'   textc                     U R                  5       nU(       a  US   S:X  a  US==   U-  ss'   g U R                  R                  SUS.5        g )Ntype	paragraphrS   )rU   rS   )r@   r   rO   )r#   rS   r@   s      r$   add_paragraphBlockState.add_paragraphW   sD    __&
*V,;v$&KKTBCr'   c                     U R                  5       nU(       a7  US   S:X  a.  U R                  5       nUS==   U R                  U5      -  ss'   U$ g )NrU   rV   rS   )r@   r7   r;   )r#   r@   poss      r$   append_paragraphBlockState.append_paragraph^   sL    __&
*V,;$$&Cv$--"44Jr'   c                 d    SnU R                   nU(       a  US-  nUR                   nU(       a  M  U$ )Nr   rE   )r   )r#   dr   s      r$   depthBlockState.depthf   s3    FA]]F f r'   )r   r   r   r   r   r   r   r)   )__name__
__module____qualname____firstlineno____doc__str__annotations__r	   r   r   intboolr   r   r%   r-   r+   r7   r;   r@   rI   rP   rW   r[   r_   __static_attributes__ r'   r$   r   r      s   =	Hc3h  KOK	S	!!)x} ) )$s | 
#3 #4 #s 
/ / /#C #84S> 8d 8"$sCx. "T "D# D$ D(3- s r'   r   c                   r    \ rS rSrSrS\\\4   4S jrS\	\\4   SS4S jr
S\	\\4   SS4S	 jrSS
 jrSrg)InlineStateo   z)The state to save inline parser's tokens.r   c                 d    Xl         SU l        / U l        SU l        SU l        SU l        SU l        g )Nr!   F)r   r   r   in_imagein_linkin_emphasis	in_strong)r#   r   s     r$   r%   InlineState.__init__r   s2    ,. r'   rB   r   Nc                 h    U R                   R                  [        U R                   5      S-
  U5        grD   rF   rH   s     r$   rI   InlineState.prepend_token{   rK   r'   c                 :    U R                   R                  U5        grM   rN   rH   s     r$   rP   InlineState.append_token   rR   r'   c                     U R                  U R                  5      nU R                  Ul        U R                  Ul        U R                  Ul        U R
                  Ul        U$ )zCreate a copy of current state.)r*   r   rp   rq   rr   rs   )r#   states     r$   copyInlineState.copy   sH    txx( ,,..r'   )r   rr   rp   rq   rs   r   r   )r   rm   )ra   rb   rc   rd   re   r   rf   r   r%   r   rI   rP   r{   rj   rk   r'   r$   rm   rm   o   sU    3N384 84S> 8d 8"$sCx. "T "r'   rm   STc                   r   \ rS rSr% \R
                  rS\S'   \\	   \S'   0 r
\\\\4      \S'   / r\\\      \S'   SS	 jrSS
\\\      S\\   4S jjr SS\S\\S4   S\\\\   \	/\\   4   S\\   SS4
S jjrS\S\S\SS4S jr\SS
\\   S\S\\   SS4S jj5       rS\\   S\	S\\   4S jrSr g)Parser   zre._FlagsTypesc_flag	state_clsSPECIFICATIONDEFAULT_RULESr   Nc                     U R                   R                  5       U l        [        U R                  5      U l        0 U l        0 U l        g r)   )r   r{   specificationlistr   rules_methods_Parser__scr?   s    r$   r%   Parser.__init__   s@    !//446$,,-
  	
 .0	r'   r   c                 ,  ^  Uc  SnT R                   nOSR                  U5      nT R                  R                  U5      nU(       a  U$ SR                  U 4S jU 5       5      n[        R
                  " UT R                  5      nUT R                  U'   U$ )N$|c              3   T   >#    U  H  nS U< STR                   U   < S3v   M     g7f)z(?P<>)N)r   ).0kr#   s     r$   	<genexpr>$Parser.compile_sc.<locals>.<genexpr>   s!     SU!T-?-?-BCUs   %()r   joinr   getrecompiler   )r#   r   keyscregexs   `    r$   
compile_scParser.compile_sc   sw    =CJJE((5/CYY]]3ISUSSZZt||,		#	r'   namepatternfuncbeforec                    ^ ^ UU 4S jT R                   U'   U(       a  UT R                  U'   UT R                  ;  a  T R                  T R                  XS9  gg)a  Register a new rule to parse the token. This method is usually used to
create a new plugin.

:param name: name of the new grammar
:param pattern: regex pattern in string
:param func: the parsing function
:param before: insert this rule before a built-in rule
c                    > T" TX5      $ r)   rk   )r6   rz   r   r#   s     r$   <lambda>!Parser.register.<locals>.<lambda>   s    tD!/Cr'   )r   N)r   r   r   insert_rule)r#   r   r   r   r   s   `  ` r$   registerParser.register   sO     Dd'.Dt$tzz!TZZ= "r'   c                     [        S5      e)Nz.This plugin is not compatible with mistune v3.)DeprecationWarning)r#   r   r   r   s       r$   register_ruleParser.register_rule   s     !QRRr'   c                     U(       a$   U R                  U5      nU R                  X15        g U R                  U5        g ! [         a    U R                  U5         g f = fr)   )indexrG   
ValueErrorrO   )r   r   r   r   s       r$   r   Parser.insert_rule   sO    #F+U) LL  #T"#s   "> AAr6   rz   c                 Z    UR                   nU(       d   eU R                  U   nU" X5      $ r)   )	lastgroupr   )r#   r6   rz   r   r   s        r$   parse_methodParser.parse_method   s+    KK	y}}Y'A~r'   )__scr   r   r   r   Nr)   )!ra   rb   rc   rd   r   Mr   rg   r   r}   r   r   r   rf   r   r   r%   r   r	   r   r   r   r   r   r
   rh   r   r   r   staticmethodr   r   rj   rk   r'   r$   r   r      sJ   !ttG_#Bx.0M8DcN+0-/M8HSM*/0c 3 ws| * !%>> sDy!> eCj"-x}<=	>
 > 
>*S# S S3 S4 S 49 C # RV  eCj   r'   r   c                      \ rS rSr% Sr\\   \S'   SS jrS\S\	S	\4   SS4S
 jr
S\S\	S	\4   4S jrS\\\4   S\S\4S jrS\\\\4      S\S\\   4S jrS\\\\4      S\S\4S jrS\\\\4      S\S\4S jrSrg)BaseRenderer   baseNAMEr   Nc                     0 U l         g r)   _BaseRenderer__methodsr?   s    r$   r%   BaseRenderer.__init__   s	    8:r'   r   method.c                 0   ^ ^ UU 4S jT R                   U'   g)zRegister a render method for the named token. For example::

def render_wiki(renderer, key, title):
    return f'<a href="/wiki/{key}">{title}</a>'

renderer.register('wiki', render_wiki)
c                     > T" T/U Q70 UD6$ r)   rk   )argkwargsr   r#   s     r$   r   'BaseRenderer.register.<locals>.<lambda>   s    fT6RC6R66Rr'   Nr   r#   r   r   s   ` `r$   r   BaseRenderer.register   s      Str'   c                      [        [        S[        4   [        R	                  X5      5      $ ! [
         aA    U R                  R                  U5      nU(       d  [        SR                  U5      5      eUs $ f = f)N.zNo renderer "{!r}")	r   r   rf   object__getattribute__AttributeErrorr   r   formatr   s      r$   _get_methodBaseRenderer._get_method   sj    	c*F,C,CD,OPP 	^^''-F$%9%@%@%FGGM		s   +. AA98A9rB   rz   c                 :    U R                  US   5      nU" X5      $ )NrU   )r   )r#   rB   rz   r   s       r$   render_tokenBaseRenderer.render_token   s!    f.E!!r'   r   c              #   D   #    U H  nU R                  X25      v   M     g 7fr)   )r   )r#   r   rz   toks       r$   iter_tokensBaseRenderer.iter_tokens   s      C##C// s    c                 B    SR                  U R                  X5      5      $ )Nr!   )r   r   r#   r   rz   s      r$   render_tokensBaseRenderer.render_tokens   s    wwt''677r'   c                 $    U R                  X5      $ r)   )r   r   s      r$   __call__BaseRenderer.__call__   s    !!&00r'   )	__methodsr   )ra   rb   rc   rd   r   r   rf   rg   r%   r   r   r   r   r   r   r   r   r   r   r   rj   rk   r'   r$   r   r      s     D(3- ;	SS 	S(38*< 	S 	S c(: "$sCx. " " "0(4S>": 0: 0RZ[^R_ 08HT#s(^$< 8Z 8TW 81xS#X7 1
 1s 1r'   r   )r   systypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   version_infor   typing_extensionsr   r3   r   rm   r}   r   r   r   rk   r'   r$   <module>r      s    	 
    $ w&JJw	O Od < T;
+HWR[ HV&16 &1r'   