
    g:                    p    S SK Jr  S SK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	\5      rg
)    )annotations)TYPE_CHECKING   )isSpace)	StateBase)Token)
MarkdownItc                      \ rS rSr S       SS jjrS rSS jrSS jrSS jrSS jr	SS	 jr
SS
 jrSS jrSS jrSrg)
StateBlock   Nc                   Ub  Xl         XPl        OXl        X l        X0l        X@l        / U l        / U l        / U l        / U l	        / U l
        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l        SnS=n=n=p[)        U R                  5      n[+        U R                  5       H  u  pU(       d0  [-        U5      (       a  U	S-  n	US:X  a  U
SU
S-  -
  -  n
OU
S-  n
M:  S	nUS
:X  d
  XS-
  :X  d  ML  US
:w  a  US-  nU R                  R/                  U5        U R                  R/                  U5        U R                  R/                  U	5        U R                  R/                  U
5        U R                  R/                  S5        SnSn	Sn
US-   nM     U R                  R/                  U5        U R                  R/                  U5        U R                  R/                  S5        U R                  R/                  S5        U R                  R/                  S5        [)        U R                  5      S-
  U l        g )Nr   Froot    	      T
   )_srcsrcCharCodesrcmdenvtokensbMarkseMarkstShiftsCountbsCount	blkIndentlinelineMaxtightddIndent
listIndent
parentTypelevelresultlen	enumerater   append)selfr   r   r   r   r   indent_foundstartposindentoffsetlength	characters                Clib/python3.13/site-packages/markdown_it/rules_block/state_block.py__init__StateBlock.__init__   s    "I*H    	
 !
  ())))fTXX'(8(89NC9%%aKF D(!fqj.0!#'LD CA:$5$1HC""5)""3'""6*""6*##A&$a3 :8 	6"6"11A4;;'!+    c           	         U R                   R                   SU R                   SU R                   S[	        U R
                  5       S3$ )Nz(line=z,level=z,tokens=))	__class____name__r!   r'   r)   r   )r,   s    r4   __repr__StateBlock.__repr__v   sD    ~~&&'TYYKwtzzl(3t{{;K:LAO	
r7   c                    [        XU5      nSUl        US:  a  U =R                  S-  sl        U R                  Ul        US:  a  U =R                  S-  sl        U R                  R	                  U5        U$ )zPush new token to "stream".Tr   r   )r   blockr'   r   r+   )r,   ttypetagnestingtokens        r4   pushStateBlock.push|   s_    e'*Q;JJ!OJjjQ;JJ!OJ5!r7   c                `    U R                   U   U R                  U   -   U R                  U   :  $ ).)r   r   r   )r,   r!   s     r4   isEmptyStateBlock.isEmpty   s-    D!DKK$55$++d:KKKr7   c                    XR                   :  aK   U R                  U   U R                  U   -   U R                  U   :  a   U$  US-  nXR                   :  a  MK  U$ ! [         a     N$f = f)rG   r   )r"   r   r   r   
IndexError)r,   from_poss     r4   skipEmptyLinesStateBlock.skipEmptyLines   s    %KK)DKK,AAT[[F    MH %   s   0A 
A*)A*c                    U[        U R                  5      :  a@  [        U R                  U   5      (       d   U$ US-  nU[        U R                  5      :  a  M@  U$ )z Skip spaces from given position.r   )r)   r   r   r   )r,   r/   s     r4   
skipSpacesStateBlock.skipSpaces   sT    CM!4++C011
 1HC CM! 
r7   c                z    X::  a  U$ X:  a.  US-  n[        U R                  U   5      (       d  US-   $ X:  a  M.  U$ )z+Skip spaces from given position in reverse.r   )r   r   )r,   r/   minimums      r4   skipSpacesBackStateBlock.skipSpacesBack   sG    >Jm1HC4++C011Qw m 
r7   c                    U[        U R                  5      :  a6  U R                  U   U:w  a   U$ US-  nU[        U R                  5      :  a  M6  U$ )z$Skip char codes from given position.r   )r)   r   r   )r,   r/   codes      r4   	skipCharsStateBlock.skipChars   sQ    CM!$,
 1HC CM! 
r7   c                d    X::  a  U$ X:  a#  US-  nX R                   U   :w  a  US-   $ X:  a  M#  U$ )z0Skip char codes reverse from given position - 1.r   )r   )r,   r/   rW   rS   s       r4   skipCharsBackStateBlock.skipCharsBack   sB    >Jm1HC'',,Qw m 
r7   c                b   UnX:  a  gS/X!-
  -  nSnXR:  Ga  SnU R                   U   =pUS-   U:  d  U(       a  U R                  U   S-   nOU R                  U   nX:  ax  X:  as  U R                  U
   n[        U5      (       a'  US:X  a  USXR                  U   -   S-  -
  -  nO"US-  nOX-
  U R
                  U   :  a  US-  nOOU
S-  n
X:  a  X:  a  Ms  X:  a  SX-
  -  U R                  X -   XgS-
  '   OU R                  X XgS-
  '   US-  nUS-  nXR:  a  GM  SR                  U5      $ )zCut lines range from source.r   r   r   r   r    )r   r   r   r   r   r   r   join)r,   beginendr0   
keepLastLFr!   queuei
lineIndent	lineStartfirstlastchs                r4   getLinesStateBlock.getLines   s[   <$jJ $D 11Iax#~{{4(1,{{4(<j&9%%e,2;;Tz"a:T8J+Ja*O&OO
"a
&T)::!OJ
 <j&9 " !$z': ;txx?SS!e#xx3!eAIDFA; j> wwu~r7   )r   r   r    r   r$   r   r   r'   r!   r"   r%   r   r&   r(   r   r   r   r   r#   r   )N)r   strr   r	   r   zlist[Token]r   ztuple[int, ...] | None)r@   rl   rA   rl   rB   intreturnr   )r!   rm   rn   bool)rL   rm   rn   rm   )r/   rm   rn   rm   )r/   rm   rS   rm   rn   rm   )r/   rm   rW   rm   rn   rm   )r/   rm   rW   rm   rS   rm   rn   rm   )
r`   rm   ra   rm   r0   rm   rb   ro   rn   rl   )r;   
__module____qualname____firstlineno__r5   r<   rD   rH   rM   rP   rT   rX   r[   rj   __static_attributes__ r7   r4   r   r      sf     /3f,f, f,
 f, ,f,P

L(r7   r   N)
__future__r   typingr   common.utilsr   rulerr   rC   r   markdown_it.mainr	   r   rt   r7   r4   <module>rz      s(    "   "  +X Xr7   