
    pj0                         S r SSKrSSKJrJrJr  SSKJr  SSKJr  SSK	J
r
  \" SSS	9rSS
\S\S\4S jjrS\\   S\S\4S jrS
\S\R                   SS4S jrS\\   S\R                   S\4S jrS
\
S\4S jrS
\
SS4S jrS
\
S\SS4S jrg)z,Contains the Nextgen Pythonic protobuf APIs.    N)TextTypeTypeVar)decoder)encoder)Message_MESSAGEr   )boundmessagedeterministicreturnc                      U R                  US9$ )a  Return the serialized proto.

Args:
  message: The proto message to be serialized.
  deterministic: If true, requests deterministic serialization of the
    protobuf, with predictable ordering of map keys.

Returns:
  A binary bytes representation of the message.
)r   )SerializeToString)r   r   s     Q/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/google/protobuf/proto.py	serializer      s     
	"	"	"	??    message_classpayloadc                 6    U " 5       nUR                  U5        U$ )zGiven a serialized data in binary form, deserialize it into a Message.

Args:
  message_class: The message meta class.
  payload: A serialized bytes in binary form.

Returns:
  A new message deserialized from payload.
)ParseFromString)r   r   new_messages      r   parser   !   s     +g&	r   outputc                     [        U 5      n[        U5      n[        R                  " 5       " UR                  U5        UR	                  U5      nXC:w  a  [        SXC4-  5      eg)a  Writes the size of the message as a varint and the serialized message.

Writes the size of the message as a varint and then the serialized message.
This allows more data to be written to the output after the message. Use
parse_length_prefixed to parse messages written by this method.

The output stream must be buffered, e.g. using
https://docs.python.org/3/library/io.html#buffered-streams.

Example usage:
  out = io.BytesIO()
  for msg in message_list:
    proto.serialize_length_prefixed(msg, out)

Args:
  message: The protocol buffer message that should be serialized.
  output: BytesIO or custom buffered IO that data should be written to.
z_Failed to write complete message (wrote: %d, expected: %d). Ensure output is using buffered IO.N)r   lenr   _VarintEncoderwrite	TypeError)r   r   r   sizeout_sizes        r   serialize_length_prefixedr!   0   se    & g'	W$	6<<.\\'"(
	03;2B	C  r   input_bytesc                     [         R                  " U5      nUc  gU " 5       nUS:X  a  U$ UR                  UR                  U5      5      nXB:w  a/  [	        SR                  X$UR                  R                  5      5      eU$ )aj  Parse a message from input_bytes.

Args:
  message_class: The protocol buffer message class that parser should parse.
  input_bytes: A buffered input.

Example usage:
  while True:
    msg = proto.parse_length_prefixed(message_class, input_bytes)
    if msg is None:
      break
    ...

Returns:
  A parsed message if successful. None if input_bytes is at EOF.
Nr   zdTruncated message or non-buffered input_bytes: Expected {0} bytes but only {1} bytes parsed for {2}.)r   _DecodeVarintr   read
ValueErrorformat
DESCRIPTORname)r   r"   r   r   parsed_sizes        r   parse_length_prefixedr+   O   s    & 
		{	+$	\ O'	QYN''(8(8(>?+
	vd););)@)@A 
 
.r   c                 "    U R                  5       $ )zReturns the serialized size of this message.

Args:
  message: A proto message.

Returns:
  int: The number of bytes required to serialize this message.
)ByteSizer   s    r   	byte_sizer/   w   s     
			r   c                 $    U R                  5         g)z`Clears all data that was set in the message.

Args:
  message: The proto message to be cleared.
N)Clearr.   s    r   clear_messager2      s     
--/r   
field_namec                 &    U R                  U5        g)aX  Clears the contents of a given field.

Inside a oneof group, clears the field set. If the name neither refers to a
defined field or oneof group, :exc:`ValueError` is raised.

Args:
  message: The proto message.
  field_name (str): The name of the field to be cleared.

Raises:
  ValueError: if the `field_name` is not a member of this message.
N)
ClearField)r   r3   s     r   clear_fieldr6      s     
Z r   )N)__doc__iotypingr   r   r   google.protobuf.internalr   r   google.protobuf.messager   r	   boolbytesr   r   BytesIOr!   r+   intr/   r2   r6    r   r   <module>rA      s    3 	 & & , , +:Y/@x @ @ @h % H x   >%>%02

%%P	w 	3 	7 t ! !d !t !r   