/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/
"use strict";

var $protobuf = require("protobufjs/light");

var $root = ($protobuf.roots["default"] || ($protobuf.roots["default"] = new $protobuf.Root()))
.setOptions({
  go_package: ".;pb"
})
.addJSON({
  ChatChannel: {
    values: {
      World: 0,
      Union: 1,
      Private: 2,
      CrossServer: 3,
      System: 4
    }
  },
  DBChat: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      channel: {
        type: "ChatChannel",
        id: 2
      },
      suid: {
        type: "string",
        id: 3
      },
      ruid: {
        type: "string",
        id: 4
      },
      groud: {
        type: "int32",
        id: 5
      },
      areaId: {
        type: "int32",
        id: 6
      },
      unionId: {
        type: "string",
        id: 7
      },
      headid: {
        type: "int32",
        id: 8
      },
      uname: {
        type: "string",
        id: 9
      },
      content: {
        type: "string",
        id: 10
      },
      ctime: {
        type: "int64",
        id: 11
      }
    }
  },
  ChatMessagePush: {
    fields: {
      chat: {
        type: "DBChat",
        id: 1
      }
    }
  },
  ChatCrossChannelReq: {
    fields: {}
  },
  ChatCrossChannelResp: {
    fields: {
      channelId: {
        type: "int32",
        id: 1
      }
    }
  },
  ChatChanageChannelReq: {
    fields: {
      channelId: {
        type: "int32",
        id: 1
      }
    }
  },
  ChatChanageChannelResp: {
    fields: {
      channelId: {
        type: "int32",
        id: 1
      },
      isSucc: {
        type: "bool",
        id: 2
      }
    }
  },
  ChatGetListReq: {
    fields: {
      channel: {
        type: "ChatChannel",
        id: 1
      }
    }
  },
  ChatGetListResp: {
    fields: {
      chats: {
        rule: "repeated",
        type: "DBChat",
        id: 1
      }
    }
  },
  ChatSpanGetListReq: {
    fields: {
      channel: {
        type: "ChatChannel",
        id: 1
      },
      channelId: {
        type: "int32",
        id: 2
      }
    }
  },
  ChatSpanGetListResp: {
    fields: {
      chats: {
        rule: "repeated",
        type: "DBChat",
        id: 1
      }
    }
  },
  ChatSendReq: {
    fields: {
      channel: {
        type: "ChatChannel",
        id: 1
      },
      targetId: {
        type: "string",
        id: 2
      },
      content: {
        type: "string",
        id: 3
      }
    }
  },
  ChatSendResp: {
    fields: {}
  },
  ChatSpanSendReq: {
    fields: {
      channel: {
        type: "ChatChannel",
        id: 1
      },
      content: {
        type: "string",
        id: 2
      }
    }
  },
  ChatSpanSendResp: {
    fields: {}
  },
  UserMessage: {
    fields: {
      MainType: {
        type: "string",
        id: 1
      },
      SubType: {
        type: "string",
        id: 2
      },
      data: {
        type: "google.protobuf.Any",
        id: 3
      },
      sec: {
        type: "string",
        id: 4
      }
    }
  },
  AgentMessage: {
    fields: {
      Ip: {
        type: "string",
        id: 1
      },
      UserSessionId: {
        type: "string",
        id: 2
      },
      UserId: {
        type: "string",
        id: 3
      },
      ServiceTag: {
        type: "string",
        id: 4
      },
      GatewayServiceId: {
        type: "string",
        id: 5
      },
      MainType: {
        type: "string",
        id: 6
      },
      SubType: {
        type: "string",
        id: 7
      },
      Message: {
        type: "google.protobuf.Any",
        id: 8
      }
    }
  },
  RPCMessageReply: {
    fields: {
      Code: {
        type: "ErrorCode",
        id: 1
      },
      ErrorMessage: {
        type: "string",
        id: 2
      },
      ErrorData: {
        type: "google.protobuf.Any",
        id: 3
      },
      Reply: {
        rule: "repeated",
        type: "UserMessage",
        id: 4
      }
    }
  },
  AgentBuildReq: {
    fields: {
      UserSessionId: {
        type: "string",
        id: 1
      },
      UserId: {
        type: "string",
        id: 2
      },
      WorkerId: {
        type: "string",
        id: 3
      }
    }
  },
  AgentUnBuildReq: {
    fields: {
      UserSessionId: {
        type: "string",
        id: 1
      }
    }
  },
  AgentSendMessageReq: {
    fields: {
      UserSessionId: {
        type: "string",
        id: 1
      },
      Reply: {
        rule: "repeated",
        type: "UserMessage",
        id: 2
      }
    }
  },
  BatchMessageReq: {
    fields: {
      UserSessionIds: {
        rule: "repeated",
        type: "string",
        id: 1
      },
      MainType: {
        type: "string",
        id: 2
      },
      SubType: {
        type: "string",
        id: 3
      },
      Data: {
        type: "google.protobuf.Any",
        id: 4
      }
    }
  },
  BroadCastMessageReq: {
    fields: {
      MainType: {
        type: "string",
        id: 1
      },
      SubType: {
        type: "string",
        id: 2
      },
      Data: {
        type: "google.protobuf.Any",
        id: 3
      }
    }
  },
  AgentCloseeReq: {
    fields: {
      UserSessionId: {
        type: "string",
        id: 1
      }
    }
  },
  NoticeUserCloseReq: {
    fields: {
      Ip: {
        type: "string",
        id: 1
      },
      UserSessionId: {
        type: "string",
        id: 2
      },
      UserId: {
        type: "string",
        id: 3
      },
      ServiceTag: {
        type: "string",
        id: 4
      },
      GatewayServiceId: {
        type: "string",
        id: 5
      }
    }
  },
  HeroAttributesType: {
    values: {
      Hp: 0,
      Atk: 1,
      Def: 2,
      Speed: 3,
      Crit: 4
    }
  },
  UserAssets: {
    fields: {
      A: {
        type: "string",
        id: 1
      },
      T: {
        type: "string",
        id: 2
      },
      N: {
        type: "int32",
        id: 3
      }
    }
  },
  TaskParam: {
    fields: {
      first: {
        type: "int32",
        id: 1
      },
      second: {
        type: "int32",
        id: 2
      }
    }
  },
  ErrorCode: {
    values: {
      Success: 0,
      NoFindService: 10,
      NoFindServiceHandleFunc: 11,
      RpcFuncExecutionError: 12,
      CacheReadError: 13,
      SqlExecutionError: 14,
      ReqParameterError: 15,
      SignError: 16,
      InsufficientPermissions: 17,
      NoLogin: 18,
      UserSessionNobeing: 19,
      StateInvalid: 20,
      DBError: 21,
      SystemError: 22,
      DecodeError: 23,
      TimestampTimeout: 24,
      PbError: 25,
      AgentUidEmpty: 26,
      Exception: 100,
      Unknown: 101,
      ResNoEnough: 102,
      ConfigurationException: 103,
      ConfigNoFound: 104,
      SecKeyInvalid: 1000,
      SecKey: 1001,
      BindUser: 1002,
      GoldNoEnough: 1003,
      DiamondNoEnough: 1004,
      RoleCreated: 1005,
      UserNickNameExist: 1006,
      VeriCodeNoValid: 1007,
      VeriCodeExpired: 1008,
      UserResetData: 1009,
      UserModiNameCount: 1010,
      UserNickNameEmpty: 1011,
      FriendNotSelf: 1100,
      FriendSelfMax: 1101,
      FriendTargetMax: 1102,
      FriendSelfNoData: 1103,
      FriendTargetNoData: 1104,
      FriendYet: 1105,
      FriendApplyYet: 1106,
      FriendSelfBlackYet: 1107,
      FriendTargetBlackYet: 1108,
      FriendApplyError: 1109,
      FriendBlackMax: 1110,
      FriendSearchNameEmpty: 1111,
      ItemsNoEnough: 1200,
      ItemsNoFoundGird: 1201,
      ItemsGridNumUpper: 1202,
      ItemsGirdAmountUpper: 1203,
      ItemsUseNotSupported: 1204,
      HeroNoExist: 1300,
      HeroNoEnough: 1301,
      HeroMaxLv: 1302,
      HeroInitCreat: 1303,
      HeroColorErr: 1304,
      HeroSkillUpErr: 1305,
      HeroMaxResonate: 1306,
      HeroNoResonate: 1307,
      HeroNotNeedResonate: 1308,
      HeroNoEnergy: 1309,
      HeroCreate: 1310,
      HeroEquipUpdate: 1311,
      HeroMaxAwaken: 1312,
      HeroIsLock: 1313,
      HeroMaxCount: 1314,
      HeroCostTypeErr: 1315,
      HeroStarErr: 1316,
      HeroTypeErr: 1317,
      HeroExpTypeErr: 1318,
      HeroAddMaxExp: 1319,
      HeroStarLvErr: 1320,
      HeroMaxStarLv: 1321,
      DrawCardTypeNotFound: 1322,
      EquipmentOnFoundEquipment: 1400,
      EquipmentLvlimitReached: 1401,
      EquipmentIsWorn: 1402,
      MainlineNotFindChapter: 1500,
      MainlineIDFailed: 1501,
      MainlineNotFound: 1502,
      MainlinePreNotFound: 1503,
      MainlineRepeatReward: 1504,
      MainlineCompleteReward: 1505,
      TaskInit: 1600,
      TaskReset: 1601,
      TaskHandle: 1602,
      TaskReceived: 1603,
      TaskActiveInit: 1604,
      TaskActiveNofound: 1605,
      TaskActiveNoenough: 1606,
      TaskNoFinished: 1607,
      TaskFinished: 1608,
      TaskTagEmpty: 1609,
      TaskIdEmpty: 1610,
      ShopGoodsIsSoldOut: 1700,
      ShopNoSurplusRefreshNum: 1701,
      MailErr: 1800
    }
  },
  google: {
    nested: {
      protobuf: {
        nested: {
          Any: {
            fields: {
              type_url: {
                type: "string",
                id: 1
              },
              value: {
                type: "bytes",
                id: 2
              }
            }
          }
        }
      }
    }
  },
  EquipmentAttributeEntry: {
    fields: {
      Id: {
        type: "int32",
        id: 1
      },
      libraryid: {
        type: "int32",
        id: 2
      },
      AttrName: {
        type: "string",
        id: 3
      },
      Lv: {
        type: "int32",
        id: 4
      },
      Value: {
        type: "int32",
        id: 5
      }
    }
  },
  DB_Equipment: {
    fields: {
      Id: {
        type: "string",
        id: 1
      },
      cId: {
        type: "string",
        id: 2
      },
      uId: {
        type: "string",
        id: 3
      },
      heroId: {
        type: "string",
        id: 5
      },
      lv: {
        type: "sint32",
        id: 6
      },
      keepFailNum: {
        type: "sint32",
        id: 7
      },
      mainEntry: {
        type: "EquipmentAttributeEntry",
        id: 8
      },
      adverbEntry: {
        rule: "repeated",
        type: "EquipmentAttributeEntry",
        id: 9
      },
      overlayNum: {
        type: "uint32",
        id: 10
      },
      isInitialState: {
        type: "bool",
        id: 11
      }
    }
  },
  EquipmentGetListReq: {
    fields: {}
  },
  EquipmentGetListResp: {
    fields: {
      Equipments: {
        rule: "repeated",
        type: "DB_Equipment",
        id: 1
      }
    }
  },
  EquipmentChangePush: {
    fields: {
      Equipments: {
        rule: "repeated",
        type: "DB_Equipment",
        id: 1
      }
    }
  },
  EquipmentEquipReq: {
    fields: {
      HeroCardId: {
        type: "string",
        id: 1
      },
      EquipmentId: {
        rule: "repeated",
        type: "string",
        id: 2
      }
    }
  },
  EquipmentEquipResp: {
    fields: {
      Equipments: {
        rule: "repeated",
        type: "DB_Equipment",
        id: 1
      }
    }
  },
  EquipmentUpgradeReq: {
    fields: {
      EquipmentId: {
        type: "string",
        id: 1
      }
    }
  },
  EquipmentUpgradeResp: {
    fields: {
      IsSucc: {
        type: "bool",
        id: 1
      },
      Equipment: {
        rule: "repeated",
        type: "DB_Equipment",
        id: 2
      }
    }
  },
  DBFriend: {
    fields: {
      uid: {
        type: "string",
        id: 1
      },
      friendIds: {
        rule: "repeated",
        type: "string",
        id: 2
      },
      applyIds: {
        rule: "repeated",
        type: "string",
        id: 3
      },
      blackIds: {
        rule: "repeated",
        type: "string",
        id: 4
      }
    }
  },
  FriendBase: {
    fields: {
      userId: {
        type: "string",
        id: 1
      },
      NickName: {
        type: "string",
        id: 2
      },
      level: {
        type: "int32",
        id: 3
      },
      avatar: {
        type: "int32",
        id: 4
      },
      strength: {
        type: "int64",
        id: 5
      },
      serverId: {
        type: "int32",
        id: 6
      },
      offlineTime: {
        type: "int64",
        id: 7
      }
    }
  },
  FriendListReq: {
    fields: {}
  },
  FriendListResp: {
    fields: {
      list: {
        rule: "repeated",
        type: "FriendBase",
        id: 1
      }
    }
  },
  FriendApplyReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendApplyResp: {
    fields: {
      userId: {
        type: "string",
        id: 1
      },
      friendId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendDelReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendDelResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      userId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendAgreeReq: {
    fields: {
      friendIds: {
        rule: "repeated",
        type: "string",
        id: 1
      }
    }
  },
  FriendAgreeResp: {
    fields: {
      Num: {
        type: "int32",
        id: 1
      }
    }
  },
  FriendRefuseReq: {
    fields: {
      friendIds: {
        rule: "repeated",
        type: "string",
        id: 1
      }
    }
  },
  FriendRefuseResp: {
    fields: {
      Num: {
        type: "int32",
        id: 1
      }
    }
  },
  FriendApplyListReq: {
    fields: {}
  },
  FriendApplyListResp: {
    fields: {
      list: {
        rule: "repeated",
        type: "FriendBase",
        id: 1
      }
    }
  },
  FriendSearchReq: {
    fields: {
      nickName: {
        type: "string",
        id: 1
      }
    }
  },
  FriendSearchResp: {
    fields: {
      friend: {
        type: "FriendBase",
        id: 1
      }
    }
  },
  FriendBlackListReq: {
    fields: {}
  },
  FriendBlackListResp: {
    fields: {
      friends: {
        rule: "repeated",
        type: "FriendBase",
        id: 1
      }
    }
  },
  FriendBlackAddReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendBlackAddResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      userId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendDelBlackReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendDelBlackResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      userId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendReceiveReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendReceiveResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      userId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendGiveReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendGiveResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      userId: {
        type: "string",
        id: 2
      }
    }
  },
  FriendTotalReq: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      }
    }
  },
  FriendTotalResp: {
    fields: {
      friendId: {
        type: "string",
        id: 1
      },
      total: {
        type: "int32",
        id: 2
      }
    }
  },
  GMCmdReq: {
    fields: {
      Cmod: {
        type: "string",
        id: 1
      }
    }
  },
  GMCmdResp: {
    fields: {
      IsSucc: {
        type: "bool",
        id: 1
      }
    }
  },
  SkillData: {
    fields: {
      skillID: {
        type: "int32",
        id: 1
      },
      skillLv: {
        type: "int32",
        id: 2
      }
    }
  },
  DBHero: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      heroID: {
        type: "string",
        id: 3
      },
      star: {
        type: "int32",
        id: 4
      },
      lv: {
        type: "int32",
        id: 5
      },
      exp: {
        type: "int32",
        id: 6
      },
      juexingLv: {
        type: "int32",
        id: 7
      },
      captainSkill: {
        type: "int32",
        id: 8
      },
      normalSkill: {
        rule: "repeated",
        type: "SkillData",
        id: 9
      },
      property: {
        keyType: "string",
        type: "int32",
        id: 10
      },
      addProperty: {
        keyType: "string",
        type: "int32",
        id: 11
      },
      cardType: {
        type: "int32",
        id: 12
      },
      curSkin: {
        type: "int32",
        id: 13
      },
      skins: {
        rule: "repeated",
        type: "int32",
        id: 14
      },
      block: {
        type: "bool",
        id: 15
      },
      equipID: {
        rule: "repeated",
        type: "string",
        id: 16
      },
      resonateNum: {
        type: "int32",
        id: 17
      },
      distributionResonate: {
        type: "int32",
        id: 18
      },
      energy: {
        keyType: "int32",
        type: "int32",
        id: 19
      },
      sameCount: {
        type: "int32",
        id: 20
      },
      suiteId: {
        type: "int32",
        id: 21
      },
      suiteExtId: {
        type: "int32",
        id: 22
      },
      isOverlying: {
        type: "bool",
        id: 23
      }
    }
  },
  HeroInfoReq: {
    fields: {
      heroId: {
        type: "string",
        id: 1
      }
    }
  },
  HeroInfoResp: {
    fields: {
      base: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroListReq: {
    fields: {}
  },
  HeroListResp: {
    fields: {
      list: {
        rule: "repeated",
        type: "DBHero",
        id: 1
      }
    }
  },
  ItemData: {
    fields: {
      itemId: {
        type: "int32",
        id: 2
      },
      amount: {
        type: "int32",
        id: 3
      }
    }
  },
  MapStringInt32: {
    fields: {
      Key: {
        type: "string",
        id: 1
      },
      Value: {
        type: "int32",
        id: 2
      }
    }
  },
  HeroStrengthenUplvReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      },
      expCards: {
        rule: "repeated",
        type: "MapStringInt32",
        id: 2
      }
    }
  },
  HeroStrengthenUplvResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  CostCardData: {
    fields: {
      costCardObj: {
        type: "string",
        id: 1
      },
      amount: {
        type: "int32",
        id: 2
      }
    }
  },
  HeroStrengthenUpStarReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      },
      hero: {
        rule: "repeated",
        type: "CostCardData",
        id: 2
      },
      heroRace: {
        rule: "repeated",
        type: "CostCardData",
        id: 3
      }
    }
  },
  HeroStrengthenUpStarResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroStrengthenUpSkillReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      },
      costCardObj: {
        type: "string",
        id: 2
      }
    }
  },
  HeroStrengthenUpSkillResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroResonanceReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      },
      costObjID: {
        rule: "repeated",
        type: "string",
        id: 2
      }
    }
  },
  HeroResonanceResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      },
      energy: {
        type: "int32",
        id: 2
      },
      upStarCard: {
        type: "DBHero",
        id: 3
      }
    }
  },
  HeroResonanceResetReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      }
    }
  },
  HeroResonanceResetResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      },
      energy: {
        type: "int32",
        id: 2
      }
    }
  },
  HeroResonanceUseEnergyReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      },
      useEnergy: {
        type: "int32",
        id: 2
      },
      useType: {
        type: "int32",
        id: 3
      }
    }
  },
  HeroResonanceUseEnergyResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroAwakenReq: {
    fields: {
      heroObjID: {
        type: "string",
        id: 1
      }
    }
  },
  HeroAwakenResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroChoukaReq: {
    fields: {
      heroIds: {
        rule: "repeated",
        type: "string",
        id: 1
      }
    }
  },
  HeroChoukaResp: {
    fields: {
      heroes: {
        rule: "repeated",
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroPropertyPush: {
    fields: {
      heroId: {
        type: "string",
        id: 1
      },
      property: {
        keyType: "string",
        type: "int32",
        id: 2
      },
      addProperty: {
        keyType: "string",
        type: "int32",
        id: 3
      }
    }
  },
  HeroLockReq: {
    fields: {
      heroid: {
        type: "string",
        id: 1
      }
    }
  },
  HeroLockResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroGetSpecifiedReq: {
    fields: {
      heroCoinfigID: {
        type: "string",
        id: 1
      },
      Amount: {
        type: "int32",
        id: 2
      },
      star: {
        type: "int32",
        id: 3
      },
      lv: {
        type: "int32",
        id: 4
      }
    }
  },
  HeroGetSpecifiedResp: {
    fields: {
      hero: {
        type: "DBHero",
        id: 1
      }
    }
  },
  HeroDrawCardReq: {
    fields: {
      drawType: {
        type: "int32",
        id: 1
      }
    }
  },
  HeroDrawCardResp: {
    fields: {
      heroes: {
        rule: "repeated",
        type: "string",
        id: 1
      }
    }
  },
  HeroChangePush: {
    fields: {
      list: {
        rule: "repeated",
        type: "DBHero",
        id: 1
      }
    }
  },
  DB_UserItemData: {
    fields: {
      gridId: {
        type: "string",
        id: 1
      },
      uId: {
        type: "string",
        id: 2
      },
      itemId: {
        type: "string",
        id: 3
      },
      amount: {
        type: "uint32",
        id: 4
      },
      cTime: {
        type: "int64",
        id: 5
      },
      eTime: {
        type: "int64",
        id: 6
      },
      isNewItem: {
        type: "bool",
        id: 7
      },
      lastopt: {
        type: "int64",
        id: 8
      }
    }
  },
  ItemsGetlistReq: {
    fields: {
      IType: {
        type: "int32",
        id: 1
      }
    }
  },
  ItemsGetlistResp: {
    fields: {
      Grids: {
        rule: "repeated",
        type: "DB_UserItemData",
        id: 1
      }
    }
  },
  ItemsChangePush: {
    fields: {
      Grids: {
        rule: "repeated",
        type: "DB_UserItemData",
        id: 1
      }
    }
  },
  ItemsUseItemReq: {
    fields: {
      GridId: {
        type: "string",
        id: 1
      },
      Amount: {
        type: "uint32",
        id: 2
      },
      Select: {
        type: "int32",
        id: 3
      }
    }
  },
  ItemsUseItemResp: {
    fields: {
      GridId: {
        type: "string",
        id: 1
      },
      Amount: {
        type: "uint32",
        id: 2
      },
      issucc: {
        type: "bool",
        id: 3
      }
    }
  },
  ItemsSellItemReq: {
    fields: {
      GridId: {
        type: "string",
        id: 1
      },
      ItemId: {
        type: "string",
        id: 2
      },
      Amount: {
        type: "uint32",
        id: 3
      }
    }
  },
  ItemsSellItemResp: {
    fields: {
      GridId: {
        type: "string",
        id: 1
      },
      Amount: {
        type: "uint32",
        id: 2
      },
      issucc: {
        type: "bool",
        id: 3
      }
    }
  },
  DBMailData: {
    fields: {
      ObjId: {
        type: "string",
        id: 1
      },
      Uid: {
        type: "string",
        id: 2
      },
      Title: {
        type: "string",
        id: 3
      },
      Contex: {
        type: "string",
        id: 4
      },
      CreateTime: {
        type: "uint64",
        id: 5
      },
      DueTime: {
        type: "uint64",
        id: 6
      },
      Check: {
        type: "bool",
        id: 7
      },
      Reward: {
        type: "bool",
        id: 8
      },
      Items: {
        rule: "repeated",
        type: "UserAssets",
        id: 9
      }
    }
  },
  MailGetListReq: {
    fields: {}
  },
  MailGetListResp: {
    fields: {
      Mails: {
        rule: "repeated",
        type: "DBMailData",
        id: 1
      }
    }
  },
  MailReadMailReq: {
    fields: {
      ObjID: {
        type: "string",
        id: 1
      }
    }
  },
  MailReadMailResp: {
    fields: {
      Mail: {
        type: "DBMailData",
        id: 1
      }
    }
  },
  MailGetUserMailAttachmentReq: {
    fields: {
      ObjID: {
        type: "string",
        id: 1
      }
    }
  },
  MailGetUserMailAttachmentResp: {
    fields: {
      Mail: {
        type: "DBMailData",
        id: 1
      }
    }
  },
  MailDelMailReq: {
    fields: {
      ObjID: {
        type: "string",
        id: 1
      }
    }
  },
  MailDelMailResp: {
    fields: {
      ObjID: {
        type: "string",
        id: 1
      }
    }
  },
  MailGetNewMailPush: {
    fields: {
      Mail: {
        type: "DBMailData",
        id: 1
      }
    }
  },
  DBMainline: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      chapterId: {
        type: "int32",
        id: 3
      },
      mainlineId: {
        type: "int32",
        id: 4
      },
      awaredID: {
        type: "int32",
        id: 5
      },
      branchID: {
        rule: "repeated",
        type: "int32",
        id: 6
      }
    }
  },
  MainlineGetListReq: {
    fields: {}
  },
  MainlineGetListResp: {
    fields: {
      data: {
        rule: "repeated",
        type: "DBMainline",
        id: 1
      }
    }
  },
  MainlineGetRewardReq: {
    fields: {
      chapterObj: {
        type: "string",
        id: 1
      }
    }
  },
  MainlineGetRewardResp: {
    fields: {
      data: {
        type: "DBMainline",
        id: 1
      }
    }
  },
  MainlineChallengeReq: {
    fields: {
      chapterObj: {
        type: "string",
        id: 1
      },
      mainlineId: {
        type: "uint32",
        id: 2
      }
    }
  },
  MainlineChallengeResp: {
    fields: {
      data: {
        type: "DBMainline",
        id: 1
      }
    }
  },
  MainlineNewChapterPush: {
    fields: {
      data: {
        type: "DBMainline",
        id: 1
      }
    }
  },
  DBSystemNotify: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      title: {
        type: "string",
        id: 2
      },
      content: {
        type: "string",
        id: 3
      },
      istop: {
        type: "bool",
        id: 4
      },
      ctime: {
        type: "int64",
        id: 5
      },
      rtime: {
        type: "int64",
        id: 6
      }
    }
  },
  NotifyErrorNotifyPush: {
    fields: {
      ReqMainType: {
        type: "string",
        id: 1
      },
      ReqSubType: {
        type: "string",
        id: 2
      },
      Code: {
        type: "ErrorCode",
        id: 3
      },
      Message: {
        type: "string",
        id: 4
      },
      arg: {
        type: "google.protobuf.Any",
        id: 5
      },
      Data: {
        type: "google.protobuf.Any",
        id: 6
      }
    }
  },
  NotifyGetListReq: {
    fields: {}
  },
  NotifyGetListResp: {
    fields: {
      LastReadTime: {
        type: "int64",
        id: 1
      },
      SysNotify: {
        rule: "repeated",
        type: "DBSystemNotify",
        id: 2
      }
    }
  },
  ShopType: {
    values: {
      Null: 0,
      GoldShop: 1,
      DiamondShop: 2,
      PVPShop: 3,
      PVEShop: 4,
      AllianceShop: 5
    }
  },
  UserShopData: {
    fields: {
      LastRefreshTime: {
        type: "int64",
        id: 1
      },
      ManualRefreshNum: {
        type: "int32",
        id: 2
      },
      Items: {
        rule: "repeated",
        type: "int32",
        id: 3
      }
    }
  },
  DBShop: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      goldShop: {
        type: "UserShopData",
        id: 3
      },
      diamondShop: {
        type: "UserShopData",
        id: 4
      },
      pvpShop: {
        type: "UserShopData",
        id: 5
      },
      pveShop: {
        type: "UserShopData",
        id: 6
      },
      allianceShop: {
        type: "UserShopData",
        id: 7
      }
    }
  },
  DBShopItem: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      goodsId: {
        type: "int32",
        id: 3
      },
      buyNum: {
        keyType: "int32",
        type: "int32",
        id: 4
      },
      lastBuyTime: {
        keyType: "int32",
        type: "int64",
        id: 5
      }
    }
  },
  ShopItem: {
    fields: {
      GoodsId: {
        type: "int32",
        id: 1
      },
      Items: {
        rule: "repeated",
        type: "UserAssets",
        id: 2
      },
      Consume: {
        rule: "repeated",
        type: "UserAssets",
        id: 3
      },
      Sale: {
        type: "int32",
        id: 4
      },
      LeftBuyNum: {
        type: "int32",
        id: 5
      }
    }
  },
  ShopGetListReq: {
    fields: {
      sType: {
        type: "ShopType",
        id: 1
      },
      IsManualRefresh: {
        type: "bool",
        id: 2
      }
    }
  },
  ShopGetListResp: {
    fields: {
      sType: {
        type: "ShopType",
        id: 1
      },
      IsManualRefresh: {
        type: "bool",
        id: 2
      },
      Goods: {
        rule: "repeated",
        type: "ShopItem",
        id: 4
      },
      SurplusRefreshNum: {
        type: "int32",
        id: 5
      }
    }
  },
  ShopBuyReq: {
    fields: {
      ShopType: {
        type: "ShopType",
        id: 1
      },
      GoodsId: {
        type: "int32",
        id: 2
      },
      BuyNum: {
        type: "int32",
        id: 3
      }
    }
  },
  ShopBuyResp: {
    fields: {
      IsSucc: {
        type: "bool",
        id: 1
      }
    }
  },
  DBTask: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      taskId: {
        type: "int32",
        id: 3
      },
      tag: {
        type: "int32",
        id: 4
      },
      progress: {
        type: "int32",
        id: 5
      },
      active: {
        type: "int32",
        id: 6
      },
      status: {
        type: "int32",
        id: 7
      },
      received: {
        type: "int32",
        id: 8
      },
      typeId: {
        type: "int32",
        id: 9
      },
      sort: {
        type: "int32",
        id: 10
      }
    }
  },
  DBTaskActive: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      rId: {
        type: "int32",
        id: 3
      },
      tag: {
        type: "int32",
        id: 4
      },
      received: {
        type: "int32",
        id: 5
      }
    }
  },
  TaskReceiveReq: {
    fields: {
      taskTag: {
        type: "int32",
        id: 1
      },
      id: {
        type: "string",
        id: 2
      }
    }
  },
  TaskReceiveResp: {
    fields: {
      taskId: {
        type: "int32",
        id: 1
      }
    }
  },
  TaskListReq: {
    fields: {
      taskTag: {
        type: "int32",
        id: 1
      }
    }
  },
  TaskListResp: {
    fields: {
      list: {
        rule: "repeated",
        type: "DBTask",
        id: 1
      }
    }
  },
  TaskActiveListReq: {
    fields: {
      taskTag: {
        type: "int32",
        id: 1
      }
    }
  },
  TaskActiveListResp: {
    fields: {
      list: {
        rule: "repeated",
        type: "DBTaskActive",
        id: 1
      },
      active: {
        type: "int32",
        id: 2
      }
    }
  },
  TaskActiveReceiveReq: {
    fields: {
      taskTag: {
        type: "int32",
        id: 1
      },
      id: {
        type: "string",
        id: 2
      }
    }
  },
  TaskActiveReceiveResp: {
    fields: {
      taskTag: {
        type: "int32",
        id: 1
      },
      id: {
        type: "string",
        id: 2
      }
    }
  },
  TaskDoStrategyReq: {
    fields: {
      heroCfgId: {
        type: "int32",
        id: 1
      }
    }
  },
  TaskDoStrategyResp: {
    fields: {
      taskIds: {
        rule: "repeated",
        type: "int32",
        id: 1
      }
    }
  },
  TaskFinishedPush: {
    fields: {
      taskId: {
        type: "int32",
        id: 1
      }
    }
  },
  CacheUser: {
    fields: {
      uid: {
        type: "string",
        id: 1
      },
      SessionId: {
        type: "string",
        id: 2
      },
      ServiceTag: {
        type: "string",
        id: 3
      },
      GatewayServiceId: {
        type: "string",
        id: 4
      },
      ip: {
        type: "string",
        id: 5
      }
    }
  },
  DBUser: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      uuid: {
        type: "string",
        id: 3
      },
      binduid: {
        type: "string",
        id: 4
      },
      name: {
        type: "string",
        id: 5
      },
      sid: {
        type: "int32",
        id: 6
      },
      createip: {
        type: "string",
        id: 7
      },
      lastloginip: {
        type: "string",
        id: 8
      },
      ctime: {
        type: "int64",
        id: 9
      },
      logintime: {
        type: "int64",
        id: 10
      },
      friendPoint: {
        type: "int32",
        id: 11
      },
      avatar: {
        type: "int32",
        id: 12
      },
      gold: {
        type: "int32",
        id: 13
      },
      exp: {
        type: "int32",
        id: 14
      },
      created: {
        type: "bool",
        id: 15
      },
      lv: {
        type: "int32",
        id: 16
      },
      vip: {
        type: "int32",
        id: 17
      },
      diamond: {
        type: "int32",
        id: 18
      },
      title: {
        type: "int32",
        id: 19
      }
    }
  },
  DBUserSetting: {
    fields: {
      uid: {
        type: "string",
        id: 2
      },
      huazhi: {
        type: "uint32",
        id: 3
      },
      kangjuchi: {
        type: "uint32",
        id: 4
      },
      gaoguang: {
        type: "bool",
        id: 5
      },
      wuli: {
        type: "bool",
        id: 6
      },
      music: {
        type: "bool",
        id: 7
      },
      effect: {
        type: "bool",
        id: 8
      },
      guaji: {
        type: "bool",
        id: 9
      },
      fuben: {
        type: "bool",
        id: 10
      },
      tansuo: {
        type: "bool",
        id: 11
      },
      huodong: {
        type: "bool",
        id: 12
      },
      xuanshang: {
        type: "bool",
        id: 13
      },
      saiji: {
        type: "bool",
        id: 14
      }
    }
  },
  UserLoginReq: {
    fields: {
      account: {
        type: "string",
        id: 1
      },
      sid: {
        type: "int32",
        id: 2
      }
    }
  },
  UserLoginResp: {
    fields: {
      data: {
        type: "DBUser",
        id: 1
      },
      ex: {
        type: "DBUserExpand",
        id: 2
      }
    }
  },
  UserLogoutReq: {
    fields: {}
  },
  UserLogoutResp: {
    fields: {}
  },
  UserRegisterReq: {
    fields: {
      account: {
        type: "string",
        id: 1
      },
      sid: {
        type: "int32",
        id: 2
      }
    }
  },
  UserRegisterResp: {
    fields: {
      Code: {
        type: "ErrorCode",
        id: 1
      },
      account: {
        type: "string",
        id: 2
      }
    }
  },
  UserLoadResp: {
    fields: {
      data: {
        type: "CacheUser",
        id: 1
      }
    }
  },
  UserCreateReq: {
    fields: {
      NickName: {
        type: "string",
        id: 1
      }
    }
  },
  UserCreateResp: {
    fields: {
      IsSucc: {
        type: "bool",
        id: 1
      }
    }
  },
  UserAddResReq: {
    fields: {
      res: {
        type: "UserAssets",
        id: 1
      }
    }
  },
  UserAddResResp: {
    fields: {
      res: {
        type: "UserAssets",
        id: 1
      }
    }
  },
  UserResChangePush: {
    fields: {
      gold: {
        type: "int32",
        id: 1
      },
      exp: {
        type: "int32",
        id: 2
      },
      lv: {
        type: "int32",
        id: 3
      },
      vip: {
        type: "int32",
        id: 4
      },
      diamond: {
        type: "int32",
        id: 5
      }
    }
  },
  UserGetSettingReq: {
    fields: {}
  },
  UserGetSettingResp: {
    fields: {
      setting: {
        type: "DBUserSetting",
        id: 1
      }
    }
  },
  UserUpdateSettingReq: {
    fields: {
      setting: {
        type: "DBUserSetting",
        id: 1
      }
    }
  },
  UserUpdateSettingResp: {
    fields: {
      uid: {
        type: "string",
        id: 1
      }
    }
  },
  UserVeriCodeReq: {
    fields: {}
  },
  UserVeriCodeResp: {
    fields: {
      code: {
        type: "int32",
        id: 1
      }
    }
  },
  UserInitdataReq: {
    fields: {
      code: {
        type: "int32",
        id: 1
      }
    }
  },
  UserInitdataResp: {
    fields: {
      uid: {
        type: "string",
        id: 1
      }
    }
  },
  UserModifynameReq: {
    fields: {
      name: {
        type: "string",
        id: 1
      }
    }
  },
  UserModifynameResp: {
    fields: {
      uid: {
        type: "string",
        id: 1
      },
      count: {
        type: "uint32",
        id: 2
      }
    }
  },
  UserGetTujianReq: {
    fields: {}
  },
  UserGetTujianResp: {
    fields: {
      heroids: {
        rule: "repeated",
        type: "string",
        id: 1
      }
    }
  },
  UserChangedPush: {
    fields: {
      uid: {
        type: "string",
        id: 1
      },
      exp: {
        type: "int32",
        id: 2
      },
      lv: {
        type: "int32",
        id: 3
      }
    }
  },
  UserFigureReq: {
    fields: {
      preinstall: {
        type: "int32",
        id: 1
      },
      action: {
        type: "int32",
        id: 2
      },
      hair: {
        type: "Hair",
        id: 3
      },
      eyes: {
        type: "Eyes",
        id: 4
      },
      mouth: {
        type: "Mouth",
        id: 5
      },
      body: {
        type: "Body",
        id: 6
      },
      complexion: {
        type: "Complexion",
        id: 7
      }
    }
  },
  UserFigureResp: {
    fields: {
      uid: {
        type: "string",
        id: 1
      },
      action: {
        type: "int32",
        id: 2
      },
      figure: {
        type: "Figure",
        id: 3
      }
    }
  },
  UserModifysignReq: {
    fields: {
      sign: {
        type: "string",
        id: 1
      }
    }
  },
  UserModifysignResp: {
    fields: {
      uid: {
        type: "string",
        id: 1
      }
    }
  },
  Hair: {
    fields: {
      resId: {
        type: "int32",
        id: 1
      },
      color: {
        type: "string",
        id: 2
      }
    }
  },
  Eyes: {
    fields: {
      resId: {
        type: "int32",
        id: 1
      },
      color: {
        type: "string",
        id: 2
      }
    }
  },
  Mouth: {
    fields: {
      resId: {
        type: "string",
        id: 1
      }
    }
  },
  Body: {
    fields: {
      high: {
        type: "int32",
        id: 1
      },
      shape: {
        type: "int32",
        id: 2
      }
    }
  },
  Complexion: {
    fields: {
      color: {
        type: "string",
        id: 1
      }
    }
  },
  Figure: {
    fields: {
      hair: {
        type: "Hair",
        id: 1
      },
      eyes: {
        type: "Eyes",
        id: 2
      },
      mouth: {
        type: "Mouth",
        id: 3
      },
      body: {
        type: "Body",
        id: 4
      },
      complexion: {
        type: "Complexion",
        id: 5
      }
    }
  },
  DBUserExpand: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      lastreadnotiftime: {
        type: "int64",
        id: 3
      },
      lastInitdataTime: {
        type: "int64",
        id: 4
      },
      initdataCount: {
        type: "uint32",
        id: 5
      },
      chatchannel: {
        type: "int32",
        id: 6
      },
      modifynameCount: {
        type: "int32",
        id: 7
      },
      tujian: {
        keyType: "string",
        type: "bool",
        id: 8
      },
      curFigure: {
        type: "int32",
        id: 9
      },
      preinstall: {
        keyType: "int32",
        type: "Figure",
        id: 10
      },
      activeday: {
        type: "int32",
        id: 11
      },
      activeweek: {
        type: "int32",
        id: 12
      },
      sign: {
        type: "string",
        id: 13
      }
    }
  },
  Floor: {
    fields: {
      h4: {
        type: "int32",
        id: 1
      },
      h5: {
        type: "int32",
        id: 2
      }
    }
  },
  DBUserRecord: {
    fields: {
      id: {
        type: "string",
        id: 1
      },
      uid: {
        type: "string",
        id: 2
      },
      race0: {
        type: "Floor",
        id: 3
      },
      race1: {
        type: "Floor",
        id: 4
      },
      race2: {
        type: "Floor",
        id: 5
      },
      race3: {
        type: "Floor",
        id: 6
      },
      race4: {
        type: "Floor",
        id: 7
      },
      triggernum: {
        type: "int32",
        id: 8
      },
      activityid: {
        type: "int32",
        id: 9
      },
      mtime: {
        type: "int64",
        id: 10
      }
    }
  }
});

module.exports = $root;
