Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/landscape/lib/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/landscape/lib/__pycache__/sequenceranges.cpython-310.pyc
o

���c\�@sXddlmZGdd�de�ZGdd�de�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�)�xrangec@seZdZdZdS)�
SequenceErrorz@Raised when the sequence isn't proper for translation to ranges.N)�__name__�
__module__�__qualname__�__doc__�rr�>/usr/lib/python3/dist-packages/landscape/lib/sequenceranges.pyrsrc@s`eZdZdZdd�Zedd��Zedd��Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Zdd�Z
dS)�SequenceRangesaZHigh level interface to ranges.

    A ranges list represent a sequence of ordered and non-repeating
    elements into a more compact format, by representing 3 or more
    consecutive entries by a range.

    This means that a sequence such as

        [1, 2, 4, 5, 6, 8, 10, 11, 12, 14]

    becomes

        [1, 2, (4, 6), 8, (10, 12), 14]
    cCs
g|_dS�N��_ranges��selfrrr	�__init__�
zSequenceRanges.__init__cCs|�}t|�|jdd�<|Sr)�sequence_to_rangesr
)�cls�sequence�objrrr	�
from_sequenceszSequenceRanges.from_sequencecCs|�}||jdd�<|Srr)r�rangesrrrr	�from_ranges!szSequenceRanges.from_rangescCstt|j��Sr)�list�ranges_to_sequencer
rrrr	�to_sequence'szSequenceRanges.to_sequencecC�
t|j�Sr)rr
rrrr	�	to_ranges*rzSequenceRanges.to_rangescCrr)rr
rrrr	�__iter__-rzSequenceRanges.__iter__cCsZt|j|�}|t|j�kr+|j|}t|t�r'|d|ko$|dkSS||kSdS)Nr�F)�find_ranges_indexr
�len�
isinstance�tuple)r�item�index�testrrr	�__contains__0s

 zSequenceRanges.__contains__cC�t|j|�dSr)�
add_to_rangesr
�rr$rrr	�add9�zSequenceRanges.addcCr(r)�remove_from_rangesr
r*rrr	�remove<r,zSequenceRanges.removeN)rrrrr�classmethodrrrrrr'r+r.rrrr	r
s

	r
ccs��t|�}zt|�}}Wn
tyYdSw|durxzt|�}Wnty-d}Ynw||dkr9|d7}n9|durT||krT||krMtd||f��td|f��||kr\|Vn||dkri|V|Vn||fV|}}|dusdSdS)z9Iterate over range items that compose the given sequence.NrzSequence is unordered (%r < %r)zFound duplicated item (%r))�iter�next�
StopIterationr)r�iterator�range_start�
range_stopr$rrr	r@s:���
�
�rccsX�|D]&}t|t�r&|\}}||krtd||��t||d�D]}|Vqq|VqdS)z;Iterate over individual items represented in a ranges list.zRange error %d > %drN)r"r#�
ValueErrorr)rr$�start�endrrr	r`s�
��rcCsjd}t|�}||kr3||d}||}z|d}Wn	ty#Ynw||kr-|d}n|}||ks
|S)z'Find the index where an entry *may* be.r�r)r!�	TypeError)rr$�lo�hi�midr&rrr	r ms�
�r c	CsZt||�}}}|}}t|�}||kr6||}t|t�r0|d|kr-|dkr/dSnn||kr6dS|dkrf||d}t|t�rS|d|dkrNn|d}n||dkrZn|d8}|d8}|dks:||kr�||}t|t�r�|d|dkr|n|d}n||dkr�n|d7}|d7}||ksj||dkr�|�||�dS||ff|||�<dS)z.Insert item in ranges, reorganizing as needed.rrNr9)r r!r"r#�insert)	rr$�index_start�
index_stopr%r4r5�
ranges_lenr&rrr	r)sH
�

�


�r)cCs�t||�}t|�}||krp||}t|t�rg|\}}||kre||dkr4t|d|d�|||d�<n
|d|ff|||d�<||dkrX||krVt||�|||�<dSdS||dff|||�<dSdS||krr||=dSdSdS)z0Remove item from ranges, reorganizing as needed.�rN)r r!r"r#�range)rr$r%rAr&r4r5rrr	r-�s(

 ��
�r-N)�twisted.python.compatr�	Exceptionr�objectr
rrr r)r-rrrr	�<module>s8 
1

Spamworldpro Mini