
    *Jf                     v   U d Z ddlZddlmZmZmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ eegef         Zeed	<   ee
gee         f         Zeed
<   eegef         Zeed<   ee
gee         f         Zeed<    G d de          Z ee ej        d          j                  Z ee ej        d          j                  Z ee ej        d          j                  Z ee ej        d          j                  Z ee ej        d          j                  Z ee ej        d          j                  Z  ee ej        d          j                  Z! ee ej        d          j"                  Z# ee ej        d          j"                  Z$ ee ej        d          j"                  Z% ee ej        d          j"                  Z& ee ej        d          j"                  Z' ee ej        d          j"                  Z( ee ej        d          j"                  Z) ej        d          Z* eeegef         e*j                  Z+ eee*j,                  Z-dedefdZ. ej        d                              d          e/                    d          k    re.Z dS dS )z0
Utility functions to deal with binary structs.
    N)CallablecastOptionalTuple)	TypeAlias   )Buffer)errors)ProtocolPackInt	UnpackInt	PackFloatUnpackFloatc                   :    e Zd Zdedee         dee         fdZdS )	UnpackLendatastartreturnc                     d S )N )selfr   r   s      R/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/psycopg/_struct.py__call__zUnpackLen.__call__   s          N)__name__
__module____qualname__r	   r   intr   r   r   r   r   r   r      s3        MVMHSMMeCjMMMMMMr   r   z!hz!Hz!iz!Iz!qz!fz!dxr   c                 *    t          j        d          )Nzcannot dump Float4: Python affected by bug #304. Note that the psycopg-c and psycopg-binary packages are not affected by this issue. See https://github.com/psycopg/psycopg/issues/304)eInterfaceError)r   s    r   pack_float4_bug_304r#   .   s    

	=  r   g      ?3f800000)0__doc__structtypingr   r   r   r   typing_extensionsr   abcr	    r
   r!   _compatr   r   bytesr   __annotations__r   floatr   r   r   Structpack	pack_int2
pack_uint2	pack_int4
pack_uint4	pack_int8pack_float4pack_float8unpackunpack_int2unpack_uint2unpack_int4unpack_uint4unpack_int8unpack_float4unpack_float8_struct_lenpack_lenunpack_from
unpack_lenr#   fromhexr   r   r   <module>rE      s      2 2 2 2 2 2 2 2 2 2 2 2 ' ' ' ' ' '                  seUl+ + + +%* 45	9 5 5 5/	9 / / /!6(E%L"89Y 9 9 9N N N N N N N N D-&---233	T'=6=..344
D-&---233	T'=6=..344
D-&---233	d9mfmD11677d9mfmD11677d9mfmD11899tI}v}T229::d9mfmD11899tI}v}T229::d9mfmD11899[-&-"5"5"<==[-&-"5"5"<==fmD!!4#&(899T)[455
5 U     6=C  EMM*$=$===%KKK >=r   