9le_/XddlmZddlmZddlZddlmZddlmZGddZdS))BytesIO)StringION)lexer) parsetreec4eZdZdZdZdZedZdS)MessageExtractorTc#Ktj||jd}||Ed{VdS)Nencoding)input_encoding)rLexerreadconfigparse extract_nodes get_children)selffileobj template_nodes /srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/mako/ext/extract.py process_filezMessageExtractor.process_filesv LLNN4;z+B   %'' %%m&@&@&B&BCCCCCCCCCCCc #Kg}d}|jdpd}ttdtjd|jd}|D]}d}|r4t |t jr|j s;t |t j r|j }|r/| | |j||D]G} || r0d}| | |j|Ht |t jr|jj} |j}n+t |t jr|jj} |j}nt |t jr|jj} |j}nt |t jr |jj} nt |t jr|j} |j}nt |t jr|jrd}|j } nRt |t jrd}|jj} n)t |t jr |jj} nD|r|dd|jd z krg}d |D} t | t<r|jr| |d } d} |jrtCd | z} ntEd | z} |#| |jd z | D]} | Vd} | rg}d}|r|$|Ed{VdS)NFr asciiz\s+z comment-tagsTrcg|] }|d S)r).0comments r z2MessageExtractor.extract_nodes..[s)"""& """rbackslashreplace  )%rlistfilterresplit isinstancerTextcontentstripCommenttextextend_split_commentlineno startswithDefTag function_declcodenodesBlockTag body_declCallTagPageTagCallNamespaceTag expression ControlLineisendCode Expressionstr use_bytesencoderrprocess_pythonr)rr5translator_commentsin_translator_commentsr comment_tagsnode child_nodesvalue comment_tagr4translator_stringsused_translator_commentsmessages rrzMessageExtractor.extract_nodess !&Z0;G 4&$+n*EFF G G  X ;X ;DK& tY^44  **,,  $ 122  )))'..++DK??#/K'' 4415.+22 // UCC$ 011 )."j D)"455 ~*"j D)"344 y~"j D)"344 ~*D)"<== "j D)"788 :-2*yD).11 ).&y~D)"677 y~$ )'+A.q@@&(#""*=""" $$$ G G{{>3EFF', $ ~ -ut|,,t ,,..dkAo'9 0 0 +/((' )&(#%* " ;--k:::::::::qX ;X ;rc^fdt|DS)zzReturn the multiline comment at lineno split into a list of comment line numbers and the accompanying comment linec$g|] \}}|z|f Srr)rindexliner0s rr z3MessageExtractor._split_comment..~s6   te^T "   r) enumerate splitlines)r0rs` rr/zMessageExtractor._split_commentzsB    (););)=)=>>    rN)__name__ __module__ __qualname__rArr staticmethodr/rrrrrsYIDDD `;`;`;D  \   rr)iorrr&makorrrrrrrZs r r r r r r r r r r r