packages feed

wireform-proto-0.3.0.0: test-regression/Generated/Integermaps.hs

{-# LANGUAGE StrictData #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverloadedRecordDot #-}
{-# OPTIONS_GHC -Wno-unused-imports -Wno-unused-matches -Wno-unused-top-binds #-}
-- | Auto-generated protobuf types.
--
-- __THIS FILE IS AUTO-GENERATED BY wireform. DO NOT EDIT.__
--
-- Any manual changes will be overwritten the next time code
-- generation is run.  To modify the types or instances, edit the
-- @.proto@ source file and re-run the code generator.
module Generated.Integermaps where

import Data.ByteString (ByteString)
import qualified Data.ByteString as BS
import qualified Wireform.Builder as B
import Data.Int (Int32, Int64)
import Data.Text (Text)
import qualified Data.Text as T
import Data.Word (Word32, Word64)
import qualified Data.Map.Strict as Map
import qualified Data.Vector as V
import qualified Data.Vector.Unboxed as VU
import GHC.Generics (Generic)
import Control.DeepSeq (NFData(..))
import Data.Hashable (Hashable(..))
import Proto.Encode
import Proto.Decode
import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Types as Aeson
import qualified Data.Aeson.Key as AesonKey
import qualified Data.Aeson.KeyMap as AesonKM
import Proto.Internal.JSON (jsonObject, (.=:), parseFieldMaybe, bytesFieldToJSON, parseBytesFieldMaybe, bytesMapFieldToJSON, parseBytesMapFieldMaybe, protoBytesToJSON)
import Data.Proxy (Proxy(..))
import Data.Reflection (Given(..), given)
import Proto.Internal.JSON.Extension qualified as PJExt
import Proto.Schema (ProtoMessage(..), SomeFieldDescriptor(..), FieldDescriptor(..), FieldTypeDescriptor(..), ScalarFieldType(..), FieldLabel'(..))
import Proto.Registry (IsMessage)
import Proto.Registry qualified
import qualified Proto.Extension
import Proto.Internal.Wire (Tag(..), WireType(..))
import Proto.Internal.Wire.Encode (putTag, putVarint, putFixed32, putFixed64,
  putFloat, putDouble, putText, putByteString, putLengthDelimited,
  putSVarint32, putSVarint64, putVarintSigned,
  varintSize, tagSize, fieldMessageSize,
  fieldVarintSize, fieldFixed32Size, fieldFixed64Size,
  fieldBoolSize, fieldFloatSize, fieldDoubleSize,
  fieldTextSize, fieldBytesSize,
  fieldSVarint32Size, fieldSVarint64Size,
  varintSize32, zigZag32, zigZag64)
import Proto.Internal.Encode.Archetype (archVarint, archSVarint32, archSVarint64,
  archFixed32, archFixed64, archFloat, archDouble, archBool,
  archString, archBytes, archSubmessage,
  archVarintSize, archStringSize, archBytesSize, archBoolSize,
  archFixed32Size, archFixed64Size, archSubmessageSize)

-- | Serialized FileDescriptorProto for this .proto file.
-- Decode with @Proto.Google.Protobuf.Descriptor.decodeMessage@.
fileDescriptorProtoBytes :: ByteString
fileDescriptorProtoBytes = "\x0a\x11\x69\x6e\x74\x65\x67\x65\x72\x4d\x61\x70\x73\x2e\x70\x72\x6f\x74\x6f\x22\x93\x04\x0a\x0b\x49\x6e\x74\x65\x67\x65\x72\x4d\x61\x70\x73\x12\x27\x0a\x0c\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x18\x01\x20\x03\x28\x0b\x32\x11\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x27\x0a\x0c\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x18\x02\x20\x03\x28\x0b\x32\x11\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x29\x0a\x0d\x75\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x18\x03\x20\x03\x28\x0b\x32\x12\x75\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x29\x0a\x0d\x75\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x18\x04\x20\x03\x28\x0b\x32\x12\x75\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x29\x0a\x0d\x73\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x18\x05\x20\x03\x28\x0b\x32\x12\x73\x69\x6e\x74\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x29\x0a\x0d\x73\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x18\x06\x20\x03\x28\x0b\x32\x12\x73\x69\x6e\x74\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x2d\x0a\x0f\x73\x66\x69\x78\x65\x64\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x18\x07\x20\x03\x28\x0b\x32\x14\x73\x66\x69\x78\x65\x64\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x2d\x0a\x0f\x73\x66\x69\x78\x65\x64\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x18\x08\x20\x03\x28\x0b\x32\x14\x73\x66\x69\x78\x65\x64\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x27\x0a\x0c\x69\x6e\x74\x65\x67\x65\x72\x5f\x6b\x65\x79\x73\x18\x09\x20\x03\x28\x0b\x32\x11\x69\x6e\x74\x65\x67\x65\x72\x5f\x6b\x65\x79\x73\x45\x6e\x74\x72\x79\x12\x2b\x0a\x0e\x66\x69\x78\x65\x64\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x18\x0a\x20\x03\x28\x0b\x32\x13\x66\x69\x78\x65\x64\x33\x32\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x2b\x0a\x0e\x66\x69\x78\x65\x64\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x18\x0b\x20\x03\x28\x0b\x32\x13\x66\x69\x78\x65\x64\x36\x34\x5f\x76\x61\x6c\x75\x65\x73\x45\x6e\x74\x72\x79\x12\x25\x0a\x0b\x7a\x69\x67\x7a\x61\x67\x5f\x6b\x65\x79\x73\x18\x0c\x20\x03\x28\x0b\x32\x10\x7a\x69\x67\x7a\x61\x67\x5f\x6b\x65\x79\x73\x45\x6e\x74\x72\x79\x62\x06\x70\x72\x6f\x74\x6f\x33"


data IntegerMaps = IntegerMaps
  { integerMapsInt32Values :: !(Map.Map Text Int32)
  , integerMapsInt64Values :: !(Map.Map Text Int64)
  , integerMapsUint32Values :: !(Map.Map Text Word32)
  , integerMapsUint64Values :: !(Map.Map Text Word64)
  , integerMapsSint32Values :: !(Map.Map Text Int32)
  , integerMapsSint64Values :: !(Map.Map Text Int64)
  , integerMapsSfixed32Values :: !(Map.Map Text Int32)
  , integerMapsSfixed64Values :: !(Map.Map Text Int64)
  , integerMapsIntegerKeys :: !(Map.Map Int32 Int32)
  , integerMapsFixed32Values :: !(Map.Map Text Word32)
  , integerMapsFixed64Values :: !(Map.Map Text Word64)
  , integerMapsZigzagKeys :: !(Map.Map Int32 Text)
  , integerMapsUnknownFields :: ![UnknownField]
  }
  deriving stock (Show, Eq, Generic)
  deriving anyclass NFData

defaultIntegerMaps :: IntegerMaps
defaultIntegerMaps = IntegerMaps
  { integerMapsInt32Values = Map.empty
  , integerMapsInt64Values = Map.empty
  , integerMapsUint32Values = Map.empty
  , integerMapsUint64Values = Map.empty
  , integerMapsSint32Values = Map.empty
  , integerMapsSint64Values = Map.empty
  , integerMapsSfixed32Values = Map.empty
  , integerMapsSfixed64Values = Map.empty
  , integerMapsIntegerKeys = Map.empty
  , integerMapsFixed32Values = Map.empty
  , integerMapsFixed64Values = Map.empty
  , integerMapsZigzagKeys = Map.empty
  , integerMapsUnknownFields = []
  }

instance MessageEncode IntegerMaps where
  buildMessage msg =
    Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 1 (encodeFieldString 1 k) ((encodeFieldVarint 2 . fromIntegral) v)) mempty msg.integerMapsInt32Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 2 (encodeFieldString 1 k) ((encodeFieldVarint 2 . fromIntegral) v)) mempty msg.integerMapsInt64Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 3 (encodeFieldString 1 k) ((encodeFieldVarint 2 . fromIntegral) v)) mempty msg.integerMapsUint32Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 4 (encodeFieldString 1 k) ((encodeFieldVarint 2 . fromIntegral) v)) mempty msg.integerMapsUint64Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 5 (encodeFieldString 1 k) (encodeFieldSVarint32 2 v)) mempty msg.integerMapsSint32Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 6 (encodeFieldString 1 k) (encodeFieldSVarint64 2 v)) mempty msg.integerMapsSint64Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 7 (encodeFieldString 1 k) ((encodeFieldFixed32 2 . fromIntegral) v)) mempty msg.integerMapsSfixed32Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 8 (encodeFieldString 1 k) ((encodeFieldFixed64 2 . fromIntegral) v)) mempty msg.integerMapsSfixed64Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 9 ((\x -> encodeFieldVarint 1 (fromIntegral x)) k) ((encodeFieldVarint 2 . fromIntegral) v)) mempty msg.integerMapsIntegerKeys
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 10 (encodeFieldString 1 k) (encodeFieldFixed32 2 v)) mempty msg.integerMapsFixed32Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 11 (encodeFieldString 1 k) (encodeFieldFixed64 2 v)) mempty msg.integerMapsFixed64Values
    <> Map.foldlWithKey' (\acc k v -> acc <> encodeMapField 12 (encodeFieldSVarint32 1 k) (encodeFieldString 2 v)) mempty msg.integerMapsZigzagKeys
    <> encodeUnknownFields msg.integerMapsUnknownFields

