úÎ!e_M      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLSafe+None .2456=?HMV&ÀprotobufLFixed integers are stored in little-endian form without additional encoding.protobuf0Signed integers are stored in a zz-encoded form.protobuf)A list that is stored in a packed format.protobufA M N2 used to select packed sequence encoding/decoding. protobuf  fields use O and P% when encoding and decoding messages. protobufPacked values.protobufLists of values.protobuf%Required fields. Parsing will return  if a "# value is not found while decoding.protobuf7Optional fields. Values that are not found will return Q.protobufiFunctions for wrapping and unwrapping record fields. When applied they will have types similar to these:  :: " '1' (% ) ->   ::  -> " '1' (% )  ::  '2' (%   ) -> R     :: R    ->  '2' (%   )  ::  '3' (% S) -> [S]  :: [S] ->  '3' (% S)  ::   '4' (%   ) -> [  ]  :: [  ] ->   '4' (%   ) protobufExtract a value from it's  representation.protobufWrap it back up again.protobuf4An isomorphism lens compatible with the lens packageprotobuf4To provide consistent instances for serialization a M N is needed to make " fields have the same shape as ,  and  . This is the   N with a T instance.protobufpFields are merely a way to hold a field tag along with its type, this shouldn't normally be referenced directly.CThis provides better error messages than older versions which used protobuf[ is a newtype wrapped used to break overlapping instances for encoding and decoding valuesprotobuf[ is a newtype wrapped used to break overlapping instances for encoding and decoding values"protobuf"[ is a newtype wrapped used to break overlapping instances for encoding and decoding values%protobuf%G selects the normal/typical way for encoding scalar (primitive) values.UprotobufIso:   ( n (% a)) = [a] VprotobufIso:   ( n (% a)) = R a WprotobufIso:   (" n (% a)) = a XprotobufIso:   ( n (  a)) = [a] YprotobufIso:   ( n (  a)) = R a ZprotobufIso:   (" n (  a)) = a [protobufIso:   (  n (  a)) = [a] \protobufIso:   (  n (% a)) = [a] (  !"#$%&'None 12=>?MX4 ,protobuf5A representation of the wire format as described in Fhttps://developers.google.com/protocol-buffers/docs/encoding#structure-protobuf=For: int32, int64, uint32, uint64, sint32, sint64, bool, enum.protobufFor: fixed64, sfixed64, double/protobuf=For: string, bytes, embedded messages, packed repeated fields0protobufFor: groups (deprecated)1protobufFor: groups (deprecated)2protobufFor: fixed32, sfixed32, float3protobufField identifiers8protobufÅThis can be used on any Integral type and is needed for signed types; unsigned can use putVarUInt below. This has been changed to handle only up to 64 bit integral values (to match documentation).9protobufAThis should be used on unsigned Integral types only (not checked)]protobufEmpty lists are not written out ()*+,-./0123456789:;<=>None 8=>?HUVX7öBprotobuf"Encode a Protocol Buffers message.CprotobuffEncode a Protocol Buffers message prefixed with a varint encoded 32-bit integer describing its length.^protobufUntyped message encoding?@ABCNone 8=>?HUVX>÷Gprotobuf"Decode a Protocol Buffers message.HprotobuffDecode a Protocol Buffers message prefixed with a varint encoded 32-bit integer describing its length._protobufÃfoldMapM implemented in a way that defers using (mempty :: b) unless the Foldable is empty, this allows the gross hack of pretending Always is a Monoid while strictly evaluating the accumulator`protobufUntyped message decoding,  F = a DbEFGHcNone 456=>?HMUV\JprotobufrThe way to embed a message within another message. These embedded messages are stored as length-delimited fields. For example: &data Inner = Inner { innerField ::  '1' (  ) } deriving (d, T ) instance @ Inner instance E/ Inner data Outer = Outer { outerField ::  '1' ( Inner) } deriving (d, T ) instance @ Outer instance E Outer It's worth noting that  J a  is a e and f instance. The eJ behavior models that of the Protocol Buffers documentation, effectively g™. It's done with a fairly big hammer and it isn't possible to override this behavior. This can cause some less-obvious compile errors for paramterized J types: data Inner = Inner{inner :: " '2' (% h )} deriving (d, T ) instance @ Inner instance E& Inner data Outer a = Outer{outer :: " '3' (J a)} deriving (d, T ) instance @ a => @ (Outer a) instance E a => E (Outer a) This fails because E‚ needs to know that the message can be merged. The resulting error implies that you may want to add a constraint to the internal I class: 4/tmp/tst.hs:18:10: Could not deduce (protobuf-0.1:I (i. a)) arising from a use of `protobuf-0.1: " .$gdmdecode' from the context (Eˆ a) bound by the instance declaration at /tmp/tst.hs:18:10-39 Possible fix: add an instance declaration for (protobuf-0.1:I (i, a)) In the expression: (protobuf-0.1:".$gdmdecode) In an equation for F: decode = (protobuf-0.1:1 .$gdmdecode) In the instance declaration for `E (Outer a)' The correct fix is to add the e constraint for the message:  - instance (@ a) => E (Outer a) + instance (e (J a), E a) => E (Outer a) jprotobufIso:   ( n (J a)) = [a] kprotobufIso:   ( n (J a)) = R a lprotobufIso:   (" n (J a)) = a IJKLNone\W8  !"#$%&'()*+,-./0123456789:;<=>?DIJKL83,-./012:6*+();<=>47589%&' "#$ ! JKLD?INone^M %@ABCEFGHJ@ABCEFGH % Jm  !"#$%&'()**+,,-.#/0$123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYWZ[W\]W\^W_`W_abcdWefghijklmnopqrWZstuWvwWZxyz{W|}bc~Wvghi€'protobuf-0.2.1.3-1YCILo0ZzI37VFFrYCzDxTData.ProtocolBuffersData.ProtocolBuffers.InternalData.ProtocolBuffers.OrphansData.ProtocolBuffers.TypesControl.Alternativeempty Data.TextTextData.IntInt32 Data.WordWord64Data.Functor.IdentityIdentity Data.TaggedTaggedData.ProtocolBuffers.WireData.ProtocolBuffers.EncodeData.ProtocolBuffers.DecodeData.ProtocolBuffers.MessageRequiredValueInt64MessageDecodeFixedSigned PackedList unPackedList PackedFieldrunPackedField EnumerationrunEnumerationPackedRepeatedOptionalHasField FieldTypegetFieldputFieldfieldAlways runAlwaysFieldrunField RepeatedField runRepeated OptionalField runOptional RequiredField runRequiredrunValue DecodeWire decodeWire EncodeWire encodeWire WireField VarintField Fixed64FieldDelimitedField StartFieldEndField Fixed32FieldTaggetVarintPrefixedBSputVarintPrefixedBS getWireField getVarInt putVarSInt putVarUInt wireFieldTag zzEncode32 zzEncode64 zzDecode32 zzDecode64GEncodeEncodeencode encodeMessageencodeLengthPrefixedMessageGDecodedecode decodeMessagedecodeLengthPrefixedMessageGMessageMonoid runMessagebaseData.Traversable TraversableGHC.BaseFunctorGHC.EnumfromEnumtoEnum GHC.MaybeNothingMaybeghc-prim GHC.TypesDoubleGHC.ShowShow$fHasFieldField$fHasFieldField0$fHasFieldField1$fHasFieldField2$fHasFieldField3$fHasFieldField4$fHasFieldField5$fHasFieldField6encodePackedList$fEncodeHashMapfoldMapM$fDecodeHashMapidgdecode fieldDecode GHC.GenericsGenericMonoiddeepseq-1.4.4.0Control.DeepSeqNFData Data.MonoidLastFloatRep