o
    «¸¢i  ã                   @   s@   d e dedB de dB fdd„Zd ededB dedB fdd„ZdS )ÚvalueÚtrunc_lengthNÚreturnc              	   C   s‚   | d |… }|| kr?g |¢}t dt|ƒ d dƒD ]#}zt|| ƒ}t|d ƒ}|||< d |¡W   S  ty<   Y qw d S |S )Néÿÿÿÿé   Ú )ÚrangeÚlenÚordÚchrÚjoinÚ
ValueError)r   r   ÚresultÚcharsÚiÚto_incÚ_next© r   úV/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/pyiceberg/utils/truncate.pyÚ truncate_upper_bound_text_string   s   ÿr   c                 C   st   | d |… }|| kr8g |¢}t dt|ƒ d dƒD ]}|| dk r5||  d7  < d dd„ |D ƒ¡  S qd S |S )Nr   r   éÿ   ó    c                 S   s   g | ]	}|j d dd‘qS )r   Úlittle)Ú	byteorder)Úto_bytes)Ú.0r   r   r   r   Ú
<listcomp>,   s    z6truncate_upper_bound_binary_string.<locals>.<listcomp>)r   r   r   )r   r   r   Ú_bytesr   r   r   r   Ú"truncate_upper_bound_binary_string%   s   þr   )ÚstrÚintr   Úbytesr   r   r   r   r   Ú<module>   s   "