
    ͆h                         S r SSKJr  SSKJrJr  SSKJr  SrSr	 " S S\5      r
 " S	 S
\5      r " S S\5      rS rg)a  
Bypass whitespace normalization.

pymdownx._bypassnorm

Strips `SOH` and `EOT` characters before whitespace normalization
allowing other extensions to then create preprocessors that stash HTML
with `SOH` and `EOT`  After whitespace normalization, all `SOH` and
`EOT` characters will be converted to the Python Markdown standard
`STX` and `ETX` convention since whitespace normalization usually
strips out the `STX` and `ETX` characters.

Copyright 2014 - 2018 Isaac Muse <isaacmuse@gmail.com>
    )	Extension)STXETX)Preprocessorc                       \ rS rSrSrS rSrg)PreNormalizePreprocessor   z*Preprocessor to remove workaround symbols.c                     SR                  U5      nUR                  [        S5      R                  [        S5      nUR	                  S5      $ )zSRemove workaround placeholder markers before adding actual workaround placeholders.
 )joinreplaceSOHEOTsplitselflinessources      L/opt/services/DDDS/venv/lib/python3.13/site-packages/pymdownx/_bypassnorm.pyrunPreNormalizePreprocessor.run   s>     5!R(00b9||D!!     N__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r
   r
      s
    4"r   r
   c                       \ rS rSrSrS rSrg)PostNormalizePreprocessor#   z3Preprocessor to clean up normalization bypass hack.c                     SR                  U5      nUR                  [        [        5      R                  [        [
        5      nUR                  S5      $ )zDConvert alternate placeholder symbols to actual placeholder symbols.r   )r   r   r   r   r   r   r   r   s      r   r   PostNormalizePreprocessor.run&   s>     5!S)11#s;||D!!r   r   Nr   r   r   r   r%   r%   #   s
    ="r   r%   c                   2   ^  \ rS rSrSrU 4S jrS rSrU =r$ )BypassNormExtension.   z Bypass whitespace normalization.c                 B   > / U l         0 U l        [        TU ]  " U0 UD6  g)zInitialize.N)inlinehiliteconfigsuper__init__)r   argskwargs	__class__s      r   r0   BypassNormExtension.__init__1   s&     $)&)r   c                     UR                   R                  [        U5      SS5        UR                   R                  [        U5      SS5        g)zAAdd extensions that help with bypassing whitespace normalization.zpymdownx-pre-norm-wsr&   zpymdownx-post-norm-wsgfffff=@N)preprocessorsregisterr
   r%   )r   mds     r   extendMarkdown"BypassNormExtension.extendMarkdown8   sD     	!!":2">@VXZ[
!!";B"?AXZ^_r   )r.   r-   )	r   r   r    r!   r"   r0   r9   r#   __classcell__)r3   s   @r   r*   r*   .   s    **` `r   r*   c                      [        U 0 UD6$ )zReturn extension.)r*   )r1   r2   s     r   makeExtensionr=   ?   s     ///r   N)r"   markdownr   markdown.utilr   r   markdown.preprocessorsr   r   r   r
   r%   r*   r=   r   r   r   <module>rA      sJ     " /"| "" "`) `"0r   