https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/debian/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/debian/__pycache__/_util.cpython-310.pyc
o

�|�a�4�@s�ddlZddlmZzddlmZmZmZmZmZmZm	Z	m
Z
mZmZe	d�Z
Wney3dZ
Ynwdd�ZGdd	�d	e�ZeZd
d�ZGdd
�d
ee
�ZGdd�dee
�ZGdd�de�ZdS)�N)�
ReferenceType)
�Iterable�Optional�Generic�Dict�List�Iterator�TypeVar�
TYPE_CHECKING�Any�Callable�TFcCs|dur|�SdS�N�)�refrr�./usr/lib/python3/dist-packages/debian/_util.py�resolve_refsrcs\eZdZdZddgZer�fdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�Z�Z
S)�_CaseInsensitiveStringzCase insensitive string.
    �	str_lower�str_origcs tt|��|�d|_d|_dS)N�)�superr�__init__rr)�self�s��	__class__rrrs
z_CaseInsensitiveString.__init__cCs t�||�}||_|��|_|Sr)�str�__new__r�lowerr)�cls�str_rrrrr$s
z_CaseInsensitiveString.__new__cC�|jSr)r�rrrr�__str__,�z_CaseInsensitiveString.__str__cC�
t|j�Sr)�hashrr#rrr�__hash__0�
z_CaseInsensitiveString.__hash__cCs&z|j|��kWStyYdSw)NF)rr�AttributeError�r�otherrrr�__eq__4s
�z_CaseInsensitiveString.__eq__cCs
||kSrrr+rrr�__ne__;r)z_CaseInsensitiveString.__ne__cCr"r)rr#rrrr?r%z_CaseInsensitiveString.lower)�__name__�
__module__�__qualname__�__doc__�	__slots__r
rrr$r(r-r.r�
__classcell__rrrrrsrcCs|��Sr)r��xrrr�default_field_sort_keyGsr7c@s~eZdZdZdd�Zedd��Zejdd��Zdd�Zd	d
�dd�Z	d	d
�d
d�Z
edd��Zedd��Z
dd�Zdd�ZdS)�LinkedListNode)�_previous_node�value�	next_node�__weakref__cCsd|_d|_||_dSr)r9r;r:�rr:rrrrP�
zLinkedListNode.__init__cCr&r)rr9r#rrr�
previous_nodeV�
zLinkedListNode.previous_nodecCs"|durt�|�|_dSd|_dSr)�weakrefrr9�r�noderrrr?[s"cCs"t�|j|j�d|_d|_|jSr)r8�
link_nodesr?r;r:r#rrr�remove`szLinkedListNode.removeF)�skip_currentcc�,�|r|jn|}|r|V|j}|s
dSdSr)r;�rrFrCrrr�	iter_nextg���zLinkedListNode.iter_nextccrGr)r?rHrrr�
iter_previousprJzLinkedListNode.iter_previouscCs|r||_|r||_dSdSr�r?r;rLrrrrDys

�zLinkedListNode.link_nodescCst�||�t�||�dSr)r8rD)�
first_node�new_node�	last_noderrr�_insert_link�szLinkedListNode._insert_linkcCs*||ur	||jusJ�t�|j||�dSr)r?r8rP�rrNrrr�
insert_before��zLinkedListNode.insert_beforecCs*||ur	||jusJ�t�|||j�dSr)r;r8rPrQrrr�insert_after�rSzLinkedListNode.insert_afterN)r/r0r1r3r�propertyr?�setterrErIrK�staticmethodrDrPrRrTrrrrr8Ls$

�
�	

r8c@s�eZdZdZdZd&dd�Zdd�Zdd	�Zed
d��Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�ZdS)'�
LinkedListavSpecialized linked list implementation to support the deb822 parser needs

    We deliberately trade "encapsulation" for features needed by this library
    to facilitate their implementation.  Notably, we allow nodes to leak and assume
    well-behaved calls to remove_node - because that makes it easier to implement
    components like Deb822InvalidParagraphElement.
    ��	head_node�	tail_node�_sizeNcCs,d|_d|_d|_|dur|�|�dSdS�Nr)rZr[r\�extend)r�valuesrrrr�s�zLinkedList.__init__cCs