instance MessageSize IntegerMaps where
  messageSize msg =
    (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldVarintSize 2 (fromIntegral v) in acc + tagSize 1 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsInt32Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldVarintSize 2 (fromIntegral v) in acc + tagSize 2 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsInt64Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldVarintSize 2 (fromIntegral v) in acc + tagSize 3 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsUint32Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldVarintSize 2 (fromIntegral v) in acc + tagSize 4 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsUint64Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldSVarint32Size 2 v in acc + tagSize 5 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsSint32Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldSVarint64Size 2 v in acc + tagSize 6 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsSint64Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldFixed32Size 2 in acc + tagSize 7 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsSfixed32Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldFixed64Size 2 in acc + tagSize 8 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsSfixed64Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldVarintSize 1 (fromIntegral k) + fieldVarintSize 2 (fromIntegral v) in acc + tagSize 9 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsIntegerKeys)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldFixed32Size 2 in acc + tagSize 10 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsFixed32Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldTextSize 1 k + fieldFixed64Size 2 in acc + tagSize 11 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsFixed64Values)
    + (Map.foldlWithKey' (\acc k v -> let entrySz = fieldSVarint32Size 1 k + fieldTextSize 2 v in acc + tagSize 12 + varintSize (fromIntegral entrySz) + entrySz) 0 msg.integerMapsZigzagKeys)
    + unknownFieldsSize msg.integerMapsUnknownFields

instance MessageDecode IntegerMaps where
  {-# INLINE messageDecoder #-}
  messageDecoder = loop Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty Map.empty []
    where
      loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_ = withTagM
        (pure (IntegerMaps {integerMapsInt32Values = acc_0, integerMapsInt64Values = acc_1, integerMapsUint32Values = acc_2, integerMapsUint64Values = acc_3, integerMapsSint32Values = acc_4, integerMapsSint64Values = acc_5, integerMapsSfixed32Values = acc_6, integerMapsSfixed64Values = acc_7, integerMapsIntegerKeys = acc_8, integerMapsFixed32Values = acc_9, integerMapsFixed64Values = acc_10, integerMapsZigzagKeys = acc_11, integerMapsUnknownFields = reverse acc_unknown_}))
        (\fn wt -> case fn of
          1 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString (fromIntegral <$> decodeFieldVarint) "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop (Map.union acc_0 (Map.singleton mk' mv')) acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          2 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString (fromIntegral <$> decodeFieldVarint) "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 (Map.union acc_1 (Map.singleton mk' mv')) acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          3 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString (fromIntegral <$> decodeFieldVarint) "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 (Map.union acc_2 (Map.singleton mk' mv')) acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          4 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString decodeFieldVarint "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 (Map.union acc_3 (Map.singleton mk' mv')) acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          5 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString decodeFieldSVarint32 "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 (Map.union acc_4 (Map.singleton mk' mv')) acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          6 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString decodeFieldSVarint64 "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 (Map.union acc_5 (Map.singleton mk' mv')) acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          7 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString (fromIntegral <$> decodeFieldFixed32) "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 (Map.union acc_6 (Map.singleton mk' mv')) acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
          8 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString (fromIntegral <$> decodeFieldFixed64) "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 (Map.union acc_7 (Map.singleton mk' mv')) acc_8 acc_9 acc_10 acc_11 acc_unknown_
          9 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry (fromIntegral <$> decodeFieldVarint) (fromIntegral <$> decodeFieldVarint) 0 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 (Map.union acc_8 (Map.singleton mk' mv')) acc_9 acc_10 acc_11 acc_unknown_
          10 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString decodeFieldFixed32 "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 (Map.union acc_9 (Map.singleton mk' mv')) acc_10 acc_11 acc_unknown_
          11 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldString decodeFieldFixed64 "" 0) bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 (Map.union acc_10 (Map.singleton mk' mv')) acc_11 acc_unknown_
          12 -> do
            bs' <- getLengthDelimited
            let decodeEntry = runDecoder (decodeMapEntry decodeFieldSVarint32 decodeFieldString 0 "") bs'
            case decodeEntry of
              Left _ -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 acc_unknown_
              Right (mk', mv') -> loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 (Map.union acc_11 (Map.singleton mk' mv')) acc_unknown_
          _ -> do
            uf <- captureUnknownField fn (toEnum wt)
            loop acc_0 acc_1 acc_2 acc_3 acc_4 acc_5 acc_6 acc_7 acc_8 acc_9 acc_10 acc_11 (uf : acc_unknown_))

instance ProtoMessage IntegerMaps where
  protoMessageName _ = "IntegerMaps"
  protoPackageName _ = ""
  protoDefaultValue = defaultIntegerMaps
  protoFileDescriptorBytes _ = fileDescriptorProtoBytes
  protoFieldDescriptors _ = Map.fromList
    [ (1, SomeField FieldDescriptor
        { fdName = "int32_values"
        , fdNumber = 1
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsInt32Values
        , fdSet = \v m -> m { integerMapsInt32Values = v }
        }), (2, SomeField FieldDescriptor
        { fdName = "int64_values"
        , fdNumber = 2
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsInt64Values
        , fdSet = \v m -> m { integerMapsInt64Values = v }
        })
    , (3, SomeField FieldDescriptor
        { fdName = "uint32_values"
        , fdNumber = 3
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsUint32Values
        , fdSet = \v m -> m { integerMapsUint32Values = v }
        })
    , (4, SomeField FieldDescriptor
        { fdName = "uint64_values"
        , fdNumber = 4
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsUint64Values
        , fdSet = \v m -> m { integerMapsUint64Values = v }
        })
    , (5, SomeField FieldDescriptor
        { fdName = "sint32_values"
        , fdNumber = 5
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsSint32Values
        , fdSet = \v m -> m { integerMapsSint32Values = v }
        })
    , (6, SomeField FieldDescriptor
        { fdName = "sint64_values"
        , fdNumber = 6
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsSint64Values
        , fdSet = \v m -> m { integerMapsSint64Values = v }
        })
    , (7, SomeField FieldDescriptor
        { fdName = "sfixed32_values"
        , fdNumber = 7
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsSfixed32Values
        , fdSet = \v m -> m { integerMapsSfixed32Values = v }
        })
    , (8, SomeField FieldDescriptor
        { fdName = "sfixed64_values"
        , fdNumber = 8
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsSfixed64Values
        , fdSet = \v m -> m { integerMapsSfixed64Values = v }
        })
    , (9, SomeField FieldDescriptor
        { fdName = "integer_keys"
        , fdNumber = 9
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsIntegerKeys
        , fdSet = \v m -> m { integerMapsIntegerKeys = v }
        })
    , (10, SomeField FieldDescriptor
        { fdName = "fixed32_values"
        , fdNumber = 10
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsFixed32Values
        , fdSet = \v m -> m { integerMapsFixed32Values = v }
        })
    , (11, SomeField FieldDescriptor
        { fdName = "fixed64_values"
        , fdNumber = 11
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsFixed64Values
        , fdSet = \v m -> m { integerMapsFixed64Values = v }
        })
    , (12, SomeField FieldDescriptor
        { fdName = "zigzag_keys"
        , fdNumber = 12
        , fdTypeDesc = ScalarType BytesField
        , fdLabel = LabelRepeated
        , fdGet = integerMapsZigzagKeys
        , fdSet = \v m -> m { integerMapsZigzagKeys = v }
        })
    ]

instance IsMessage IntegerMaps

instance Aeson.ToJSON IntegerMaps where
  toJSON msg = jsonObject
      [ "int32Values" .=: msg.integerMapsInt32Values
      , "int64Values" .=: msg.integerMapsInt64Values
      , "uint32Values" .=: msg.integerMapsUint32Values
      , "uint64Values" .=: msg.integerMapsUint64Values
      , "sint32Values" .=: msg.integerMapsSint32Values
      , "sint64Values" .=: msg.integerMapsSint64Values
      , "sfixed32Values" .=: msg.integerMapsSfixed32Values
      , "sfixed64Values" .=: msg.integerMapsSfixed64Values
      , "integerKeys" .=: msg.integerMapsIntegerKeys
      , "fixed32Values" .=: msg.integerMapsFixed32Values
      , "fixed64Values" .=: msg.integerMapsFixed64Values
      , "zigzagKeys" .=: msg.integerMapsZigzagKeys
      ]

instance Aeson.FromJSON IntegerMaps where
  parseJSON = Aeson.withObject "IntegerMaps" $ \obj -> do
    fld_integerMapsInt32Values <- parseFieldMaybe obj "int32Values"
    fld_integerMapsInt64Values <- parseFieldMaybe obj "int64Values"
    fld_integerMapsUint32Values <- parseFieldMaybe obj "uint32Values"
    fld_integerMapsUint64Values <- parseFieldMaybe obj "uint64Values"
    fld_integerMapsSint32Values <- parseFieldMaybe obj "sint32Values"
    fld_integerMapsSint64Values <- parseFieldMaybe obj "sint64Values"
    fld_integerMapsSfixed32Values <- parseFieldMaybe obj "sfixed32Values"
    fld_integerMapsSfixed64Values <- parseFieldMaybe obj "sfixed64Values"
    fld_integerMapsIntegerKeys <- parseFieldMaybe obj "integerKeys"
    fld_integerMapsFixed32Values <- parseFieldMaybe obj "fixed32Values"
    fld_integerMapsFixed64Values <- parseFieldMaybe obj "fixed64Values"
    fld_integerMapsZigzagKeys <- parseFieldMaybe obj "zigzagKeys"
    pure defaultIntegerMaps
      { integerMapsInt32Values = maybe (integerMapsInt32Values defaultIntegerMaps) id fld_integerMapsInt32Values
      , integerMapsInt64Values = maybe (integerMapsInt64Values defaultIntegerMaps) id fld_integerMapsInt64Values
      , integerMapsUint32Values = maybe (integerMapsUint32Values defaultIntegerMaps) id fld_integerMapsUint32Values
      , integerMapsUint64Values = maybe (integerMapsUint64Values defaultIntegerMaps) id fld_integerMapsUint64Values
      , integerMapsSint32Values = maybe (integerMapsSint32Values defaultIntegerMaps) id fld_integerMapsSint32Values
      , integerMapsSint64Values = maybe (integerMapsSint64Values defaultIntegerMaps) id fld_integerMapsSint64Values
      , integerMapsSfixed32Values = maybe (integerMapsSfixed32Values defaultIntegerMaps) id fld_integerMapsSfixed32Values
      , integerMapsSfixed64Values = maybe (integerMapsSfixed64Values defaultIntegerMaps) id fld_integerMapsSfixed64Values
      , integerMapsIntegerKeys = maybe (integerMapsIntegerKeys defaultIntegerMaps) id fld_integerMapsIntegerKeys
      , integerMapsFixed32Values = maybe (integerMapsFixed32Values defaultIntegerMaps) id fld_integerMapsFixed32Values
      , integerMapsFixed64Values = maybe (integerMapsFixed64Values defaultIntegerMaps) id fld_integerMapsFixed64Values
      , integerMapsZigzagKeys = maybe (integerMapsZigzagKeys defaultIntegerMaps) id fld_integerMapsZigzagKeys
      , integerMapsUnknownFields = []
      }

instance Hashable IntegerMaps where
  hashWithSalt salt msg = Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (Map.foldlWithKey' (\s k v -> s `hashWithSalt` k `hashWithSalt` v) (salt) msg.integerMapsInt32Values) msg.integerMapsInt64Values) msg.integerMapsUint32Values) msg.integerMapsUint64Values) msg.integerMapsSint32Values) msg.integerMapsSint64Values) msg.integerMapsSfixed32Values) msg.integerMapsSfixed64Values) msg.integerMapsIntegerKeys) msg.integerMapsFixed32Values) msg.integerMapsFixed64Values) msg.integerMapsZigzagKeys

instance Proto.Extension.HasExtensions IntegerMaps where
  messageUnknownFields = integerMapsUnknownFields
  setMessageUnknownFields !ufs msg = msg { integerMapsUnknownFields = ufs }

instance Semigroup IntegerMaps where
  a <> b = IntegerMaps
    { integerMapsInt32Values = a.integerMapsInt32Values <> b.integerMapsInt32Values
    , integerMapsInt64Values = a.integerMapsInt64Values <> b.integerMapsInt64Values
    , integerMapsUint32Values = a.integerMapsUint32Values <> b.integerMapsUint32Values
    , integerMapsUint64Values = a.integerMapsUint64Values <> b.integerMapsUint64Values
    , integerMapsSint32Values = a.integerMapsSint32Values <> b.integerMapsSint32Values
    , integerMapsSint64Values = a.integerMapsSint64Values <> b.integerMapsSint64Values
    , integerMapsSfixed32Values = a.integerMapsSfixed32Values <> b.integerMapsSfixed32Values
    , integerMapsSfixed64Values = a.integerMapsSfixed64Values <> b.integerMapsSfixed64Values
    , integerMapsIntegerKeys = a.integerMapsIntegerKeys <> b.integerMapsIntegerKeys
    , integerMapsFixed32Values = a.integerMapsFixed32Values <> b.integerMapsFixed32Values
    , integerMapsFixed64Values = a.integerMapsFixed64Values <> b.integerMapsFixed64Values
    , integerMapsZigzagKeys = a.integerMapsZigzagKeys <> b.integerMapsZigzagKeys
    , integerMapsUnknownFields = a.integerMapsUnknownFields <> b.integerMapsUnknownFields
    }

instance Monoid IntegerMaps where
  mempty = defaultIntegerMaps