§
    ?ÄjÅ  ã                   ó$  — d Z dZddlZddlmZ ddlmZ dZdez  dz
  ZdZdZ	dZ
dZd	Zd
Zd
Z ed¦  «        Z ed¦  «        ZdZdZdZdZdZdZdZdZ ej        e¦  «        d	k    r ed¦  «        ‚ ej        e¦  «        dk    r ed¦  «        ‚d„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d „ Z$d!„ Z%d"„ Z&d#„ Z'd$„ Z(d%„ Z)d&„ Z*d'„ Z+d(„ Z,d)„ Z-d*„ Z.d+„ Z/d,„ Z0d-„ Z1d.„ Z2d/„ Z3d0„ Z4d1„ Z5ej6        j7        ej6        j8        ej6        j9        ej6        j:        fZ;d2„ Z<dS )3zFConstants and static functions to support protocol buffer wire format.z#robinson@google.com (Will Robinson)é    N)Ú
descriptor)Úmessageé   é   é   é   é   iÿÿÿi   €l   ÿÿ ì   ÿÿÿÿ lûÿÿÿ         ì   ÿÿÿÿ z<Iz<Qz<fz<dz"Format "I" is not a 32-bit number.é   z"Format "Q" is not a 64-bit number.c                 ór   — d|cxk    rt           k    sn t          j        d|z  ¦  «        ‚| t          z  |z  S )a	  Returns an unsigned 32-bit integer that encodes the field number and

  wire type information in standard protocol message wire format.

  Args:
    field_number: Expected to be an integer in the range [1, 1 << 29)
    wire_type: One of the WIRETYPE_* constants.
  r   zUnknown wire type: %d)Ú_WIRETYPE_MAXr   ÚEncodeErrorÚTAG_TYPE_BITS)Úfield_numberÚ	wire_types     úUC:\Projects\Historical\venv\Lib\site-packages\google/protobuf/internal/wire_format.pyÚPackTagr   5   sJ   € ð 