|jduSr)rZr#rrr�__bool__�r)zLinkedList.__bool__cCr"r)r\r#rrr�__len__�r%zLinkedList.__len__cCs|jdur	|jjSdSr)r[r:r#rrr�tail�szLinkedList.tailcCs"|jdur	td��|�|j�dS)Nzpop from empty list)r[�
IndexError�remove_noder#rrr�pop�s
zLinkedList.popccs&�|j}|dur
dS|��EdHdSr)rZrI)rrZrrr�
iter_nodes�s
�zLinkedList.iter_nodesccs�dd�|��D�EdHdS)Ncs��|]}|jVqdSr�r:)�.0rCrrr�	<genexpr>���z&LinkedList.__iter__.<locals>.<genexpr>)rfr#rrr�__iter__�s�zLinkedList.__iter__ccs0�|j}|dur
dSdd�|��D�EdHdS)Ncsrgrrh)ri�nrrrrj�rkz*LinkedList.__reversed__.<locals>.<genexpr>)r[rK)rr[rrr�__reversed__�s
�zLinkedList.__reversed__cCsl||jur|j|_|jdurd|_n||jur"|j|_|jdus"J�|jdks)J�|jd8_|��dS)Nr�)rZr;r[r?r\rErBrrrrd�s

�
zLinkedList.remove_nodecCs"|jdur
|�|�S|�||j�Sr)rZ�appendrRr=rrr�insert_at_head�s

zLinkedList.insert_at_headcCsRt|�}|jdur||_||_n|jdusJ�|j�|�||_|jd7_|S)Nro)r8rZr[rTr\)rr:rCrrrrp�s
zLinkedList.appendcC�|�t|�|�Sr)�insert_node_beforer8�rr:�
existing_noderrrrR��zLinkedList.insert_beforecCrrr)�insert_node_afterr8rtrrrrT�rvzLinkedList.insert_aftercC�Z|jdur	td��|jdus|jdurtd��|�|�||jur$||_|jd7_|S�Nz,List is empty; node argument cannot be validz&New node must not already be inserted!ro)rZ�
ValueErrorr;r?rRr\�rrNrurrrrs��


zLinkedList.insert_node_beforecCrxry)r[rzr;r?rTr\r{rrrrwr|zLinkedList.insert_node_aftercC�|D]}|�|�qdSr)rp)rr_�vrrrr^��zLinkedList.extendcCsd|_d|_d|_dSr]rYr#rrr�clearr>zLinkedList.clearr)r/r0r1r2r3rr`rarUrbrerfrlrnrdrqrprRrTrsrwr^r�rrrrrX�s*

rXc@s~eZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
eZdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS)�
OrderedSetz�A set-like object that preserves order when iterating over it

    We use this to keep track of keys in Deb822Dict, because it's much faster
    to look up if a key is in a set than in a list.
    NcCs2i|_t�|_|dur
g}|D]}|�|�qdSr)�_OrderedSet__tablerX�_OrderedSet__order�add�r�iterable�itemrrrr#s�zOrderedSet.__init__cCsF||vr!|j�|�}z||j|<WdSty |j�|��wdSr)r�rpr��	Exceptionrd�rr�rCrrrr�1s��zOrderedSet.addcCs"|j|}|j|=|j�|�dSr)r�r�rdr�rrrrE?s
zOrderedSet.removecCr&r)�iterr�r#rrrrlGr@zOrderedSet.__iter__cCstt|j��Sr)r��reversedr�r#rrrrnLszOrderedSet.__reversed__cCr&r)�lenr�r#rrrraQr)zOrderedSet.__len__cCs
||jvSr)r��rr�rrr�__contains__Us
zOrderedSet.__contains__cCr}r)r�r�rrrr^^rzOrderedSet.extendcC�|�||jj�dS)z2Re-order the given item so it is "last" in the setN)�_reorderr�rpr�rrr�
order_lastd�zOrderedSet.order_lastcCr�)z3Re-order the given item so it is "first" in the setN)r�r�rqr�rrr�order_firstir�zOrderedSet.order_firstc�4||krtd���j|���|��fdd��dS)zTRe-order the given item so appears directly after the reference item in the sequence�*Cannot re-order an item relative to itselfc��j�|��Sr)r�rRr5��reference_noderrr�<lambda>t�z)OrderedSet.order_before.<locals>.<lambda>N�rzr�r��rr��reference_itemrr�r�order_beforen�
zOrderedSet.order_beforecr�)zURe-order the given item so appears directly before the reference item in the sequencer�cr�r)r�rTr5r�rrr�|r�z(OrderedSet.order_after.<locals>.<lambda>Nr�r�rr�r�order_aftervr�zOrderedSet.order_aftercCs.|j|}|j�|�||j�}||j|<dSr)r�r�rdr:)rr��
reinserterrCrNrrrr�~s

zOrderedSet._reorderr)r/r0r1r2rr�rErlrnrar�rpr^r�r�r�r�r�rrrrr�s 
r�)rAr�typingrrrrrrr	r
rrr
�ImportErrorrrr�_strIr7r8rX�objectr�rrrr�<module>s 0�-I

https://t.me/RX1948 - 2025