grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B ƒ¸±1Â�!ã@sdZddlZddlZddlTeehZeee hZ e e hZ eehZeeehBZdZdd„eDƒZejfdd„Zd d „Zd d „Zd,d d„ZejdZde>dZdZeefdd„Z dd„Z!dd„Z"dd„Z#dd„Z$dd„Z%dd„Z&d d!„Z'd"d#„Z(d$d%„Z)d&d'„Z*d(d)„Z+d-d*d+„Z,dS).zInternal support module for sreéN)Ú*))éii1)ési)éµi¼)iEi¹i¾)i�iÓ)i°iã)i²iÐ)iµiõ)i¸iÑ)iºið)iÀiÖ)iÁiñ)iÂiÃ)iÆiÕ)iai›)iûiûcs.i|]&}|D]‰t‡fdd„|Dƒƒˆ“q qS)c3s|]}ˆ|kr|VqdS)N©)Ú.0Új)Úirú0/opt/alt/python37/lib64/python3.7/sre_compile.pyú >sz.)Útuple)rÚtr)r r ú >srcCs ||@r||M}||B|@S)Nr)ÚflagsÚ add_flagsÚ del_flagsÚ TYPE_FLAGSrrr Ú_combine_flagsAs rcCs|j}t}t}t}t}t}d} d} d} |t@rd|t@sd|t@rX|t @sXt j } t j } t } n t j} t j} �x¦|D�]œ\} } | |k�r‚|t@sš|| ƒ|| ƒnæ|t@r¸|t| ƒ|| ƒnÈ| | ƒsÒ|| ƒ|| ƒn®| | ƒ}| sô|t| ƒ||ƒnŒ|| k�r|t| ƒ||ƒnl|tƒ||ƒ}|dƒ| tk�r>|tƒx(|f| |D]}|tƒ||ƒ�qNW|tƒ||ƒ|||<ql| tk�rt| | | | ƒ\}}|t@�r¼|t@�r¼|tƒn(|�sÌ|tƒn| �sÜ|tƒn|tƒ||ƒ}|dƒt|||ƒ||ƒ|||<ql| tk�r:|t@�r0|tƒn|tƒql| |k�rF|t @�r\t!d| fƒ‚t"| dƒ�rØ| t#k�r~|t$ƒn|t%ƒ||ƒ}|dƒ|| dƒ|| dƒt&|| d|ƒ|t'ƒ||ƒ|||<nl|t(ƒ||ƒ}|dƒ|| dƒ|| dƒt&|| d|ƒ||ƒ|||<| t#k�r<|t)ƒn|t*ƒql| t+k�r²| \}}}}|�rz|t,ƒ||ddƒt&||t-|||ƒƒ|�r |t,ƒ||dddƒql| |k�rÆ|| ƒql| |k�rT|| ƒ||ƒ}|dƒ| ddk�r|dƒn*| d .¡\}}||k�r"t!dƒ‚||ƒt&|| d|ƒ|t'ƒ||ƒ|||<ql| t/k�rœ|| ƒ||ƒ}|dƒt&|| |ƒ|t'ƒ||ƒ|||<ql| t0k�r|| ƒ|t1@�rÄt2 3| | ¡} |t@�rÜt4 3| | ¡} n |t@�rü|t @�süt5 3| | ¡} || ƒql| t6k�r¨|| ƒg}|j}xZ| dD]N} ||ƒ}|dƒt&|| |ƒ|t7ƒ|||ƒƒ|dƒ||ƒ|||<�q,W|tƒx|D]}||ƒ|||<�qŒWql| t8k�rô|| ƒ|t@�rÎt9| } n|t@�rê|t @�sêt:| } || ƒql| t;k�rL|t@�s|| ƒn,|t@�r&|t<ƒn| �s6|t=ƒn|t>ƒ|| dƒql| t?k�rü|| ƒ|| ddƒ||ƒ}|dƒt&|| d|ƒ| d�ræ|t7ƒ||ƒ}|dƒ||ƒ|d||<t&|| d|ƒ||ƒ|||<n||ƒ|d||<qlt!d| fƒ‚qlWdS)Nrz*internal: unsupported template operator %rééz(look-behind requires fixed-width patternz%internal: unsupported operand type %r)@ÚappendÚlenÚ_LITERAL_CODESÚ_REPEATING_CODESÚ_SUCCESS_CODESÚ _ASSERT_CODESÚSRE_FLAG_IGNORECASEÚSRE_FLAG_LOCALEÚSRE_FLAG_UNICODEÚSRE_FLAG_ASCIIÚ_sreÚunicode_iscasedÚunicode_tolowerÚ_ignorecase_fixesÚ ascii_iscasedÚ ascii_tolowerÚOP_LOCALE_IGNOREÚ OP_IGNOREÚOP_UNICODE_IGNOREÚ IN_UNI_IGNOREÚ NOT_LITERALÚNEGATEÚLITERALÚFAILUREÚINÚ_optimize_charsetÚ IN_LOC_IGNOREÚ IN_IGNOREÚ_compile_charsetÚANYÚSRE_FLAG_DOTALLÚANY_ALLÚSRE_FLAG_TEMPLATEÚerrorÚ_simpleÚ MAX_REPEATÚ REPEAT_ONEÚMIN_REPEAT_ONEÚ_compileÚSUCCESSÚREPEATÚ MAX_UNTILÚ MIN_UNTILÚ SUBPATTERNÚMARKrÚgetwidthÚCALLÚATÚSRE_FLAG_MULTILINEÚ AT_MULTILINEÚgetÚ AT_LOCALEÚ AT_UNICODEÚBRANCHÚJUMPÚCATEGORYÚ CH_LOCALEÚ CH_UNICODEÚGROUPREFÚGROUPREF_LOC_IGNOREÚGROUPREF_IGNOREÚGROUPREF_UNI_IGNOREÚGROUPREF_EXISTS)ÚcodeÚpatternrÚemitÚ_lenÚ LITERAL_CODESÚREPEATING_CODESÚ SUCCESS_CODESÚ ASSERT_CODESÚiscasedÚtolowerÚfixesÚopÚavÚloÚskipÚkÚcharsetÚhascasedÚgrouprrÚpÚhiÚtailÚ tailappendÚskipyesÚskipnorrr r<GsV                                                              r<cCsî|j}xÚ|D]Ò\}}||ƒ|tkr&q |tkr8||ƒq |tksH|tkrb||dƒ||dƒq |tkrv| |¡q |tkrŠ| |¡q |tkrÐ|t @r¨|t |ƒqÞ|t @rÆ|t @sÆ|t |ƒqÞ||ƒq td|fƒ‚q W|tƒdS)Nrrz%internal: unsupported set operator %r)rr+r,ÚRANGEÚRANGE_UNI_IGNOREÚCHARSETÚextendÚ BIGCHARSETrMrrNrrrOr7r-)rerrUrWr`rarrr r2ùs,     r2c Cs¾g}g}tdƒ}d}�xº|D�]°\}} �x¤�yB|tkrŒ|r‚|| ƒ} d|| <|rp| |krpx|| D] } d|| <q`W|sŠ|| ƒrŠd}nd|| <nà|tk�rDt| d| ddƒ} |�r*|röx\t|| ƒD].} d|| <| |krÂx|| D] } d|| <qàWqÂWnxt|| ƒD]} d|| <�qW|�sBtt|| ƒƒ}nx@| D]} d|| <�q0Wn(|tk�r^| || f¡n| || f¡WnXtk �rÆt |ƒdk�rœ|dd7}w*|�r´d}|tk�r´t }| || f¡YnXPq*WqWg}d}xj|  d|¡}|dk�rôPt |ƒdk�rd}P|  d|¡}|dk�r2| |t |ƒf¡P| ||f¡�qÜW|dk �rÈxF|D]>\}}||dk�r|| t|f¡n| t||dff¡�qVW||7}|�s¸t |ƒt |ƒk�rÀ||fS||fSt |ƒdk�rüt |ƒ}| t |f¡||7}||fSt|ƒ}i}tdƒ}d}tƒ}xftdd dƒD]V} || | d…}||k�rX|||| d<n$||| d<||<|d7}||7}�q(Wt |ƒ}|gt|ƒ|dd…<| t|f¡||7}||fS) NéFrTróiÿri)Ú bytearrayr,rnÚrangeÚmapÚanyr+rÚ IndexErrorrroÚfindÚ _mk_bitmaprpÚbytesÚ_bytes_to_codesrr)rer]Úfixupr_ÚoutrjÚcharmaprfr`rarbrdÚrr ÚrunsÚqrhÚdataÚcompsÚmappingÚblockÚchunkrrr r/s´                r/érs0111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111cs8| t¡ddd…‰‡‡‡fdd„ttˆƒdˆ ƒDƒS)Néÿÿÿÿcs"g|]}ˆˆ|ˆ|…dƒ‘qS)rr)rr )Ú _CODEBITSÚ_intÚsrr ú �sz_mk_bitmap..r)Ú translateÚ _BITS_TRANSrvr)Úbitsr‹rŒr)r‹rŒr�r r{›sr{cCst|ƒ d¡}| ¡S)NÚI)Ú memoryviewÚcastÚtolist)ÚbÚarrr r} sr}cCsDt|ƒdkrdS|d\}}|tkr<|ddko:t|dƒS|tkS)NrFrrŠ)rrAr8Ú _UNIT_CODES)rhr`rarrr r8§s   r8cCsvdgt|ƒ}xbtdt|ƒƒD]P}||d}x>||||kr`|dkrRd||<P||d}q0W|d||<qW|S)aj Generate an overlap table for the following prefix. An overlap table is a table of the same size as the prefix which informs about the potential self-overlap for each index in the prefix: - if overlap[i] == 0, prefix[i:] can't overlap prefix[0:...] - if overlap[i] == k with 0 < k <= i, prefix[i-k+1:i+1] overlaps with prefix[0:k] rr)rrv)ÚprefixÚtabler Úidxrrr Ú_generate_overlap_table°s  rœcCs,|t@s dS|t@r"|t@s"tjStjSdS)N)rrrr r!r$)rrrr Ú _get_iscasedÅs r�cCsâg}|j}d}t|ƒ}xÀ|jD]¬\}}|tkrF|r<||ƒr} | s¦dS| d\}}|tkrÔ|rÆ||ƒsÔ| ||fƒqšdSqšW|S|t k�rb|}|�r^xh|D]`\}}|tk�r||ƒ�rZdSqú|t krú|ddk�r6dSt t |t |d|ddƒƒƒrúdSqúW|SdS)Nrriÿÿ)r„rArrrr�r,rKrr.rnrxrwrv) rVrr`rargrrr]reÚ charsetappendrhrrr Ú_get_charset_prefixìsP         r¦c Csr| ¡\}}|tkrt}|dkr8| tdd||g¡dSg}d}g}|t@rT|t@srt||ƒ\}}}|srt||ƒ}|j} | tƒt |ƒ} | dƒd} |r²t } |dkr¾|r¾| t B} n |r¾| t B} | | ƒ|tkrØ| |ƒn| tƒ|dt…}| t |tƒƒ|�r@| t |ƒƒ|dk�rt |ƒ}| |ƒ| |¡| t|ƒ¡n|�r^t|ƒ\}} t|||ƒt |ƒ| || <dS)Nré)rCÚMAXCODErqÚINFOrrržr¦rrÚSRE_INFO_PREFIXÚSRE_INFO_LITERALÚSRE_INFO_CHARSETÚminrœr/r2) rUrVrrbrir™r rer¤rWrcÚmaskrfrrr Ú _compile_infosR           r¯cCst|ttfƒS)N)Ú isinstanceÚstrr|)Úobjrrr ÚisstringSsr³cCs8|jj|B}g}t|||ƒt||j|ƒ| t¡|S)N)rVrr¯r<r„rr=)rhrrUrrr Ú_codeVs    r´cCsdd dd„|Dƒ¡S)Nz[%s]z, css$|]}dtjdd|fVqdS)z%#0*xrN)r ÚCODESIZE)rÚxrrr r fsz_hex_code..)Újoin)rUrrr Ú _hex_codeesr¸csNddl‰tƒ‰d‰tttˆƒdƒƒ‰‡‡‡‡‡‡fdd„‰ˆdtˆƒƒdS)Nrrc s¼ddœ‡‡‡‡fdd„ }‡‡fdd„}ˆd7‰ˆ}�xz||k�r®|‰ˆ|}|d7}t|}|tttttttfkr|||ƒq6|tt t t t t ttfkr¼ˆ|}|d7}||d|t|ƒfƒq6|tkrôˆ|}|d7}tt|ƒ}|||dd…ƒq6|tk�r.ˆ|}|d7}tt|ƒ}|||d d…ƒq6|ttttfk�rvˆ|}|||||d�ˆ|d||ƒ||7}q6|ttfk�rÀˆ||d …\}} |d 7}||d || t|ƒt| ƒfƒq6|tk�rö||tˆ||d t…ƒƒ|d t7}q6|tk�r¦ˆ|}|d7}t d  !‡fdd„ˆ||d t"j#…Dƒ¡ƒ} |||| ƒ|d t"j#7}ˆd7‰x:t$|ƒD].} |tˆ||d t…ƒƒ|d t7}�qjWˆd8‰q6|t%t&t't(t)fk�rÖˆ|}|d7}|||ƒq6|t*k�rˆ|}|||||d�|d7}q6|t+k�rˆˆ|}|||||d�xT|�r|ˆ|d||ƒ||7}|‰ˆ|}|�rp|d|||d�n|tƒ�q*W|d7}q6|t,t-t.fk�rîˆ||d…\}} } | t/k�r¼d} |||| | ||d�ˆ|d||ƒ||7}q6|t0k�r*ˆ||d …\}}||||||d�|d 7}q6|t1t2fk�r|ˆ||d …\}}||||||d�ˆ|d ||ƒ||7}q6|t3k�r¤ˆ||d…\}}} } | t/k�r¬d} |||t4|ƒ| | ||d�|d‰|t5@�rjˆ|d|d…\}}|d|ƒ|d‰ˆˆˆ|…}|ddd !dd„|Dƒ¡dd !t6t|ƒ¡ƒˆ|7‰|dˆˆˆ|…ƒˆ|7‰|t7@�ršˆd7‰|dƒˆˆ||ƒˆd8‰||7}q6t8|ƒ‚q6Wˆd8‰dS)N)ÚtocsX|dk r"ˆ |¡|d|ff7}tdˆˆˆˆkr6dndfdˆdd�t|ŽdS)Nz(to %d)z%*d%s ú:Ú.z r)Úend)ÚaddÚprint)r¹Úargs)ÚlabelsÚlevelÚ offset_widthÚstartrr Úprint_ps  z!dis..dis_..print_cs"tdˆdˆd�t|ŽdS)Nú r)r¼)r¾)r¿)rÁrÂrr Úprint_2xsz"dis..dis_..print_2rz %#02x (%r)éé rz%#02x %#02x (%r-%r)rsóc3s|]}| tjˆj¡VqdS)N)Úto_bytesr rµÚ byteorder)rr¶)Úsysrr r ©sz$dis..dis_..ÚbranchÚ MAXREPEATr§éz prefix_skipz prefixz[%s]z, css|]}d|VqdS)z%#02xNr)rr¶rrr r äsz(%r)Úz overlapÚin)9ÚOPCODESr=r-r3r5r?r@r+r,r*ÚLITERAL_IGNOREÚNOT_LITERAL_IGNOREÚLITERAL_UNI_IGNOREÚNOT_LITERAL_UNI_IGNOREÚLITERAL_LOC_IGNOREÚNOT_LITERAL_LOC_IGNOREÚchrrEr±ÚATCODESrMÚCHCODESr.r1r)r0rnrorpr¸r‹rrÚlistr·r rµrvrBrPrRrSrQrLrKr>r:r;rÎrTÚASSERTÚ ASSERT_NOTr©Úbinrªrwr¬Ú ValueError)rÃr¼rÄrÆr r`Úargrcrbrir†rr­ÚmaxrÚ prefix_lenr r™)rUÚdis_rÀrÁrÂrÌ)rÃr räosæ                                zdis..dis_)rÌÚsetrr±)rUr)rUrärÀrÁrÂrÌr Údishsræc Csšt|ƒr|}t ||¡}nd}t||ƒ}|t@r>tƒt|ƒ|jj}dg|jj }x|  ¡D]\}}|||<q^Wt   |||jj B||jj d|t|ƒ¡S)Nr)r³Ú sre_parseÚparser´ÚSRE_FLAG_DEBUGr¾rærVÚ groupdictÚgroupsÚitemsr Úcompilerr )rhrrVrUÚ groupindexÚ indexgrouprdr rrr rí÷s    rí)NNN)r)-Ú__doc__r rçÚ sre_constantsr,r*rr>Ú MIN_REPEATr9rr=r-rrÝrÞrr3r.r˜Ú _equivalencesr#rrr<r2r/rµr‹r¨r�Úintr{r}r8rœr�ržr¦r¯r³r´r¸rærírrrr Ú sD  "3    ,;