HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib64/python3.9/site-packages/borg/helpers/__pycache__/msgpack.cpython-39.opt-1.pyc
a

HZ�h�"�	@sPddlmZddlTddlmZddlmZddlmZ	ddlm
Zdd	lmZ
dd
lmZddlmZddlmZdd
lmZeZedkZGdd�de�ZGdd�de�ZGdd�de�Zddd�dd�Zddd�dd�ZGdd�de�Z
ddddddddd �d!d"�Zddddddddd �d#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�ZdS)/�)�
StableDict�)�*�)�Packer)�packb)�pack)�Unpacker)�unpackb)�unpack)�version)�ExtType)�	OutOfData)rrrc@seZdZdZdS)�
PackExceptionzException while msgpack packingN��__name__�
__module__�__qualname__�__doc__�rr�:/usr/lib64/python3.9/site-packages/borg/helpers/msgpack.pyr$src@seZdZdZdS)�UnpackExceptionz!Exception while msgpack unpackingNrrrrrr(srcs8eZdZddddddd��fdd�
Z�fdd�Z�ZS)	rNFT��default�unicode_errors�use_single_float�	autoreset�use_bin_type�strict_typescst�j||||||d�dS)Nr)�super�__init__)�selfrrrrrr��	__class__rrr -s
�zPacker.__init__c
s@zt��|�WSty:}zt|��WYd}~n
d}~00dS�N)rr�	Exceptionr)r!�obj�er"rrr5szPacker.pack)rrrr r�
__classcell__rrr"rr,s
�rFN�rrc
KsJzt|f||d�|��WStyD}zt|��WYd}~n
d}~00dS�Nr))�mp_packbr%r)�orr�kwargsr'rrrr<src
KsLzt||f||d�|��WStyF}zt|��WYd}~n
d}~00dSr*)�mp_packr%r)r,�streamrrr-r'rrrrDsrcs\eZdZd
ddddddddeddddddd��fdd�Z�fd	d
�Z�fdd�ZeZ�ZS)r	NrTF��)�	read_size�use_list�raw�object_hook�object_pairs_hook�	list_hookr�max_buffer_size�ext_hook�strict_map_key�max_str_len�max_bin_len�
max_array_len�max_map_len�max_ext_lencsHt|||||||||	|
||
|||d�}tr2||d<t�jfi|��dS)N)�	file_liker1r2r3r4r5r6rr7r8r:r;r<r=r>r9)�dict�	_post_100rr )r!r?r1r2r3r4r5r6rr7r8r9r:r;r<r=r>�kwr"rrr Rs
�	zUnpacker.__init__c
sPzt���WSty �Yn,tyJ}zt|��WYd}~n
d}~00dSr$)rrrr%r�r!r'r"rrrkszUnpacker.unpackc
sPzt���WSty �Yn,tyJ}zt|��WYd}~n
d}~00dSr$)r�__next__�
StopIterationr%rrCr"rrrDsszUnpacker.__next__)N)	rrrr
r rrD�nextr(rrr"rr	Qs�r	Tr0)r3rr9r:r;r<r=r>c
Kspz>t|||||||d�}
|
�|	�tr.||
d<t|fi|
��WStyj}zt|��WYd}~n
d}~00dS�N)r3rr:r;r<r=r>r9)r@�updaterA�
mp_unpackbr%r)�packedr3rr9r:r;r<r=r>r-rBr'rrrr
~s	�
r
c
Kspz>t|||||||d�}
|
�|	�tr.||
d<t|fi|
��WStyj}zt|��WYd}~n
d}~00dSrG)r@rHrA�	mp_unpackr%r)r/r3rr9r:r;r<r=r>r-rBr'rrrr�s	�
rcCsddl}ddl}|j|jjuS)Nr)�msgpackZmsgpack.fallbackr�fallback�rLrrr�is_slow_msgpack�srOcCs4ddl}d|jdd�ko$dkno2|jdvS)Nr)r���)rrr))rrr)rLrrNrrr�is_supported_msgpack�s"�rSc	Cs�tddddttt�td�}|dkr8|�tddd��n�|dkrT|�ttdd��nl|d	krv|�td
dtdtd��nJ|d
kr�|�td
ddtd��n*|dkr�|�td
dddtd��ntd��t	fi|��S)zWreturn a limited Unpacker because we should not trust msgpack data received from remoteFrrR)r2r;r>r7r:Zserver�d)r<r=ZclientZmanifestT�)r2r<r=r:r4�archivei')r2r=r:r4�key�
i�z4kind must be "server", "client", "manifest" or "key")
r@�max�BUFSIZEZMAX_OBJECT_SIZErHZLIST_SCAN_LIMITZMAX_ARCHIVESr�
ValueErrorr	)�kind�argsrrr�get_limited_unpacker�sH��
�
�
�
�
r^cCst|t�rtj|ddd�S|S)zConvert bytearray to int
    �littleT�Zsigned)�
isinstance�bytes�int�
from_bytes)�mtimerrr�
bigint_to_int�s
rfcCs,|��dkr(|j|��ddddd�S|S)z[Convert integers larger than 64 bits to bytearray

    Smaller integers are left alone
    �?�	�r_Tr`)�
bit_length�to_bytes)�valuerrr�
int_to_bigint�srm)Z
datastructrZ	constantsrLrZ	mp_Packerrr+rr.r	Zmp_Unpackerr
rIrrKrZ
mp_versionr
rrAr%rrrOrSr^rfrmrrrr�<module>sN
-��)