o
    ×Üg  ã                   @   s    d Z ddlZdd„ Zdd„ ZdS )z4
OOXML has non-standard escaping for characters < 
é    Nc                 C   s   t  d¡}dd„ }| || ¡S )zB
    Convert ASCII < 31 to OOXML: \n == _x + hex(ord(\n)) + _
    z[\001-\031]c                 S   s   d  t|  d¡ƒ¡S )z*
        Callback to escape chars
        z
_x{:0>4x}_r   )ÚformatÚordÚgroup©Úmatch© r   úO/var/www/html/api-tag/env/lib/python3.10/site-packages/openpyxl/utils/escape.pyÚ_sub   ó   zescape.<locals>._sub©ÚreÚcompileÚsub)ÚvalueÚ
CHAR_REGEXr	   r   r   r   Úescape
   s   
r   c                 C   s*   t  d¡}dd„ }d| v r| || ¡} | S )z:
    Convert escaped strings to ASCIII: _x000a_ == \n
    z_x([0-9A-Fa-f]{4})_c                 S   s   t t|  d¡dƒƒS )z,
        Callback to unescape chars
        é   é   )ÚchrÚintr   r   r   r   r   r	   "   r
   zunescape.<locals>._subÚ_xr   )r   ÚESCAPED_REGEXr	   r   r   r   Úunescape   s
   
r   )Ú__doc__r   r   r   r   r   r   r   Ú<module>   s   