HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //proc/thread-self/root/lib64/python2.7/site-packages/mercurial/filesetlang.pyc
�
1�3\c@@s ddlmZddlmZddlmZmZmZdZdZ	dZ
dZid	d6d7d8d6fd
6dd6d6d9d6fd6dd6d:d;d6fd6dd6d<d6d6fd6dd6d=d6d6fd6dd6d6d>d6fd6dd6d6d?d6fd6dd6d6d@d6fd6dd6d6dAd6fd6dd6d6dBd6fd6dd6d6dCd6fd 6dDd6dEd!6dFd"6dGd#6Z
dddhZiZd$Zd%�Zd&�Zd'�Zd(�Zd)�Zd*�Zd+�Zd,�Zd-�Zd.�Zd/�Zd0�Zd1�Zd2�Zd3�Zd4�Z d5�Z!d6S(Hi(tabsolute_importi(t_(terrortparsertpycompatg�?ii
i2itgroupt)tfunct(itkindpatt:itnegateitminust-tnott!tandt&itort|t+itlistt,tsymboltstringtends
.*{}[]?/\_cc@spdt|�}}tj|�}x9||kr]||}|j�rJn|dkrg|d|fVn�|dks�|dkrd|||d!dkrd|dkr�|d7}||}d	�}n	tj}|d7}|}xr||krH||}|d
kr|d7}q�n||kr;d||||!�|fVPn|d7}q�Wtjt	d�|��n�|j
�s�|tks�t|�d
kr8|}|d7}xR||kr�||}|j
�p�|tkp�t|�d
ks�Pn|d7}q�W|||!}|t
kr|d|fVnd||fV|d8}ntjt	d�|��|d7}q%Wdd|fVdS(Nis	(),-:|&+!s"'trisr'sr"icS@s|S(N((tx((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt<lambda>?ts\Rsunterminated stringiRssyntax errorR(sr'sr"(tlenRtbytestrtisspacetNoneRtunescapestrRt
ParseErrorRtisalnumt	globcharstordtkeywords(tprogramtpostltctdecodetstdtsym((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyttokenize1sV


	


*

*

cC@smtjt�}|jt|��\}}|t|�krWtjtd�|��ntj|ddh�S(Ns
invalid tokenRR(	RtelementstparseR0RRR#Rtsimplifyinfixops(texprtpttreeR)((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyR2cs
cC@s7|r|ddkr|dStjtd���dS(NiRisnot a symbol(RR#R(R((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt	getsymboljscC@sA|r.|ddks&|ddkr.|dStj|��dS(NiRRi(RR#(Rterr((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt	getstringos&cC@sQt|�}t||�}||krCtjtd�|��nd||fS(Nsinvalid pattern kind: %ss%s:%s(R7R9RR#R(RtytallkindsR8tkindtpat((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt
getkindpatts
cC@s>|r1|ddkr1t|d|d||�St||�S(NiR	ii(R>R9(RR;R8((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt
getpattern{scC@s/|s
gS|ddkr(t|d�S|gS(NiRi(R(R((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pytgetlist�s
cC@sFt|�}t|�|ks0t|�|krBtj|��n|S(N(R@RRR#(RtmintmaxR8R*((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pytgetargs�s$cC@s�|dkr|S|d}|ddhkr0|S|dkrkt|d�t|d�}||d|fS|dkr�t|d�S|dkr�tjtd	���n|d
kr�t|d�}||fS|dkrt|d�}t|d�}|||fS|dkr5td|dd
|dff�S|d
dhkrltd�|dD��}|f|S|dkr�t|d�t|d�}||d|fStjd|��dS(NiRRR	iiRRs)can't use negate operator in this contextRRRRRcs@s|]}t|�VqdS(N(t_analyze(t.0R:((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>�sRsinvalid operator %r(R!R7RDRR#RttupletProgrammingError(Rtopttttattbtts((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyRD�s<


!cC@sx|dkrd|fS|d}|dddhkr?d|fS|dkrqt|d�\}}|||ffS|dkr�t|d�\}}t|d�\}}||}|r�|r�|d	|||fdd
j|�fffS||||ffS|dkr�td�|dD��\}	}
t|	d�}td
�|	D��dkr}|d	|f|
dd
j|�fffS||f|
fS|dkr�td�|dD��\}	}
t|	d�|f|
fS|dkrat|d�}t|d�\}}ttj|�dt	�rJ|fd	||d|fd|fffSd||d|ffSt
jd|��dS(smInsert hint nodes where status should be calculated (first path)

    This works in bottom-up way, summing up status names and inserting hint
    nodes at 'and' and 'or' as needed. Thus redundant hint nodes may be left.

    Returns (status-names, new-tree) at the given subtree, where status-names
    is a sum of status names referenced in the given subtree.
    iRRR	RiRit
withstatust Rcs@s|]}t|�VqdS(N(t_insertstatushints(RER:((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>�scs@s|]}t|�VqdS(N(tbool(REth((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>�sRcs@s|]}t|�VqdS(N(RO(RER:((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>�sRt_callstatussinvalid operator %rN((((((R!ROtjointziptsumR7tgetattrtsymbolstgettFalseRRG(RRHRQRIthaRJthbRKthrthsRLtf((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyRO�s>	



+ ) )c@sl|dkr|S|d}|dkrd�r=t|d��St|ddt�}|||dfS|dddhkr}|S|d	kr�t|d��}||fS|d
kr�t|d��}t|d��}|||fS|ddhkr"t�fd
�|dD��}|f|S|dkrUt|ddt�}||d|fStjd|��dS(ssRemove redundant status hint nodes (second path)

    This is the top-down path to eliminate inner hint nodes.
    iRMitinstatusiRRR	RRRRc3@s|]}t|��VqdS(N(t_mergestatushints(RER:(R_(s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>�sRsinvalid operator %rN(R!R`tTrueRFRYRRG(RR_RHRIRJRKRL((R_s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyR`�s0


 cC@s.t|�}t|�\}}t|dt�S(s�Transform raw parsed tree to evaluatable tree which can be fed to
    optimize() or getmatch()

    All pseudo operations should be mapped to real operations or functions
    defined in methods or symbols table respectively.
    R_(RDROR`RY(RRIt_h((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pytanalyze�scC@s:|dk	r-|ddkr-d||dfS|||fS(NiRRi(R!(RHRJRK((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt_optimizeandopsscC@s�ggg}}}xr|D]j}t|�\}}|dk	rk|ddddhkrk|j|�qn|j|�|j|�qW|r�|jt�|jdt|��n||fS(NiRRR	tpatterns(Re(t	_optimizeR!tappendtWEIGHT_CHECK_FILENAMERF(txstwsRLtssRtwRI((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt_optimizeunion
s
%


c
@s�|dkrd|fS|d}|dkrYt|d�\}}||||dffS|ddhkrut|fS|dkr�t|d�\}}|||d|ffS|dkr�t|d�\}}|||ffS|d	krSt|d�\}}t|d�\}}||kr:|t|||�fS|t|||�fSn|d
kr�t|d�\�}t|�dkr��d|dfStd�tt|�d�fd
��D��}t	��|f|fS|dkr$t
d�|dD��\�}t��|f|fS|dkr�t|d�}	t
tj|	�dd�}t|d�\}}||||d|ffStjd|��dS(NiRMiiRRR	RRRcs@s|]}|dVqdS(iN((REtit((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>4stkeyc@s�|dS(Ni((Rn(Rj(s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyR5RRcs@s|]}t|�VqdS(N(Rf(RER:((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pys	<genexpr>8sRt_weightsinvalid operator %r(R!RfRhRdRmRRFtsortedt	enumerateRBRTRUR7RVRWRXRRG(
RRHRlRItwaRJtwbRKRLR^((Rjs;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyRfsH


 cC@st|�\}}|S(ssReorder/rewrite evaluatable tree for optimization

    All pseudo operations should be transformed beforehand.
    (Rf(Rt_wRI((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pytoptimizeAscC@stj|d�S(NRR(RR(Rtprettyformat(R6((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyRwIsN(RiR(RiR(R	i(Ri(Ri(Ri
(Ri
(Ri(Ri(Ri(Ri(Ri(Ri(iNNNN(iRNNN(iRNNN(iNNNN("t
__future__Rti18nRRRRRRhtWEIGHT_READ_CONTENTSt
WEIGHT_STATUStWEIGHT_STATUS_THOROUGHR!R1R'RWR%R0R2R7R9R>R?R@RCRDROR`RcRdRmRfRvRw(((s;/usr/lib64/python2.7/site-packages/mercurial/filesetlang.pyt<module>sT
	2								!	+	!				(