
    "f}                     r    d Z ddlmZmZ ddlmZ ddlmZ 	 ddede	d	ed
ee	df         deee	f         f
dZ
dS )zUtility functions.    )TupleUnion   )Record)InsufficientMemoryErrorNbufferoffsetdumpnbytesreturnc           	         |1t          | |d                   }|t          |          z  }||_        n|}||z  }t          | ||                   }t          |          |k     rd|_        t          |          dk    r|                    d|           n||_        |j        r
d|j         nd}|t          |          z
   d| d| dt          |           d	}t          |          ||_        ||fS )
zBGet bytes from buffer (get remainder in buffer if nbytes is None).Nz<insufficient bytes>     z too few bytes to unpackz, z needed, only z
 available)byteslenmemoryvalueadd_extra_bytesfmtr   )r   r	   r
   r   chunkstartextraunpack_shortages           R/mounts/lovelace/software/anaconda3/lib/python3.11/site-packages/plum/_getbytes.pygetbytesr      s7    ~fVWWo&&#e** &fU6\*++u::/DJ5zzB$$R////#&*h6NNNNBE CJJ& B B B BB B+.u::B B B 
 */:::&=    )N)__doc__typingr   r   r
   r   
exceptionsr   r   intr    r   r   <module>r#      s                    / / / / / / JN" """&,"6;CI6F"
5#:" " " " " "r   