
    \
jY                         d Z ddlZddlZddlZ ej        dej        ej        z            Z G d dej        j	                  Z
dS )zOExtensible attributed text format for representing pyglet formatted
documents.
    Na  
    (?P<escape_hex>\{\#x(?P<escape_hex_val>[0-9a-fA-F]+)\})
  | (?P<escape_dec>\{\#(?P<escape_dec_val>[0-9]+)\})
  | (?P<escape_lbrace>\{\{)
  | (?P<escape_rbrace>\}\})
  | (?P<attr>\{
        (?P<attr_name>[^ \{\}]+)\s+
        (?P<attr_val>[^\}]+)\})
  | (?P<nl_hard1>\n(?=[ \t]))
  | (?P<nl_hard2>\{\}\n)
  | (?P<nl_soft>\n(?=\S))
  | (?P<nl_para>\n\n+)
  | (?P<text>[^\{\}\n]+)
    c                   "    e Zd Zd ZddZd ZdS )AttributedTextDecoderc                 r    t           j        j                                        | _        d| _        i | _        d S )Nr   )pyglettextdocumentFormattedDocumentdoclength
attributes)selfs    X/DATA/AppData/hermes/venv/lib/python3.11/site-packages/pyglet/text/formats/attributed.py__init__zAttributedTextDecoder.__init__?   s,    ;'99;;    Nc           
         d}d}t                               |          D ]9}|j        }d}|dk    rC|                    d          }|                     |           |                    d          }d}n|dk    r|s|                     d           d}n|dv r|                     d           d}n|dk    r4|                     |                    d          d	d                     d}nj|d
k    rt          j        |                    d                    }	|                    d          }
|
d         dk    rG|r|	| j        |
d	d          <   n| j	        
                    | j        | j        |
d	d          |	i           n|	| j        |
<   n|dk    rC|                     t          t          |                    d                                         n|dk    rD|                     t          t          |                    d          d                               n7|dk    r|                     d           n|dk    r|                     d           |};| j	        S )NTr    Fnl_soft)nl_hard1nl_hard2
nl_para   attrattr_val	attr_namer   .
escape_decescape_dec_val
escape_hexescape_hex_val   escape_lbrace{escape_rbrace})_patternfinditer	lastgroupgroupappendendswithastliteral_evalr   r
   set_paragraph_styler   chrint)r   r   locationnext_trailing_spacetrailing_newlinemr)   trailing_spacetvaluenames              r   decodezAttributedTextDecoder.decodeD   su   """4(( $	1 $	1AKE!NGGFOOA!"C#(  )##* %KK$$$#(  222D!!!#'  )##AGGI..qrr2333#'  &()<)<==ww{++7c>>' b49QRR1144T[$+PTUVUWUWPXZ_O`aaaa,1DOD)),&&CAGG,<$=$= > >??@@@@,&&CAGG,<$=$=r B BCCDDDD/))C    /))C   "0xr   c                     | j                             | j        || j                   | xj        t	          |          z  c_        | j                                         d S N)r
   insert_textr   r   lenclear)r   r   s     r   r*   zAttributedTextDecoder.appendp   sP    T[$@@@s4yy r   r;   )__name__
__module____qualname__r   r9   r*    r   r   r   r   =   sG          
* * * *X         r   r   )__doc__rer,   r   compileVERBOSEDOTALLr&   r   DocumentDecoderr   rB   r   r   <module>rI      s   H  
			 



 2:  
bi	! ! 6  6  6  6  6 FK7 6  6  6  6  6 r   