ˆiÐ	(Ð	(Ò	(Ð	(�=Ò	(Ð	(Ð	(Ð	(Ý
Ô
Ð5¸	ÑAÑ
BÔ
BÐBØ
�-Ñ
'¨9Ñ	4Ð4ó    c                 ó*   — | t           z	  | t          z  fS )zkThe inverse of PackTag().

  Given an unsigned 32-bit number, returns a (field_number, wire_type) tuple.
  )r   ÚTAG_TYPE_MASK)Útags    r   Ú	UnpackTagr   C   s   € ð
 •Ñ
 #­Ñ"5Ð	6Ð6r   c                 ó(   — | dk    r| dz  S | dz  dz  S )z’ZigZag Transform:  Encodes signed integers so that they can be

  effectively used with varint encoding.  See wire_format.h for
  more details.
  r   r   éÿÿÿÿ© ©Úvalues    r   ÚZigZagEncoder   K   s&   € ð ˆa‚Z€ZØ�A‰:ÐØ
�1‰*˜Ñ	Ðr   c                 ó&   — | dz  s| dz	  S | dz	  dz  S )zInverse of ZigZagEncode().r   r   r   r   s    r   ÚZigZagDecoder!   V   s'   € à	�‰ð Ø�A‰:ÐØ
�1‰*˜Ñ	Ðr   c                 ó"   — t          | |¦  «        S ©N)ÚInt64ByteSize©r   Úint32s     r   ÚInt32ByteSizer'   a   s   € Ý	�| UÑ	+Ô	+Ð+r   c                 ó&   — t          d| z  ¦  «        S ©Nr   )Ú_VarUInt64ByteSizeNoTag)r&   s    r   ÚInt32ByteSizeNoTagr+   e   s   € Ý	 Ð!3°eÑ!;Ñ	<Ô	<Ð<r   c                 ó(   — t          | d|z  ¦  «        S r)   ©ÚUInt64ByteSize©r   Úint64s     r   r$   r$   i   s   € å	˜Ð&8¸5Ñ&@Ñ	AÔ	AÐAr   c                 ó"   — t          | |¦  «        S r#   r-   )r   Úuint32s     r   ÚUInt32ByteSizer3   n   s   € Ý	˜ fÑ	-Ô	-Ð-r   c                 ó@   — t          | ¦  «        t          |¦  «        z   S r#   )ÚTagByteSizer*   )r   Úuint64s     r   r.   r.   r   s   € Ý	�\Ñ	"Ô	"Õ%<¸VÑ%DÔ%DÑ	DÐDr   c                 ó<   — t          | t          |¦  «        ¦  «        S r#   )r3   r   r%   s     r   ÚSInt32ByteSizer8   v   ó   € Ý	˜¥l°5Ñ&9Ô&9Ñ	:Ô	:Ð:r   c                 ó<   — t          | t          |¦  «        ¦  «        S r#   )r.   r   r/   s     r   ÚSInt64ByteSizer;   z   r9   r   c                 ó&   — t          | ¦  «        dz   S ©Nr   ©r5   )r   Úfixed32s     r   ÚFixed32ByteSizer@   ~   ó   € Ý	�\Ñ	"Ô	" QÑ	&Ð&r   c                 ó&   — t          | ¦  «        dz   S ©Nr   r>   )r   Úfixed64s     r   ÚFixed64ByteSizerE   ‚   rA   r   c                 ó&   — t          | ¦  «        dz   S r=   r>   )r   Úsfixed32s     r   ÚSFixed32ByteSizerH   †   rA   r   c                 ó&   — t          | ¦  «        dz   S rC   r>   )r   Úsfixed64s     r   ÚSFixed64ByteSizerK   Š   rA   r   c                 ó&   — t          | ¦  «        dz   S r=   r>   )r   Úflts     r   ÚFloatByteSizerN   Ž   rA   r   c                 ó&   — t          | ¦  «        dz   S rC   r>   )r   Údoubles     r   ÚDoubleByteSizerQ   ’   rA   r   c                 ó&   — t          | ¦  «        dz   S )Nr   r>   ©r   Úbs     r   ÚBoolByteSizerU   –   rA   r   c                 ó"   — t          | |¦  «        S r#   )r3   )r   Úenums     r   ÚEnumByteSizerX   š   s   € Ý	˜ dÑ	+Ô	+Ð+r   c                 óH   — t          | |                     d¦  «        ¦  «        S )Nzutf-8)ÚBytesByteSizeÚencode)r   Ústrings     r   ÚStringByteSizer]   ž   s   € Ý	�| V§]¢]°7Ñ%;Ô%;Ñ	<Ô	<Ð<r   c                 óz   — t          | ¦  «        t          t          |¦  «        ¦  «        z   t          |¦  «        z   S r#   )r5   r*   ÚlenrS   s     r   rZ   rZ   ¢   s/   € Ý	�\Ñ	"Ô	"Õ%<½SÀ¹V¼VÑ%DÔ%DÑ	DÅsÈ1ÁvÄvÑ	MÐMr   c                 óF   — dt          | ¦  «        z   |j        ¦   «         z   S )Nr   )r5   ÚByteSize©r   r   s     r   ÚGroupByteSizerc   ¦   s(   € à�+�lÑ
#Ô
#Ñ#Ð&6 gÔ&6Ñ&8Ô&8Ñ8ðr   c                 óz   — t          | ¦  «        t           |j        ¦   «         ¦  «        z    |j        ¦   «         z   S r#   ©r5   r*   ra   rb   s     r   ÚMessageByteSizerf   ¬   sA   € å�,ÑÔÝÐ 0 Ô 0Ñ 2Ô 2Ñ3Ô3ñ4àˆÔÑÔñðr   c                 óä   — dt          d¦  «        z  t          d¦  «        z   t          d¦  «        z   }|t          | ¦  «        z  }|                     ¦   «         }|t          |¦  «        z  }||z  }|S )Nr   r   r   re   )r   ÚmsgÚ
total_sizeÚmessage_sizes       r   ÚMessageSetItemByteSizerk   ´   ss   € ð
 •;˜q‘>”>Ñ!¥K°¡N¤NÑ2µ[À±^´^ÑC€*ð Õ'¨Ñ5Ô5Ñ5€*à—’‘”€,ð Õ'¨Ñ5Ô5Ñ5€*ð �Ñ€*Ø	Ðr   c                 ó<   — t          t          | d¦  «        ¦  «        S )zEReturns the bytes required to serialize a tag with this field number.r   )r*   r   )r   s    r   r5   r5   È   s   € õ 
!¥¨°qÑ!9Ô!9Ñ	:Ô	:Ð:r   c                 óÚ   — | dk    rdS | dk    rdS | dk    rdS | dk    rdS | d	k    rd
S | dk    rdS | dk    rdS | dk    rdS | dk    rdS | t           k    rt          j        d| z  ¦  «        ‚dS )zªReturns the number of bytes required to serialize a single varint

  using boundary value comparisons. (unrolled loop optimization -WPierce)
  uint64 must be unsigned.
  é   r   iÿ?  r   iÿÿ r   iÿÿÿr   l   ÿÿ r	   l   ÿÿÿé   l   ÿÿÿ é   l   ÿÿÿÿr   r
   é	   zValue out of range: %dé
   )Ú
UINT64_MAXr   r   )r6   s    r   r*   r*   Ñ   s»   € ð ˆt‚^€^Øˆ1ØˆvÒÐØˆ1ØˆxÒÐØˆ1ØˆyÒÐØˆ1Øˆ{ÒÐØˆ1Øˆ}ÒÐØˆ1ØˆÒÐØˆ1ØÐÒÐØˆ1ØÐ!Ò!Ð!Øˆ1Ø�jÒÐÝ
Ô
Ð6¸Ñ?Ñ
@Ô
@Ð@Ø	ˆr   c                 ó   — | t           vS )z·Return true iff packable = true is valid for fields of this type.

  Args:
    field_type: a FieldDescriptor::Type value.

  Returns:
    True iff fields of this type are packable.
  )ÚNON_PACKABLE_TYPES)Ú
