§ |<ˆjÑ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 ú[/builddir/build/BUILD/cloudlinux-venv-1.0.12/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' Údata)r( Úbytess r* Ú_move_delta_lboundr1 K s_ € ð �‚z€z؈à€D„DˆE�M€D„DØ€D„DˆE�M€D„DØ€D„DˆE�M€D„DØ„vÐØ”˜˜˜”ˆŒð €Hr c óN — t | j | j | j | j ¦ « S ©N)Ú DeltaChunkr- r' r. r/ )Úsrcs r* Údelta_duplicater6 ] s € Ý�c”f˜cœf c¤f¨c¬hÑ7Ô7Ð7r c óú — | j €' ||| j | j | j z … ¦ « dS | j t | j ¦ « k r || j d| j … ¦ « dS || j ¦ « dS )z Apply own data to the target buffer :param bbuf: buffer providing source bytes for copy operations :param write: write method to call with data to writeN)r/ r. r' Úlen)ÚdcÚbbufÚwrites r* Údelta_chunk_applyr<