Ë
    ímxi¬  ã                   óÞ   — d Z ddlZddlmZmZ ddlmZ ddlmZ ddlm	Z	  edd¬	«      Z
dd
e
dedefd„Zdee
   dede
fd„Zd
e
dej                  ddfd„Zdee
   dej                  de
fd„Zy)z,Contains the Nextgen Pythonic protobuf APIs.é    N)ÚTypeÚTypeVar)Údecoder)Úencoder)ÚMessageÚ_MESSAGEr   )ÚboundÚmessageÚdeterministicÚreturnc                 ó&   — | j                  |¬«      S )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     úL/home/htdocs/ttos/venv/lib/python3.12/site-packages/google/protobuf/proto.pyÚ	serializer      s   € ð 
×	"Ñ	"°Ð	"Ó	?Ð?ó    Úmessage_classÚpayloadc                 ó6   —  | «       }|j                  |«       |S )zæGiven 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                 óÌ   — | j                  «       } t        j                  «       |j                  |«       |j                  t	        | «      «      }||k7  rt        d||fz  «      ‚y)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)ÚByteSizer   Ú_VarintEncoderÚwriter   Ú	TypeError)r
   r   ÚsizeÚout_sizes       r   Úserialize_length_prefixedr    1   sk   € ð& 
×	Ñ	Ó	€$Ø„'×ÑÓ˜6Ÿ<™<¨Ô.Ø�\‰\œ) GÓ,Ó-€(à�ÒÜ
ð	0Ø3;¸TÐ2Bñ	Cóð ð r   Úinput_bytesc                 óü   — t        j                  |«      }|€y | «       }|dk(  r|S |j                  |j                  |«      «      }||k7  r0t	        dj                  |||j                  j                  «      «      ‚|S )a‚  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€'à	ˆQ‚YØ€Nà×'Ñ'¨×(8Ñ(8¸Ó(>Ó?€+Ø�DÒÜ
ð	ç‰v�d˜K¨×);Ñ);×)@Ñ)@ÓAóð ð
 
€.r   )N)Ú__doc__ÚioÚtypingr   r   Úgoogle.protobuf.internalr   r   Úgoogle.protobuf.messager   r   ÚboolÚbytesr   r   ÚBytesIOr    r*   © r   r   ú<module>r4      s¤   ðñ 3ã 	ß  å ,Ý ,Ý +á�: YÔ/€ñ@�xð @°ð @Àó @ð˜˜h™ð °%ð ¸Hó ð xð ¸¿¹ð Èó ð<%Ø˜‘>ð%Ø02·
±
ð%àô%r   