+
    i                         R t ^ RItR tR tR# )z4
OOXML has non-standard escaping for characters < 
Nc                V    \         P                  ! R4      pR pVP                  W 4      # )z:
Convert ASCII < 31 to OOXML: \n == _x + hex(ord(\n)) + _
z[\001-\031]c                T    RP                  \        V P                  ^ 4      4      4      # )z
Callback to escape chars
z
_x{:0>4x}_)formatordgroupmatchs   &\/Users/agent/.openclaw/workspace/.venv/lib/python3.14/site-packages/openpyxl/utils/escape.py_subescape.<locals>._sub   s"     ""3u{{1~#677    recompilesub)value
CHAR_REGEXr
   s   &  r	   escaper   
   s(    
 N+J8 >>$&&r   c                h    \         P                  ! R4      pR pRV 9   d   VP                  W 4      p V # )z2
Convert escaped strings to ASCIII: _x000a_ == \n
z_x([0-9A-Fa-f]{4})_c                J    \        \        V P                  ^4      ^4      4      # )z
Callback to unescape chars
)chrintr   r   s   &r	   r
   unescape.<locals>._sub"   s     3u{{1~r*++r   _xr   )r   ESCAPED_REGEXr
   s   &  r	   unescaper      s6     JJ45M, u}!!$.Lr   )__doc__r   r   r    r   r	   <module>r      s    
' r   