Duac@s'dZdZddlZddlmZddlmZdZde>dZdZdZ d Z dZ d Z d Z d Zed3Zed5Zd7Zd9Zd;Zd=ZdZdZdZdZejed krednejedkredndZdZdZdZdZ dZ!dZ"dZ#dZ$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.Z3d/Z4d0Z5ej6j7ej6j8ej6j9ej6j:fZ;d1Z<dS(>sFConstants and static functions to support protocol buffer wire format.s#robinson@google.com (Will Robinson)iN(t descriptor(tmessageiiiiiiii i?i@sd|kotkns2tjd|n|t>|BS(sReturns 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. isUnknown wire type: %d(t _WIRETYPE_MAXRt EncodeErrort TAG_TYPE_BITS(t field_numbert wire_type((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytPackTagPscCs|t?|t@fS(skThe inverse of PackTag(). Given an unsigned 32-bit number, returns a (field_number, wire_type) tuple. (Rt TAG_TYPE_MASK(ttag((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt UnpackTag]scCs |dkr|d>S|d>dAS(sZigZag Transform: Encodes signed integers so that they can be effectively used with varint encoding. See wire_format.h for more details. iii((tvalue((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt ZigZagEncodeds cCs|d@s|d?S|d?dAS(sInverse of ZigZagEncode().iii((R ((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt ZigZagDecodens cCs t||S(N(t Int64ByteSize(Rtint32((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt Int32ByteSizezscCstd|@S(Nl(t_VarUInt64ByteSizeNoTag(R((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytInt32ByteSizeNoTag~scCst|d|@S(Nl(tUInt64ByteSize(Rtint64((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyRscCs t||S(N(R(Rtuint32((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytUInt32ByteSizescCst|t|S(N(t TagByteSizeR(Rtuint64((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyRscCst|t|S(N(RR (RR((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytSInt32ByteSizescCst|t|S(N(RR (RR((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytSInt64ByteSizescCst|dS(Ni(R(Rtfixed32((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytFixed32ByteSizescCst|dS(Ni(R(Rtfixed64((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytFixed64ByteSizescCst|dS(Ni(R(Rtsfixed32((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytSFixed32ByteSizescCst|dS(Ni(R(Rtsfixed64((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytSFixed64ByteSizescCst|dS(Ni(R(Rtflt((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt FloatByteSizescCst|dS(Ni(R(Rtdouble((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytDoubleByteSizescCst|dS(Ni(R(Rtb((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt BoolByteSizescCs t||S(N(R(Rtenum((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt EnumByteSizescCst||jdS(Nsutf-8(t BytesByteSizetencode(Rtstring((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytStringByteSizescCs$t|tt|t|S(N(RRtlen(RR'((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyR+scCsdt||jS(Ni(RtByteSize(RR((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyt GroupByteSizes cCs$t|t|j|jS(N(RRR0(RR((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytMessageByteSizescCs^dtdtdtd}|t|7}|j}|t|7}||7}|S(Niii(RRR0(Rtmsgt total_sizet message_size((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytMessageSetItemByteSizes $  cCstt|dS(sEReturns the bytes required to serialize a tag with this field number.i(RR(R((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyRscCs|dkrdS|dkr dS|dkr0dS|dkr@dS|d krPd S|d kr`d S|d krpdS|dkrdS|dkrdS|tkrtjd|ndS(sReturns the number of bytes required to serialize a single varint using boundary value comparisons. (unrolled loop optimization -WPierce) uint64 must be unsigned. iii?iiiiililililili sValue out of range: %di (t UINT64_MAXRR(R((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pyRs*          cCs |tkS(sReturn 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. (tNON_PACKABLE_TYPES(t field_type((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytIsTypePackables llllllllllll(=t__doc__t __author__tstructtgoogle.protobufRRRRtWIRETYPE_VARINTtWIRETYPE_FIXED64tWIRETYPE_LENGTH_DELIMITEDtWIRETYPE_START_GROUPtWIRETYPE_END_GROUPtWIRETYPE_FIXED32Rtintt INT32_MAXt INT32_MINt UINT32_MAXt INT64_MAXt INT64_MINR7tFORMAT_UINT32_LITTLE_ENDIANtFORMAT_UINT64_LITTLE_ENDIANtFORMAT_FLOAT_LITTLE_ENDIANtFORMAT_DOUBLE_LITTLE_ENDIANtcalcsizetAssertionErrorRR R R RRRRRRRRRR R"R$R&R(R*R.R+R1R2R6RRtFieldDescriptort TYPE_STRINGt TYPE_GROUPt TYPE_MESSAGEt TYPE_BYTESR8R:(((sH/usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format.pytst