uawdijnntqw1x1x1
IP : 18.118.227.16
Hostname : ns1.eurodns.top
Kernel : Linux ns1.eurodns.top 4.18.0-553.5.1.lve.1.el7h.x86_64 #1 SMP Fri Jun 14 14:24:52 UTC 2024 x86_64
Disable Function : mail,sendmail,exec,passthru,shell_exec,system,popen,curl_multi_exec,show_source,eval,open_base
OS : Linux
PATH:
/
home
/
..
/
opt
/
..
/
var
/
..
/
lib64
/
python2.7
/
sets.pyc
/
/
� �mec@s�dZddlmZmZdddgZddlZejdedd �defd ��YZ de fd��YZ de fd��YZd e fd��YZdS(s�Classes to represent arbitrary sets (including sets of sets). This module implements sets using dictionaries whose values are ignored. The usual operations (union, intersection, deletion, etc.) are provided as both methods and operators. Important: sets are not sequences! While they support 'x in s', 'len(s)', and 'for x in s', none of those operations are unique for sequences; for example, mappings support all three as well. The characteristic operation for sequences is subscripting with small integers: s[i], for i in range(len(s)). Sets don't support subscripting at all. Also, sequences allow multiple occurrences and their elements have a definite order; sets on the other hand don't record multiple occurrences and don't remember the order of element insertion (which is why they don't support s[i]). The following classes are provided: BaseSet -- All the operations common to both mutable and immutable sets. This is an abstract class, not meant to be directly instantiated. Set -- Mutable sets, subclass of BaseSet; not hashable. ImmutableSet -- Immutable sets, subclass of BaseSet; hashable. An iterable argument is mandatory to create an ImmutableSet. _TemporarilyImmutableSet -- A wrapper around a Set, hashable, giving the same hash value as the immutable set equivalent would have. Do not use this class directly. Only hashable objects can be added to a Set. In particular, you cannot really add a Set as an element to another Set; if you try, what is actually added is an ImmutableSet built from it (it compares equal to the one you tried adding). When you ask if `x in y' where x is a Set and y is a Set or ImmutableSet, x is wrapped into a _TemporarilyImmutableSet z, and what's tested is actually `z in y'. i����(tifiltertifilterfalsetBaseSettSettImmutableSetNsthe sets module is deprecatedt stacklevelicBs"eZdZdgZd�Zd�Zd�ZeZed�Z d�Z d�Zd�Zd �Z d �ZeZd�Zd�Zd �Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZeZeZd�Zd�ZdZ!d�Z"d�Z#d�Z$RS(s1Common base class for mutable and immutable sets.t_datacCs|jtkrtd�ndS(sThis is an abstract class.s7BaseSet is an abstract class. Use Set or ImmutableSet.N(t __class__Rt TypeError(tself((s/usr/lib64/python2.7/sets.pyt__init__HscCs t|j�S(s'Return the number of elements of a set.(tlenR(R ((s/usr/lib64/python2.7/sets.pyt__len__QscCs |j�S(seReturn string representation of a set. This looks like 'Set([<list of elements>])'. (t_repr(R ((s/usr/lib64/python2.7/sets.pyt__repr__UscCs6|jj�}|r"|j�nd|jj|fS(Ns%s(%r)(RtkeystsortRt__name__(R tsortedtelements((s/usr/lib64/python2.7/sets.pyR _s cCs |jj�S(ssReturn an iterator over the elements or a set. This is the keys iterator for the underlying dict. (Rtiterkeys(R ((s/usr/lib64/python2.7/sets.pyt__iter__escCs td�dS(Nscan't compare sets using cmp()(R(R tother((s/usr/lib64/python2.7/sets.pyt__cmp__qscCs't|t�r|j|jkStSdS(N(t isinstanceRRtFalse(R R((s/usr/lib64/python2.7/sets.pyt__eq__�scCs't|t�r|j|jkStSdS(N(RRRtTrue(R R((s/usr/lib64/python2.7/sets.pyt__ne__�scCs#|j�}|jj|j�|S(sReturn a shallow copy of a set.(RRtupdate(R tresult((s/usr/lib64/python2.7/sets.pytcopy�scCscddlm}|j�}||t|�<|j}t}x!|D]}|||||�<qBW|S(s1Return a deep copy of a set; used by copy module.i����(tdeepcopy(RR RtidRR(R tmemoR Rtdatatvaluetelt((s/usr/lib64/python2.7/sets.pyt__deepcopy__�s cCs t|t�stS|j|�S(shReturn the union of two sets as a new set. (I.e. all elements that are in either set.) (RRtNotImplementedtunion(R R((s/usr/lib64/python2.7/sets.pyt__or__�scCs |j|�}|j|�|S(shReturn the union of two sets as a new set. (I.e. all elements that are in either set.) (Rt_update(R RR((s/usr/lib64/python2.7/sets.pyR(�s cCs t|t�stS|j|�S(snReturn the intersection of two sets as a new set. (I.e. all elements that are in both sets.) (RRR'tintersection(R R((s/usr/lib64/python2.7/sets.pyt__and__�scCsut|t�st|�}nt|�t|�krF||}}n ||}}t|jj|�}|j|�S(snReturn the intersection of two sets as a new set. (I.e. all elements that are in both sets.) (RRRRRRt__contains__R(R Rtlittletbigtcommon((s/usr/lib64/python2.7/sets.pyR+�s cCs t|t�stS|j|�S(s�Return the symmetric difference of two sets as a new set. (I.e. all elements that are in exactly one of the sets.) (RRR'tsymmetric_difference(R R((s/usr/lib64/python2.7/sets.pyt__xor__�scCs�|j�}|j}t}|j}y |j}Wn tk rSt|�j}nXx$t|j|�D]}|||<qgWx$t|j|�D]}|||<q�W|S(s�Return the symmetric difference of two sets as a new set. (I.e. all elements that are in exactly one of the sets.) (RRRtAttributeErrorRRR-(R RRR#R$tselfdatat otherdataR%((s/usr/lib64/python2.7/sets.pyR1�s cCs t|t�stS|j|�S(s�Return the difference of two sets as a new Set. (I.e. all elements that are in this set and not in the other.) (RRR't difference(R R((s/usr/lib64/python2.7/sets.pyt__sub__�scCsv|j�}|j}y |j}Wn tk rDt|�j}nXt}x$t|j|�D]}|||<q^W|S(s�Return the difference of two sets as a new Set. (I.e. all elements that are in this set and not in the other.) (RRR3RRRR-(R RRR#R5R$R%((s/usr/lib64/python2.7/sets.pyR6s cCsZy||jkSWnBtk rUt|dd�}|dkrE�n|�|jkSXdS(s{Report whether an element is a member of a set. (Called in response to the expression `element in self'.) t__as_temporarily_immutable__N(RRtgetattrtNone(R telementt transform((s/usr/lib64/python2.7/sets.pyR-s cCsN|j|�t|�t|�kr)tSxt|jj|�D]}tSWtS(s-Report whether another set contains this set.(t_binary_sanity_checkRRRRR-R(R RR%((s/usr/lib64/python2.7/sets.pytissubset!s cCsN|j|�t|�t|�kr)tSxt|jj|�D]}tSWtS(s-Report whether this set contains another set.(R=RRRRR-R(R RR%((s/usr/lib64/python2.7/sets.pyt issuperset*s cCs2|j|�t|�t|�ko1|j|�S(N(R=RR>(R R((s/usr/lib64/python2.7/sets.pyt__lt__7s cCs2|j|�t|�t|�ko1|j|�S(N(R=RR?(R R((s/usr/lib64/python2.7/sets.pyt__gt__;s cCst|t�std�ndS(Ns,Binary operation only permitted between sets(RRR(R R((s/usr/lib64/python2.7/sets.pyR=DscCs+d}x|D]}|t|�N}q W|S(Ni(thash(R RR%((s/usr/lib64/python2.7/sets.pyt _compute_hashJs cCs9|j}t|t�r,|j|j�dSt}t|�tttfkr�t |�}x�tr�y#x|D]}|||<qlWdSWq\t k r�t|dd�}|dkr��n|||�<q\Xq\Wndxa|D]Y}y|||<Wq�t k r0t|dd�}|dkr �n|||�<q�Xq�WdS(Nt__as_immutable__( RRRRRttypetlistttupletxrangetiterRR9R:(R titerableR#R$titR;R<((s/usr/lib64/python2.7/sets.pyR*Us2 N(%Rt __module__t__doc__t __slots__R RRt__str__RR RRRRRt__copy__R&R)R(R,R+R2R1R7R6R-R>R?t__le__t__ge__R@RAR:t__hash__R=RCR*(((s/usr/lib64/python2.7/sets.pyRAsB cBs>eZdZdgZdd�Zd�Zd�Zd�ZRS(sImmutable set class.t _hashcodecCs2d|_i|_|dk r.|j|�ndS(s5Construct an immutable set from an optional iterable.N(R:RTRR*(R RJ((s/usr/lib64/python2.7/sets.pyR �s cCs(|jdkr!|j�|_n|jS(N(RTR:RC(R ((s/usr/lib64/python2.7/sets.pyRS�scCs|j|jfS(N(RRT(R ((s/usr/lib64/python2.7/sets.pyt__getstate__�scCs|\|_|_dS(N(RRT(R tstate((s/usr/lib64/python2.7/sets.pyt__setstate__�sN( RRLRMRNR:R RSRURW(((s/usr/lib64/python2.7/sets.pyRzs cBs�eZdZgZdd�Zd�Zd�Zd�Zd�Z d�Z d�Zd�Zd �Z d �Zd�Zd�Zd �Zd�Zd�Zd�Zd�Zd�Zd�ZRS(s Mutable set class.cCs)i|_|dk r%|j|�ndS(s*Construct a set from an optional iterable.N(RR:R*(R RJ((s/usr/lib64/python2.7/sets.pyR �s cCs |jfS(N(R(R ((s/usr/lib64/python2.7/sets.pyRU�scCs|\|_dS(N(R(R R#((s/usr/lib64/python2.7/sets.pyRW�scCs$|j|�|jj|j�|S(s2Update a set with the union of itself and another.(R=RR(R R((s/usr/lib64/python2.7/sets.pyt__ior__�s cCs|j|�dS(s2Update a set with the union of itself and another.N(R*(R R((s/usr/lib64/python2.7/sets.pytunion_update�scCs!|j|�||@j|_|S(s9Update a set with the intersection of itself and another.(R=R(R R((s/usr/lib64/python2.7/sets.pyt__iand__�s cCs5t|t�r||M}n|j|�j|_dS(s9Update a set with the intersection of itself and another.N(RRR+R(R R((s/usr/lib64/python2.7/sets.pytintersection_update�s cCs|j|�|j|�|S(sAUpdate a set with the symmetric difference of itself and another.(R=tsymmetric_difference_update(R R((s/usr/lib64/python2.7/sets.pyt__ixor__�s cCs{|j}t}t|t�s-t|�}n||krF|j�nx.|D]&}||kri||=qM|||<qMWdS(sAUpdate a set with the symmetric difference of itself and another.N(RRRRRtclear(R RR#R$R%((s/usr/lib64/python2.7/sets.pyR\�s cCs|j|�|j|�|S(s1Remove all elements of another set from this set.(R=tdifference_update(R R((s/usr/lib64/python2.7/sets.pyt__isub__�s cCsh|j}t|t�s't|�}n||kr@|j�nx!t|j|�D] }||=qSWdS(s1Remove all elements of another set from this set.N(RRRRR^RR-(R RR#R%((s/usr/lib64/python2.7/sets.pyR_�s cCs|j|�dS(s9Add all values from an iterable (such as a list or file).N(R*(R RJ((s/usr/lib64/python2.7/sets.pyR�scCs|jj�dS(s"Remove all elements from this set.N(RR^(R ((s/usr/lib64/python2.7/sets.pyR^�scCs]yt|j|<WnEtk rXt|dd�}|dkrE�nt|j|�<nXdS(s`Add an element to a set. This has no effect if the element is already present. RDN(RRRR9R:(R R;R<((s/usr/lib64/python2.7/sets.pytadd�s cCsWy|j|=WnBtk rRt|dd�}|dkrB�n|j|�=nXdS(svRemove an element from a set; it must be a member. If the element is not a member, raise a KeyError. R8N(RRR9R:(R R;R<((s/usr/lib64/python2.7/sets.pytremoves cCs)y|j|�Wntk r$nXdS(smRemove an element from a set if it is a member. If the element is not a member, do nothing. N(RbtKeyError(R R;((s/usr/lib64/python2.7/sets.pytdiscard s cCs|jj�dS(s+Remove and return an arbitrary set element.i(Rtpopitem(R ((s/usr/lib64/python2.7/sets.pytpopscCs t|�S(N(R(R ((s/usr/lib64/python2.7/sets.pyRDscCs t|�S(N(t_TemporarilyImmutableSet(R ((s/usr/lib64/python2.7/sets.pyR8sN(RRLRMRNR:R RURWRXRYRZR[R]R\R`R_RR^RaRbRdRfRDR8(((s/usr/lib64/python2.7/sets.pyR�s* RgcBseZd�Zd�ZRS(cCs||_|j|_dS(N(t_setR(R tset((s/usr/lib64/python2.7/sets.pyR (s cCs |jj�S(N(RhRC(R ((s/usr/lib64/python2.7/sets.pyRS,s(RRLR RS(((s/usr/lib64/python2.7/sets.pyRg$s ( RMt itertoolsRRt__all__twarningstwarntDeprecationWarningtobjectRRRRg(((s/usr/lib64/python2.7/sets.pyt<module>)s�:�
/home/../opt/../var/../lib64/python2.7/sets.pyc