field_types    r   ÚIsTypePackablerw   ö   s   € ð 
Õ-Ð	-Ð-r   )=Ú__doc__Ú
__author__ÚstructÚgoogle.protobufr   r   r   r   ÚWIRETYPE_VARINTÚWIRETYPE_FIXED64ÚWIRETYPE_LENGTH_DELIMITEDÚWIRETYPE_START_GROUPÚWIRETYPE_END_GROUPÚWIRETYPE_FIXED32r   ÚintÚ	INT32_MAXÚ	INT32_MINÚ
UINT32_MAXÚ	INT64_MAXÚ	INT64_MINrs   ÚFORMAT_UINT32_LITTLE_ENDIANÚFORMAT_UINT64_LITTLE_ENDIANÚFORMAT_FLOAT_LITTLE_ENDIANÚFORMAT_DOUBLE_LITTLE_ENDIANÚcalcsizeÚAssertionErrorr   r   r   r!   r'   r+   r$   r3   r.   r8   r;   r@   rE   rH   rK   rN   rQ   rU   rX   r]   rZ   rc   rf   rk   r5   r*   ÚFieldDescriptorÚTYPE_STRINGÚ
TYPE_GROUPÚTYPE_MESSAGEÚ
TYPE_BYTESru   rw   r   r   r   ú<module>r“      sô  ðð MÐ Là2€
à €€€Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #à€Ø�mÑ# qÑ(€ð €ØÐ ØÐ ØÐ ØÐ ØÐ Ø€ð ˆC�ÑÔ€	ØˆC�
‰OŒO€	Ø€
à€	Ø€	Ø€
ð #Ð Ø"Ð Ø!Ð Ø"Ð ð €6„?Ð.Ñ/Ô/°1Ò4Ð4ØˆÐ;Ñ<Ô<Ð<Ø€6„?Ð.Ñ/Ô/°1Ò4Ð4ØˆÐ;Ñ<Ô<Ð<ð5ð 5ð 5ð7ð 7ð 7ðð ð ðð ð ð,ð ,ð ,ð=ð =ð =ðBð Bð Bð
.ð .ð .ðEð Eð Eð;ð ;ð ;ð;ð ;ð ;ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð'ð 'ð 'ð,ð ,ð ,ð=ð =ð =ðNð Nð Nðð ð ðð ð ðð ð ð(;ð ;ð ;ðð ð ð< ÔÔ*ØÔÔ)ØÔÔ+ØÔÔ)ð	Ð ð	.ð 	.ð 	.ð 	.ð 	.r   