o
    3Ih                     @   s6   d dl mZmZ ddlmZ dededefddZd	S )
   )
isStrSpacenormalizeReference   )StateInlinestatesilentreturnc                 C   sT  d}d}d }| j }| j}| j }d}| j| j  dkrdS | j d }	| jj| | j d}
|
dk r0dS |
d }||k r| j| dkrd}|d7 }||k r_| j| }t|sW|dkrWn|d7 }||k sI||kredS |}| jj| j|| j}|jr| j	|j
}| j|r|j }nd}|}||k r| j| }t|s|dkrn|d7 }||k s| jj| j|| j}||k r||kr|jr|j
}|j }||k r| j| }t|s|dkrn|d7 }||k s||ks| j| d	krd}|d7 }|rWd
| jvrdS ||k r$| j| dkr$|d }| jj| |}|dkr| j|| }|d7 }n	|
d }n|
d }|s2| j|	|
 }t|}|| jd
 v rE| jd
 | nd }|sO|| _ dS |d }|d }|s|	| _ |
| _| ddd}d|i|_|ru|d| |r| jjddr||jd< |  jd7  _| jj|  |  jd8  _| ddd}|| _ || _dS )N T[Fr       (
)
referenceshreftitle	link_openastore_labelslabel
link_close)posposMaxsrcmdhelpersparseLinkLabelr   parseLinkDestinationoknormalizeLinkstrvalidateLinkparseLinkTitleenvr   pushattrsattrSetoptionsgetmeta	linkLevelinlinetokenize)r   r   r   r   r   oldPosmaximumstartparseReference
labelStartlabelEndr   chresreftoken r8   ]/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/markdown_it/rules_inline/link.pylink   s   







 

r:   N)common.utilsr   r   state_inliner   boolr:   r8   r8   r8   r9   <module>   s   