Hacked By AnonymousFox
�
�܋f�Z � �� � d Z ddlZddlmZ ej ZddlZddlmZ ddlm Z ddl
mZmZ ddl
mZ ddlmZmZmZmZ dd lmZ d
ZdZeefZddd
ededededdedediZed
edededdedeiZdej z ZdZd� Zd� Zd� Z d� Z! G d� d� � Z"d� Z#d� Z$d� Z% G d� d e&� � Z' G d!� d"e'� � Z(d#� Z)d$� Z*d%� Z+d&� Z,d/d'�Z-d(� Z.efd)�Z/d*� Z0d+� Z1d,� Z2d-� Z3 dd.l4m1Z1 dS # e5$ r Y dS w xY w)0z�Contains basic c-functions which usually contain performance critical code
Keeping this code separate from the beginning makes it easier to out-source
it into c later, if required� N��byte_ord)�islice)�reduce)� NULL_BYTE�
BYTE_SPACE)�
force_text)�
str_blob_type�str_commit_type�
str_tree_type�str_tag_type)�StringIO� � � � � � � � � OFS_DELTA� REF_DELTAi� )�is_loose_object�loose_object_header_info�msb_size�pack_object_header_info�write_object�loose_object_header�stream_copy�apply_delta_data�is_equal_canonical_sha�connect_deltas�DeltaChunkList�create_pack_object_headerc � � || _ | S )z�Truncate the given delta to the given size
:param size: size relative to our target offset, may not be 0, must be smaller or equal
to our size
:return: d��ts)�d�sizes �Z/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/gitdb/fun.py�_set_delta_rboundr+ ? s � �
�A�D�
�Hr c � � |dk rdS | xj |z
c_ | xj |z
c_ | xj |z c_ | j �| j |d� | _ | S )z�Move the delta by the given amount of bytes, reducing its size so that its
right bound stays static
:param bytes: amount of bytes to move, must be smaller than delta size
:return: dr N)�to�sor'