
    F j                        S SK Jr  S SKJr  S SKJrJrJrJr  SSK	J
r
JrJr  SSKJr  SSKJr  SSKJr  \(       a  S S	KJr  \" S
S9 " S S5      5       r " S S\5      r " S S\5      rg)    )annotations)	dataclass)TYPE_CHECKINGAnyLiteral
NamedTuple   )isMdAsciiPunctisPunctCharisWhiteSpace)	StateBase)Token)EnvType)
MarkdownItT)slotsc                  `    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S\S'   S\S	'   S
rS\S'   Srg
)	Delimiter   intmarkerlengthtokenendboolopencloseNzbool | Nonelevel )__name__
__module____qualname____firstlineno____annotations__r   __static_attributes__r       v/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/markdown_it/rules_inline/state_inline.pyr   r      s4     K K J 
H JKE;r%   r   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	Scanned&   r   can_open	can_closer   r   r   N)r   r    r!   r"   r#   r$   r   r%   r&   r(   r(   &   s    NOKr%   r(   c                  Z    \ rS rSr          S	S jrS
S jrSS jrSS jrSS jrSr	g)StateInline,   c                   Xl         X0l        X l        X@l        S /[	        U5      -  U l        SU l        [	        U R                   5      U l        SU l        SU l	        SU l
        0 U l        / U l        / U l        0 U l        SU l        SU l        g )Nr    F)srcenvmdtokenslentokens_metaposposMaxr   pendingpendingLevelcache
delimiters_prev_delimiters	backticksbackticksScanned	linkLevel)selfr1   r3   r2   	outTokenss        r&   __init__StateInline.__init__-   s     9=Y8O$((m
 &(
 ,. 8: *, % r%   c           	         U R                   R                   SU R                   SU R                   S[	        U R
                  5       S3$ )Nz(pos=[z of z	], token=))	__class__r   r7   r8   r5   r4   )rA   s    r&   __repr__StateInline.__repr__N   sD    ~~&&'TXXJd4;;-yT[[9I8J!M	
r%   c                    [        SSS5      nU R                  Ul        U R                  Ul        U R
                  R                  U5        SU l        U$ )Ntextr0   r   )r   r9   contentr:   r   r4   append)rA   r   s     r&   pushPendingStateInline.pushPendingT   sF    fb!$''5!r%   c                2   U R                   (       a  U R                  5         [        XU5      nSnUS:  a4  U =R                  S-  sl        U R                  R                  5       U l        U R                  Ul        US:  aO  U =R                  S-  sl        U R                  R                  U R                  5        / U l        SU R                  0nU R                  U l        U R                  R                  U5        U R                  R                  U5        U$ )zLPush new token to "stream".
If pending text exists - flush it as text token
Nr      r<   )r9   rN   r   r   r=   popr<   rM   r:   r4   r6   )rA   ttypetagnestingr   
token_metas         r&   pushStateInline.push\   s     <<e'*
Q;JJ!OJ"33779DOjjQ;JJ!OJ!!((9 DO&8J JJ5!
+r%   c                8   UnU R                   nU R                  U   nUS:  a  U R                  US-
     OSnX4:  a2  U R                  U   U:X  a  US-  nX4:  a  U R                  U   U:X  a  M  X1-
  nX4:  a  U R                  U   OSn[        [        U5      5      =(       d    [	        U5      n	[        [        U5      5      =(       d    [	        U5      n
[        [        U5      5      n[        [        U5      5      nU=(       d    U
=(       a    U=(       d    U	(       + (       + nU=(       d    U	=(       a    U=(       d    U
(       + (       + nU=(       a    U=(       d    U(       + =(       d    U	nU=(       a    U=(       d    U(       + =(       d    U
n[        UUU5      $ )a  
Scan a sequence of emphasis-like markers, and determine whether
it can start an emphasis sequence or end an emphasis sequence.

 - start - position to scan from (it should point at a valid marker);
 - canSplitWord - determine if these markers can be found inside a word

r   rQ    )r8   r1   r
   ordr   r   r(   )rA   startcanSplitWordr7   maximumr   lastCharcountnextCharisLastPunctCharisNextPunctCharisLastWhiteSpaceisNextWhiteSpaceleft_flankingright_flankingr*   r+   s                    r&   
scanDelimsStateInline.scanDelimsy   so    ++% +0!)488EAI&m 71HC m 7  %(M488C=s(X7P;x;P(X7P;x;P'H6'H6  OM)9)L_$M

  OM)9)L_$M

 ! 
C/CO 	 # 
B.B? 	 xE22r%   )r=   r>   r?   r;   r<   r2   r   r@   r3   r9   r:   r7   r8   r1   r4   r6   N)
r1   strr3   r   r2   r   rB   zlist[Token]returnNone)rk   rj   )rk   r   )rS   rj   rT   rj   rU   zLiteral[-1, 0, 1]rk   r   )r\   r   r]   r   rk   r(   )
r   r    r!   r"   rC   rH   rN   rW   rh   r$   r   r%   r&   r-   r-   ,   sD    &-4AL	B
:.3r%   r-   N)
__future__r   dataclassesr   typingr   r   r   r   common.utilsr
   r   r   rulerr   r   r   utilsr   markdown_itr   r   r(   r-   r   r%   r&   <module>rt      s^    " ! : : D D   &   ,j {3) {3r%   