diff --git a/client/builders.go b/client/builders.go index 212bf16e..1c36b68e 100644 --- a/client/builders.go +++ b/client/builders.go @@ -771,27 +771,26 @@ func (c *QQClient) buildGroupMuteAllPacket(groupCode int64, mute bool) (uint16, return c.buildGroupOperationPacket(body) } -/* -func (c *QQClient) buildMultiMsgDownRequestPacket() (uint16, []byte){ +// OidbSvc.0x8a0_0 +func (c *QQClient) buildGroupKickPacket(groupCode, memberUin int64, kickMsg string) (uint16, []byte) { seq := c.nextSeq() - req := &multimsg.ReqBody{ - Subcmd: 2, - TermType: 5, - PlatformType: 9, - NetType: 3, - BuildVer: "8.2.0.1296", - MultimsgApplydownReq: []*multimsg.MultiMsgApplyDownReq{ + body := &oidb.D8A0ReqBody{ + OptUint64GroupCode: groupCode, + MsgKickList: []*oidb.D8A0KickMemberInfo{ { - MsgResid: []byte("xxx"), - MsgType: 3, - SrcUin: 000, + OptUint32Operate: 5, + OptUint64MemberUin: memberUin, + OptUint32Flag: 1, }, }, - BuType: 2, - ReqChannelType: 2, + KickMsg: []byte(kickMsg), + } + b, _ := proto.Marshal(body) + req := &oidb.OIDBSSOPkg{ + Command: 2208, + Bodybuffer: b, } payload, _ := proto.Marshal(req) - packet := packets.BuildUniPacket(c.Uin, seq, "MultiMsg.ApplyDown", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) + packet := packets.BuildUniPacket(c.Uin, seq, "OidbSvc.0x8a0_0", 1, c.OutGoingPacketSessionId, EmptyBytes, c.sigInfo.d2Key, payload) return seq, packet } -*/ diff --git a/client/client.go b/client/client.go index 1b0bb1ab..7eed5eb7 100644 --- a/client/client.go +++ b/client/client.go @@ -432,7 +432,7 @@ func (c *QQClient) SolveFriendRequest(req *NewFriendRequest, accept bool) { } func (g *GroupInfo) SelfPermission() MemberPermission { - return g.FindMember(g.bot.Uin).Permission + return g.FindMember(g.client.Uin).Permission } func (g *GroupInfo) AdministratorOrOwner() bool { @@ -465,6 +465,10 @@ func (c *QQClient) groupMuteAll(groupCode int64, mute bool) { _, _ = c.sendAndWait(c.buildGroupMuteAllPacket(groupCode, mute)) } +func (c *QQClient) kickGroupMember(groupCode, memberUin int64, msg string) { + _, _ = c.sendAndWait(c.buildGroupKickPacket(groupCode, memberUin, msg)) +} + func (g *GroupInfo) removeMember(uin int64) { if g.memLock == nil { g.memLock = new(sync.Mutex) diff --git a/client/decoders.go b/client/decoders.go index ad29776e..85776538 100644 --- a/client/decoders.go +++ b/client/decoders.go @@ -329,7 +329,7 @@ func decodeGroupListResponse(c *QQClient, _ uint16, payload []byte) (interface{} OwnerUin: g.GroupOwnerUin, MemberCount: uint16(g.MemberNum), MaxMemberCount: uint16(g.MaxGroupMemberNum), - bot: c, + client: c, }) } return l, nil diff --git a/client/entities.go b/client/entities.go index ebd9533f..9287d6a6 100644 --- a/client/entities.go +++ b/client/entities.go @@ -52,7 +52,7 @@ type ( MaxMemberCount uint16 Members []*GroupMemberInfo - bot *QQClient + client *QQClient memLock *sync.Mutex } @@ -177,14 +177,14 @@ const ( func (g *GroupInfo) UpdateName(newName string) { if g.AdministratorOrOwner() && newName != "" && strings.Count(newName, "") <= 20 { - g.bot.updateGroupName(g.Code, newName) + g.client.updateGroupName(g.Code, newName) g.Name = newName } } func (g *GroupInfo) MuteAll(mute bool) { if g.AdministratorOrOwner() { - g.bot.groupMuteAll(g.Code, mute) + g.client.groupMuteAll(g.Code, mute) } } @@ -197,20 +197,26 @@ func (m *GroupMemberInfo) DisplayName() string { func (m *GroupMemberInfo) EditCard(card string) { if m.Manageable() && strings.Count(card, "") <= 20 { - m.Group.bot.editMemberCard(m.Group.Code, m.Uin, card) + m.Group.client.editMemberCard(m.Group.Code, m.Uin, card) m.CardName = card } } func (m *GroupMemberInfo) EditSpecialTitle(title string) { if m.Group.SelfPermission() == Owner && strings.Count(title, "") <= 6 { - m.Group.bot.editMemberSpecialTitle(m.Group.Code, m.Uin, title) + m.Group.client.editMemberSpecialTitle(m.Group.Code, m.Uin, title) m.SpecialTitle = title } } +func (m *GroupMemberInfo) Kick(msg string) { + if m.Uin != m.Group.client.Uin && m.Manageable() { + m.Group.client.kickGroupMember(m.Group.Code, m.Uin, msg) + } +} + func (m *GroupMemberInfo) Manageable() bool { - if m.Uin == m.Group.bot.Uin { + if m.Uin == m.Group.client.Uin { return true } self := m.Group.SelfPermission() diff --git a/client/pb/oidb/oidb.pb.go b/client/pb/oidb/oidb.pb.go index c853a743..ca64cda9 100644 --- a/client/pb/oidb/oidb.pb.go +++ b/client/pb/oidb/oidb.pb.go @@ -112,6 +112,266 @@ func (x *OIDBSSOPkg) GetClientVersion() string { return "" } +type D8A0RspBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptUint64GroupCode int64 `protobuf:"varint,1,opt,name=optUint64GroupCode,proto3" json:"optUint64GroupCode,omitempty"` + MsgKickResult []*D8A0KickResult `protobuf:"bytes,2,rep,name=msgKickResult,proto3" json:"msgKickResult,omitempty"` +} + +func (x *D8A0RspBody) Reset() { + *x = D8A0RspBody{} + if protoimpl.UnsafeEnabled { + mi := &file_oidb_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *D8A0RspBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*D8A0RspBody) ProtoMessage() {} + +func (x *D8A0RspBody) ProtoReflect() protoreflect.Message { + mi := &file_oidb_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use D8A0RspBody.ProtoReflect.Descriptor instead. +func (*D8A0RspBody) Descriptor() ([]byte, []int) { + return file_oidb_proto_rawDescGZIP(), []int{1} +} + +func (x *D8A0RspBody) GetOptUint64GroupCode() int64 { + if x != nil { + return x.OptUint64GroupCode + } + return 0 +} + +func (x *D8A0RspBody) GetMsgKickResult() []*D8A0KickResult { + if x != nil { + return x.MsgKickResult + } + return nil +} + +type D8A0KickResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptUint32Result int32 `protobuf:"varint,1,opt,name=optUint32Result,proto3" json:"optUint32Result,omitempty"` + OptUint64MemberUin int64 `protobuf:"varint,2,opt,name=optUint64MemberUin,proto3" json:"optUint64MemberUin,omitempty"` +} + +func (x *D8A0KickResult) Reset() { + *x = D8A0KickResult{} + if protoimpl.UnsafeEnabled { + mi := &file_oidb_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *D8A0KickResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*D8A0KickResult) ProtoMessage() {} + +func (x *D8A0KickResult) ProtoReflect() protoreflect.Message { + mi := &file_oidb_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use D8A0KickResult.ProtoReflect.Descriptor instead. +func (*D8A0KickResult) Descriptor() ([]byte, []int) { + return file_oidb_proto_rawDescGZIP(), []int{2} +} + +func (x *D8A0KickResult) GetOptUint32Result() int32 { + if x != nil { + return x.OptUint32Result + } + return 0 +} + +func (x *D8A0KickResult) GetOptUint64MemberUin() int64 { + if x != nil { + return x.OptUint64MemberUin + } + return 0 +} + +type D8A0KickMemberInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptUint32Operate int32 `protobuf:"varint,1,opt,name=optUint32Operate,proto3" json:"optUint32Operate,omitempty"` + OptUint64MemberUin int64 `protobuf:"varint,2,opt,name=optUint64MemberUin,proto3" json:"optUint64MemberUin,omitempty"` + OptUint32Flag int32 `protobuf:"varint,3,opt,name=optUint32Flag,proto3" json:"optUint32Flag,omitempty"` + OptBytesMsg []byte `protobuf:"bytes,4,opt,name=optBytesMsg,proto3" json:"optBytesMsg,omitempty"` +} + +func (x *D8A0KickMemberInfo) Reset() { + *x = D8A0KickMemberInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_oidb_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *D8A0KickMemberInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*D8A0KickMemberInfo) ProtoMessage() {} + +func (x *D8A0KickMemberInfo) ProtoReflect() protoreflect.Message { + mi := &file_oidb_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use D8A0KickMemberInfo.ProtoReflect.Descriptor instead. +func (*D8A0KickMemberInfo) Descriptor() ([]byte, []int) { + return file_oidb_proto_rawDescGZIP(), []int{3} +} + +func (x *D8A0KickMemberInfo) GetOptUint32Operate() int32 { + if x != nil { + return x.OptUint32Operate + } + return 0 +} + +func (x *D8A0KickMemberInfo) GetOptUint64MemberUin() int64 { + if x != nil { + return x.OptUint64MemberUin + } + return 0 +} + +func (x *D8A0KickMemberInfo) GetOptUint32Flag() int32 { + if x != nil { + return x.OptUint32Flag + } + return 0 +} + +func (x *D8A0KickMemberInfo) GetOptBytesMsg() []byte { + if x != nil { + return x.OptBytesMsg + } + return nil +} + +type D8A0ReqBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptUint64GroupCode int64 `protobuf:"varint,1,opt,name=optUint64GroupCode,proto3" json:"optUint64GroupCode,omitempty"` + MsgKickList []*D8A0KickMemberInfo `protobuf:"bytes,2,rep,name=msgKickList,proto3" json:"msgKickList,omitempty"` + KickList []int64 `protobuf:"varint,3,rep,packed,name=kickList,proto3" json:"kickList,omitempty"` + KickFlag int32 `protobuf:"varint,4,opt,name=kickFlag,proto3" json:"kickFlag,omitempty"` + KickMsg []byte `protobuf:"bytes,5,opt,name=kickMsg,proto3" json:"kickMsg,omitempty"` +} + +func (x *D8A0ReqBody) Reset() { + *x = D8A0ReqBody{} + if protoimpl.UnsafeEnabled { + mi := &file_oidb_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *D8A0ReqBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*D8A0ReqBody) ProtoMessage() {} + +func (x *D8A0ReqBody) ProtoReflect() protoreflect.Message { + mi := &file_oidb_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use D8A0ReqBody.ProtoReflect.Descriptor instead. +func (*D8A0ReqBody) Descriptor() ([]byte, []int) { + return file_oidb_proto_rawDescGZIP(), []int{4} +} + +func (x *D8A0ReqBody) GetOptUint64GroupCode() int64 { + if x != nil { + return x.OptUint64GroupCode + } + return 0 +} + +func (x *D8A0ReqBody) GetMsgKickList() []*D8A0KickMemberInfo { + if x != nil { + return x.MsgKickList + } + return nil +} + +func (x *D8A0ReqBody) GetKickList() []int64 { + if x != nil { + return x.KickList + } + return nil +} + +func (x *D8A0ReqBody) GetKickFlag() int32 { + if x != nil { + return x.KickFlag + } + return 0 +} + +func (x *D8A0ReqBody) GetKickMsg() []byte { + if x != nil { + return x.KickMsg + } + return nil +} + type D8FCReqBody struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -131,7 +391,7 @@ type D8FCReqBody struct { func (x *D8FCReqBody) Reset() { *x = D8FCReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[1] + mi := &file_oidb_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -144,7 +404,7 @@ func (x *D8FCReqBody) String() string { func (*D8FCReqBody) ProtoMessage() {} func (x *D8FCReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[1] + mi := &file_oidb_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -157,7 +417,7 @@ func (x *D8FCReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use D8FCReqBody.ProtoReflect.Descriptor instead. func (*D8FCReqBody) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{1} + return file_oidb_proto_rawDescGZIP(), []int{5} } func (x *D8FCReqBody) GetGroupCode() int64 { @@ -237,7 +497,7 @@ type D89AReqBody struct { func (x *D89AReqBody) Reset() { *x = D89AReqBody{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[2] + mi := &file_oidb_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -250,7 +510,7 @@ func (x *D89AReqBody) String() string { func (*D89AReqBody) ProtoMessage() {} func (x *D89AReqBody) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[2] + mi := &file_oidb_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -263,7 +523,7 @@ func (x *D89AReqBody) ProtoReflect() protoreflect.Message { // Deprecated: Use D89AReqBody.ProtoReflect.Descriptor instead. func (*D89AReqBody) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{2} + return file_oidb_proto_rawDescGZIP(), []int{6} } func (x *D89AReqBody) GetGroupCode() int64 { @@ -342,7 +602,7 @@ type D89AGroupinfo struct { func (x *D89AGroupinfo) Reset() { *x = D89AGroupinfo{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[3] + mi := &file_oidb_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -355,7 +615,7 @@ func (x *D89AGroupinfo) String() string { func (*D89AGroupinfo) ProtoMessage() {} func (x *D89AGroupinfo) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[3] + mi := &file_oidb_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -368,7 +628,7 @@ func (x *D89AGroupinfo) ProtoReflect() protoreflect.Message { // Deprecated: Use D89AGroupinfo.ProtoReflect.Descriptor instead. func (*D89AGroupinfo) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{3} + return file_oidb_proto_rawDescGZIP(), []int{7} } func (x *D89AGroupinfo) GetGroupExtAdmNum() int32 { @@ -649,7 +909,7 @@ type D89AGroupNewGuidelinesInfo struct { func (x *D89AGroupNewGuidelinesInfo) Reset() { *x = D89AGroupNewGuidelinesInfo{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[4] + mi := &file_oidb_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -662,7 +922,7 @@ func (x *D89AGroupNewGuidelinesInfo) String() string { func (*D89AGroupNewGuidelinesInfo) ProtoMessage() {} func (x *D89AGroupNewGuidelinesInfo) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[4] + mi := &file_oidb_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -675,7 +935,7 @@ func (x *D89AGroupNewGuidelinesInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use D89AGroupNewGuidelinesInfo.ProtoReflect.Descriptor instead. func (*D89AGroupNewGuidelinesInfo) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{4} + return file_oidb_proto_rawDescGZIP(), []int{8} } func (x *D89AGroupNewGuidelinesInfo) GetBoolEnabled() bool { @@ -704,7 +964,7 @@ type D89AGroupExInfoOnly struct { func (x *D89AGroupExInfoOnly) Reset() { *x = D89AGroupExInfoOnly{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[5] + mi := &file_oidb_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -717,7 +977,7 @@ func (x *D89AGroupExInfoOnly) String() string { func (*D89AGroupExInfoOnly) ProtoMessage() {} func (x *D89AGroupExInfoOnly) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[5] + mi := &file_oidb_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -730,7 +990,7 @@ func (x *D89AGroupExInfoOnly) ProtoReflect() protoreflect.Message { // Deprecated: Use D89AGroupExInfoOnly.ProtoReflect.Descriptor instead. func (*D89AGroupExInfoOnly) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{5} + return file_oidb_proto_rawDescGZIP(), []int{9} } func (x *D89AGroupExInfoOnly) GetTribeId() int32 { @@ -762,7 +1022,7 @@ type D89AGroupGeoInfo struct { func (x *D89AGroupGeoInfo) Reset() { *x = D89AGroupGeoInfo{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[6] + mi := &file_oidb_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -775,7 +1035,7 @@ func (x *D89AGroupGeoInfo) String() string { func (*D89AGroupGeoInfo) ProtoMessage() {} func (x *D89AGroupGeoInfo) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[6] + mi := &file_oidb_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -788,7 +1048,7 @@ func (x *D89AGroupGeoInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use D89AGroupGeoInfo.ProtoReflect.Descriptor instead. func (*D89AGroupGeoInfo) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{6} + return file_oidb_proto_rawDescGZIP(), []int{10} } func (x *D89AGroupGeoInfo) GetCityId() int32 { @@ -853,7 +1113,7 @@ type D8FCMemberInfo struct { func (x *D8FCMemberInfo) Reset() { *x = D8FCMemberInfo{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[7] + mi := &file_oidb_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -866,7 +1126,7 @@ func (x *D8FCMemberInfo) String() string { func (*D8FCMemberInfo) ProtoMessage() {} func (x *D8FCMemberInfo) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[7] + mi := &file_oidb_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -879,7 +1139,7 @@ func (x *D8FCMemberInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use D8FCMemberInfo.ProtoReflect.Descriptor instead. func (*D8FCMemberInfo) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{7} + return file_oidb_proto_rawDescGZIP(), []int{11} } func (x *D8FCMemberInfo) GetUin() int64 { @@ -1013,7 +1273,7 @@ type D8FCCardNameElem struct { func (x *D8FCCardNameElem) Reset() { *x = D8FCCardNameElem{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[8] + mi := &file_oidb_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1026,7 +1286,7 @@ func (x *D8FCCardNameElem) String() string { func (*D8FCCardNameElem) ProtoMessage() {} func (x *D8FCCardNameElem) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[8] + mi := &file_oidb_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1039,7 +1299,7 @@ func (x *D8FCCardNameElem) ProtoReflect() protoreflect.Message { // Deprecated: Use D8FCCardNameElem.ProtoReflect.Descriptor instead. func (*D8FCCardNameElem) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{8} + return file_oidb_proto_rawDescGZIP(), []int{12} } func (x *D8FCCardNameElem) GetEnumCardType() int32 { @@ -1068,7 +1328,7 @@ type D8FCLevelName struct { func (x *D8FCLevelName) Reset() { *x = D8FCLevelName{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[9] + mi := &file_oidb_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1081,7 +1341,7 @@ func (x *D8FCLevelName) String() string { func (*D8FCLevelName) ProtoMessage() {} func (x *D8FCLevelName) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[9] + mi := &file_oidb_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1094,7 +1354,7 @@ func (x *D8FCLevelName) ProtoReflect() protoreflect.Message { // Deprecated: Use D8FCLevelName.ProtoReflect.Descriptor instead. func (*D8FCLevelName) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{9} + return file_oidb_proto_rawDescGZIP(), []int{13} } func (x *D8FCLevelName) GetLevel() int32 { @@ -1123,7 +1383,7 @@ type D8FCClientInfo struct { func (x *D8FCClientInfo) Reset() { *x = D8FCClientInfo{} if protoimpl.UnsafeEnabled { - mi := &file_oidb_proto_msgTypes[10] + mi := &file_oidb_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1136,7 +1396,7 @@ func (x *D8FCClientInfo) String() string { func (*D8FCClientInfo) ProtoMessage() {} func (x *D8FCClientInfo) ProtoReflect() protoreflect.Message { - mi := &file_oidb_proto_msgTypes[10] + mi := &file_oidb_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1149,7 +1409,7 @@ func (x *D8FCClientInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use D8FCClientInfo.ProtoReflect.Descriptor instead. func (*D8FCClientInfo) Descriptor() ([]byte, []int) { - return file_oidb_proto_rawDescGZIP(), []int{10} + return file_oidb_proto_rawDescGZIP(), []int{14} } func (x *D8FCClientInfo) GetImplat() int32 { @@ -1182,216 +1442,254 @@ var file_oidb_proto_rawDesc = []byte{ 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xe3, 0x02, 0x0a, 0x0b, 0x44, 0x38, 0x46, 0x43, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x33, 0x0a, 0x0c, 0x6d, - 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x38, 0x46, 0x43, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x2c, 0x0a, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x46, 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, - 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, - 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x44, 0x38, 0x46, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, - 0x6d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x22, 0xbd, 0x01, 0x0a, 0x0b, 0x44, 0x38, 0x39, 0x41, + 0x6e, 0x22, 0x74, 0x0a, 0x0b, 0x44, 0x38, 0x41, 0x30, 0x52, 0x73, 0x70, 0x42, 0x6f, 0x64, 0x79, + 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x70, + 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x35, 0x0a, 0x0d, 0x6d, 0x73, 0x67, 0x4b, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x38, 0x41, 0x30, 0x4b, 0x69, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0d, 0x6d, 0x73, 0x67, 0x4b, 0x69, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x6a, 0x0a, 0x0e, 0x44, 0x38, 0x41, 0x30, 0x4b, + 0x69, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x6f, 0x70, 0x74, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x55, 0x69, 0x6e, 0x22, 0xb8, 0x01, 0x0a, 0x12, 0x44, 0x38, 0x41, 0x30, 0x4b, 0x69, 0x63, 0x6b, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x70, + 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, + 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b, + 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4d, 0x73, 0x67, 0x22, 0xc6, + 0x01, 0x0a, 0x0b, 0x44, 0x38, 0x41, 0x30, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x2e, + 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, + 0x0a, 0x0b, 0x6d, 0x73, 0x67, 0x4b, 0x69, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x38, 0x41, 0x30, 0x4b, 0x69, 0x63, 0x6b, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x6d, 0x73, 0x67, 0x4b, 0x69, 0x63, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6b, 0x69, 0x63, 0x6b, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x6b, 0x69, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x6b, 0x69, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x22, 0xe3, 0x02, 0x0a, 0x0b, 0x44, 0x38, 0x46, 0x43, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x39, - 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x71, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x22, 0x81, 0x0d, 0x0a, 0x0d, 0x44, 0x38, 0x39, 0x41, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x4e, 0x75, - 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x6e, 0x67, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x67, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0c, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x2e, 0x0a, + 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x61, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x68, 0x6f, 0x77, 0x46, 0x6c, 0x61, + 0x67, 0x12, 0x33, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x38, 0x46, 0x43, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x46, 0x43, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, + 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x35, 0x0a, 0x0d, + 0x6d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x44, 0x38, 0x46, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x6d, 0x73, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x22, 0xbd, 0x01, + 0x0a, 0x0b, 0x44, 0x38, 0x39, 0x41, 0x52, 0x65, 0x71, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x1c, 0x0a, + 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x73, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, + 0x52, 0x0b, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x30, 0x0a, + 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x55, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6f, 0x72, 0x69, 0x67, + 0x69, 0x6e, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x69, 0x6e, 0x12, + 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x71, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, + 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x71, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x22, 0x81, 0x0d, + 0x0a, 0x0d, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x66, 0x6f, 0x12, + 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x41, 0x64, 0x6d, 0x4e, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, + 0x74, 0x41, 0x64, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x69, + 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0c, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x6f, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x65, 0x6d, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, - 0x65, 0x6d, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x2e, 0x0a, + 0x65, 0x6d, 0x6f, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, + 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, - 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x69, 0x6e, 0x67, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x69, 0x6f, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, - 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, - 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x69, 0x6e, 0x67, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, - 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, - 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, - 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, - 0x61, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, - 0x2c, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, - 0x14, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x69, 0x6e, 0x67, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, - 0x74, 0x12, 0x36, 0x0a, 0x16, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x69, 0x63, - 0x68, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x16, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x69, 0x63, 0x68, 0x46, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x4f, 0x0a, 0x14, 0x73, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x47, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x68, 0x75, 0x74, - 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0e, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x18, 0x13, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x54, 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x0f, 0x6d, 0x73, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0f, 0x6d, 0x73, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, - 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x45, 0x78, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x67, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x65, 0x78, 0x74, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x11, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, - 0x69, 0x6c, 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, - 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x70, 0x70, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x3a, 0x0a, - 0x0d, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x0d, 0x73, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, - 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, - 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x10, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x69, 0x6e, 0x67, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x12, - 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, - 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, - 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, - 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x10, 0x6e, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, - 0x67, 0x12, 0x32, 0x0a, 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, - 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, - 0x25, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, - 0x11, 0x6d, 0x73, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x63, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x73, 0x67, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x5e, 0x0a, 0x1a, 0x44, - 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x47, 0x75, 0x69, 0x64, 0x65, - 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, - 0x62, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, - 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0a, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x5b, 0x0a, 0x13, 0x44, - 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, - 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x69, 0x62, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, - 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, - 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xa2, 0x01, 0x0a, 0x10, 0x44, 0x38, 0x39, - 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, - 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x74, - 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6f, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x22, 0x9b, 0x04, - 0x0a, 0x0e, 0x44, 0x38, 0x46, 0x43, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, - 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x44, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, - 0x12, 0x36, 0x0a, 0x16, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x16, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x45, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x69, 0x6e, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x75, 0x69, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, - 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x16, - 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x62, - 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, - 0x69, 0x62, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x62, - 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, - 0x69, 0x62, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x72, 0x69, 0x63, 0x68, - 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x44, 0x38, 0x46, 0x43, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6c, 0x65, - 0x6d, 0x52, 0x0c, 0x72, 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x52, 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x52, - 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x44, - 0x38, 0x46, 0x43, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, - 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x75, 0x6d, 0x43, 0x61, 0x72, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x44, 0x38, 0x46, - 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x0e, 0x44, 0x38, 0x46, 0x43, 0x43, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x12, 0x22, - 0x0a, 0x0c, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x76, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x76, - 0x65, 0x72, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6f, 0x69, 0x64, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, + 0x6f, 0x76, 0x65, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x14, 0x69, 0x6e, 0x67, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x69, 0x6e, 0x67, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x69, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, + 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x69, 0x63, 0x68, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x12, + 0x4f, 0x0a, 0x14, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x67, 0x75, 0x69, + 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x47, 0x75, 0x69, 0x64, + 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x14, 0x73, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4e, 0x65, 0x77, 0x67, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x61, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x64, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x61, 0x64, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x73, 0x68, 0x75, 0x74, 0x75, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, + 0x61, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x54, 0x61, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x61, 0x67, 0x12, 0x3b, 0x0a, 0x0f, 0x6d, 0x73, + 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, + 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x6d, 0x73, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x47, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, 0x78, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x45, 0x78, 0x74, 0x12, 0x2c, 0x0a, + 0x11, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x65, + 0x78, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x65, 0x78, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x61, + 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x10, 0x61, 0x70, 0x70, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x3a, 0x0a, 0x0d, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x38, 0x39, + 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, + 0x52, 0x0d, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, + 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x63, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x73, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x69, 0x6e, 0x12, 0x2c, 0x0a, + 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, + 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x67, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0e, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, + 0x24, 0x0a, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, + 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, + 0x67, 0x65, 0x78, 0x74, 0x33, 0x12, 0x2c, 0x0a, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, + 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x21, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x65, 0x78, 0x74, 0x33, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, + 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x22, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x70, 0x70, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6e, + 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, + 0x23, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, + 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, + 0x65, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x18, + 0x24, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x6e, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x6f, 0x6f, 0x74, 0x49, 0x64, 0x18, 0x25, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, + 0x74, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x73, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x46, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, + 0x6d, 0x73, 0x67, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x79, 0x22, 0x5e, 0x0a, 0x1a, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x65, + 0x77, 0x47, 0x75, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x20, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x22, 0x5b, 0x0a, 0x13, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, + 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x62, + 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x72, 0x69, 0x62, 0x65, + 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x6f, + 0x6e, 0x65, 0x79, 0x46, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xa2, + 0x01, 0x0a, 0x10, 0x44, 0x38, 0x39, 0x41, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x47, 0x65, 0x6f, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, + 0x6f, 0x6e, 0x67, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x6c, 0x6f, 0x6e, 0x67, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, + 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x67, 0x47, 0x65, + 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, + 0x69, 0x6e, 0x67, 0x47, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x6f, 0x69, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x6f, + 0x69, 0x49, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x0e, 0x44, 0x38, 0x46, 0x43, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x16, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, + 0x6c, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x54, + 0x69, 0x74, 0x6c, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x75, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x07, 0x75, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, + 0x6a, 0x6f, 0x62, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x1e, + 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, + 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x62, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x62, 0x65, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, + 0x0a, 0x0c, 0x72, 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x10, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x38, 0x46, 0x43, 0x43, 0x61, 0x72, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x52, 0x0c, 0x72, 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x52, 0x69, 0x63, + 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x52, 0x69, 0x63, 0x68, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x4c, 0x0a, 0x10, 0x44, 0x38, 0x46, 0x43, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x75, 0x6d, 0x43, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x6e, 0x75, + 0x6d, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x39, 0x0a, 0x0d, 0x44, 0x38, 0x46, 0x43, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4c, 0x0a, 0x0e, 0x44, 0x38, + 0x46, 0x43, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, + 0x69, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x67, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x76, 0x65, 0x72, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x6f, 0x69, + 0x64, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1406,34 +1704,40 @@ func file_oidb_proto_rawDescGZIP() []byte { return file_oidb_proto_rawDescData } -var file_oidb_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_oidb_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_oidb_proto_goTypes = []interface{}{ (*OIDBSSOPkg)(nil), // 0: OIDBSSOPkg - (*D8FCReqBody)(nil), // 1: D8FCReqBody - (*D89AReqBody)(nil), // 2: D89AReqBody - (*D89AGroupinfo)(nil), // 3: D89AGroupinfo - (*D89AGroupNewGuidelinesInfo)(nil), // 4: D89AGroupNewGuidelinesInfo - (*D89AGroupExInfoOnly)(nil), // 5: D89AGroupExInfoOnly - (*D89AGroupGeoInfo)(nil), // 6: D89AGroupGeoInfo - (*D8FCMemberInfo)(nil), // 7: D8FCMemberInfo - (*D8FCCardNameElem)(nil), // 8: D8FCCardNameElem - (*D8FCLevelName)(nil), // 9: D8FCLevelName - (*D8FCClientInfo)(nil), // 10: D8FCClientInfo + (*D8A0RspBody)(nil), // 1: D8A0RspBody + (*D8A0KickResult)(nil), // 2: D8A0KickResult + (*D8A0KickMemberInfo)(nil), // 3: D8A0KickMemberInfo + (*D8A0ReqBody)(nil), // 4: D8A0ReqBody + (*D8FCReqBody)(nil), // 5: D8FCReqBody + (*D89AReqBody)(nil), // 6: D89AReqBody + (*D89AGroupinfo)(nil), // 7: D89AGroupinfo + (*D89AGroupNewGuidelinesInfo)(nil), // 8: D89AGroupNewGuidelinesInfo + (*D89AGroupExInfoOnly)(nil), // 9: D89AGroupExInfoOnly + (*D89AGroupGeoInfo)(nil), // 10: D89AGroupGeoInfo + (*D8FCMemberInfo)(nil), // 11: D8FCMemberInfo + (*D8FCCardNameElem)(nil), // 12: D8FCCardNameElem + (*D8FCLevelName)(nil), // 13: D8FCLevelName + (*D8FCClientInfo)(nil), // 14: D8FCClientInfo } var file_oidb_proto_depIdxs = []int32{ - 7, // 0: D8FCReqBody.memLevelInfo:type_name -> D8FCMemberInfo - 9, // 1: D8FCReqBody.levelName:type_name -> D8FCLevelName - 10, // 2: D8FCReqBody.msgClientInfo:type_name -> D8FCClientInfo - 3, // 3: D89AReqBody.stGroupInfo:type_name -> D89AGroupinfo - 4, // 4: D89AGroupinfo.stGroupNewguidelines:type_name -> D89AGroupNewGuidelinesInfo - 6, // 5: D89AGroupinfo.msgGroupGeoInfo:type_name -> D89AGroupGeoInfo - 5, // 6: D89AGroupinfo.stGroupExInfo:type_name -> D89AGroupExInfoOnly - 8, // 7: D8FCMemberInfo.richCardName:type_name -> D8FCCardNameElem - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 2, // 0: D8A0RspBody.msgKickResult:type_name -> D8A0KickResult + 3, // 1: D8A0ReqBody.msgKickList:type_name -> D8A0KickMemberInfo + 11, // 2: D8FCReqBody.memLevelInfo:type_name -> D8FCMemberInfo + 13, // 3: D8FCReqBody.levelName:type_name -> D8FCLevelName + 14, // 4: D8FCReqBody.msgClientInfo:type_name -> D8FCClientInfo + 7, // 5: D89AReqBody.stGroupInfo:type_name -> D89AGroupinfo + 8, // 6: D89AGroupinfo.stGroupNewguidelines:type_name -> D89AGroupNewGuidelinesInfo + 10, // 7: D89AGroupinfo.msgGroupGeoInfo:type_name -> D89AGroupGeoInfo + 9, // 8: D89AGroupinfo.stGroupExInfo:type_name -> D89AGroupExInfoOnly + 12, // 9: D8FCMemberInfo.richCardName:type_name -> D8FCCardNameElem + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_oidb_proto_init() } @@ -1455,7 +1759,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D8FCReqBody); i { + switch v := v.(*D8A0RspBody); i { case 0: return &v.state case 1: @@ -1467,7 +1771,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D89AReqBody); i { + switch v := v.(*D8A0KickResult); i { case 0: return &v.state case 1: @@ -1479,7 +1783,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D89AGroupinfo); i { + switch v := v.(*D8A0KickMemberInfo); i { case 0: return &v.state case 1: @@ -1491,7 +1795,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D89AGroupNewGuidelinesInfo); i { + switch v := v.(*D8A0ReqBody); i { case 0: return &v.state case 1: @@ -1503,7 +1807,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D89AGroupExInfoOnly); i { + switch v := v.(*D8FCReqBody); i { case 0: return &v.state case 1: @@ -1515,7 +1819,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D89AGroupGeoInfo); i { + switch v := v.(*D89AReqBody); i { case 0: return &v.state case 1: @@ -1527,7 +1831,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D8FCMemberInfo); i { + switch v := v.(*D89AGroupinfo); i { case 0: return &v.state case 1: @@ -1539,7 +1843,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D8FCCardNameElem); i { + switch v := v.(*D89AGroupNewGuidelinesInfo); i { case 0: return &v.state case 1: @@ -1551,7 +1855,7 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*D8FCLevelName); i { + switch v := v.(*D89AGroupExInfoOnly); i { case 0: return &v.state case 1: @@ -1563,6 +1867,54 @@ func file_oidb_proto_init() { } } file_oidb_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*D89AGroupGeoInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_oidb_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*D8FCMemberInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_oidb_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*D8FCCardNameElem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_oidb_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*D8FCLevelName); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_oidb_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*D8FCClientInfo); i { case 0: return &v.state @@ -1581,7 +1933,7 @@ func file_oidb_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_oidb_proto_rawDesc, NumEnums: 0, - NumMessages: 11, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/client/pb/oidb/oidb.proto b/client/pb/oidb/oidb.proto index 0819a5e4..a3953504 100644 --- a/client/pb/oidb/oidb.proto +++ b/client/pb/oidb/oidb.proto @@ -3,121 +3,144 @@ syntax = "proto3"; option go_package = ".;oidb"; message OIDBSSOPkg { - int32 command = 1; - int32 serviceType = 2; - int32 result = 3; - bytes bodybuffer = 4; - string errorMsg = 5; - string clientVersion = 6; + int32 command = 1; + int32 serviceType = 2; + int32 result = 3; + bytes bodybuffer = 4; + string errorMsg = 5; + string clientVersion = 6; } +message D8A0RspBody { + int64 optUint64GroupCode = 1; + repeated D8A0KickResult msgKickResult = 2; +} +message D8A0KickResult { + int32 optUint32Result = 1; + int64 optUint64MemberUin = 2; +} +message D8A0KickMemberInfo { + int32 optUint32Operate = 1; + int64 optUint64MemberUin = 2; + int32 optUint32Flag = 3; + bytes optBytesMsg = 4; +} +message D8A0ReqBody { + int64 optUint64GroupCode = 1; + repeated D8A0KickMemberInfo msgKickList = 2; + repeated int64 kickList = 3; + int32 kickFlag = 4; + bytes kickMsg = 5; +} + + message D8FCReqBody { - int64 groupCode = 1; - int32 showFlag = 2; - repeated D8FCMemberInfo memLevelInfo = 3; - repeated D8FCLevelName levelName = 4; - int32 updateTime = 5; - int32 officeMode = 6; - int32 groupOpenAppid = 7; - D8FCClientInfo msgClientInfo = 8; - bytes authKey = 9; + int64 groupCode = 1; + int32 showFlag = 2; + repeated D8FCMemberInfo memLevelInfo = 3; + repeated D8FCLevelName levelName = 4; + int32 updateTime = 5; + int32 officeMode = 6; + int32 groupOpenAppid = 7; + D8FCClientInfo msgClientInfo = 8; + bytes authKey = 9; } message D89AReqBody { - int64 groupCode = 1; - D89AGroupinfo stGroupInfo = 2; - int64 originalOperatorUin = 3; - int32 reqGroupOpenAppid = 4; + int64 groupCode = 1; + D89AGroupinfo stGroupInfo = 2; + int64 originalOperatorUin = 3; + int32 reqGroupOpenAppid = 4; } message D89AGroupinfo { - int32 groupExtAdmNum = 1; - int32 flag = 2; - bytes ingGroupName = 3; - bytes ingGroupMemo = 4; - bytes ingGroupFingerMemo = 5; - bytes ingGroupAioSkinUrl = 6; - bytes ingGroupBoardSkinUrl = 7; - bytes ingGroupCoverSkinUrl = 8; - int32 groupGrade = 9; - int32 activeMemberNum = 10; - int32 certificationType = 11; - bytes ingCertificationText = 12; - bytes ingGroupRichFingerMemo = 13; - D89AGroupNewGuidelinesInfo stGroupNewguidelines = 14; - int32 groupFace = 15; - int32 addOption = 16; - int32 shutupTime = 17; - int32 groupTypeFlag = 18; - bytes stringGroupTag = 19; - D89AGroupGeoInfo msgGroupGeoInfo = 20; - int32 groupClassExt = 21; - bytes ingGroupClassText = 22; - int32 appPrivilegeFlag = 23; - int32 appPrivilegeMask = 24; - D89AGroupExInfoOnly stGroupExInfo = 25; - int32 groupSecLevel = 26; - int32 groupSecLevelInfo = 27; - int64 subscriptionUin = 28; - int32 allowMemberInvite = 29; - bytes ingGroupQuestion = 30; - bytes ingGroupAnswer = 31; - int32 groupFlagext3 = 32; - int32 groupFlagext3Mask = 33; - int32 groupOpenAppid = 34; - int32 noFingerOpenFlag = 35; - int32 noCodeFingerOpenFlag = 36; - int64 rootId = 37; - int32 msgLimitFrequency = 38; + int32 groupExtAdmNum = 1; + int32 flag = 2; + bytes ingGroupName = 3; + bytes ingGroupMemo = 4; + bytes ingGroupFingerMemo = 5; + bytes ingGroupAioSkinUrl = 6; + bytes ingGroupBoardSkinUrl = 7; + bytes ingGroupCoverSkinUrl = 8; + int32 groupGrade = 9; + int32 activeMemberNum = 10; + int32 certificationType = 11; + bytes ingCertificationText = 12; + bytes ingGroupRichFingerMemo = 13; + D89AGroupNewGuidelinesInfo stGroupNewguidelines = 14; + int32 groupFace = 15; + int32 addOption = 16; + int32 shutupTime = 17; + int32 groupTypeFlag = 18; + bytes stringGroupTag = 19; + D89AGroupGeoInfo msgGroupGeoInfo = 20; + int32 groupClassExt = 21; + bytes ingGroupClassText = 22; + int32 appPrivilegeFlag = 23; + int32 appPrivilegeMask = 24; + D89AGroupExInfoOnly stGroupExInfo = 25; + int32 groupSecLevel = 26; + int32 groupSecLevelInfo = 27; + int64 subscriptionUin = 28; + int32 allowMemberInvite = 29; + bytes ingGroupQuestion = 30; + bytes ingGroupAnswer = 31; + int32 groupFlagext3 = 32; + int32 groupFlagext3Mask = 33; + int32 groupOpenAppid = 34; + int32 noFingerOpenFlag = 35; + int32 noCodeFingerOpenFlag = 36; + int64 rootId = 37; + int32 msgLimitFrequency = 38; } message D89AGroupNewGuidelinesInfo { - bool boolEnabled = 1; - bytes ingContent = 2; + bool boolEnabled = 1; + bytes ingContent = 2; } message D89AGroupExInfoOnly { - int32 tribeId = 1; - int32 moneyForAddGroup = 2; + int32 tribeId = 1; + int32 moneyForAddGroup = 2; } message D89AGroupGeoInfo { - int32 cityId = 1; - int64 longtitude = 2; - int64 latitude = 3; - bytes ingGeoContent = 4; - int64 poiId = 5; + int32 cityId = 1; + int64 longtitude = 2; + int64 latitude = 3; + bytes ingGeoContent = 4; + int64 poiId = 5; } message D8FCMemberInfo { - int64 uin = 1; - int32 point = 2; - int32 activeDay = 3; - int32 level = 4; - bytes specialTitle = 5; - int32 specialTitleExpireTime = 6; - bytes uinName = 7; - bytes memberCardName = 8; - bytes phone = 9; - bytes email = 10; - bytes remark = 11; - int32 gender = 12; - bytes job = 13; - int32 tribeLevel = 14; - int32 tribePoint = 15; - repeated D8FCCardNameElem richCardName = 16; - bytes commRichCardName = 17; + int64 uin = 1; + int32 point = 2; + int32 activeDay = 3; + int32 level = 4; + bytes specialTitle = 5; + int32 specialTitleExpireTime = 6; + bytes uinName = 7; + bytes memberCardName = 8; + bytes phone = 9; + bytes email = 10; + bytes remark = 11; + int32 gender = 12; + bytes job = 13; + int32 tribeLevel = 14; + int32 tribePoint = 15; + repeated D8FCCardNameElem richCardName = 16; + bytes commRichCardName = 17; } message D8FCCardNameElem { - int32 enumCardType = 1; - bytes value = 2; + int32 enumCardType = 1; + bytes value = 2; } message D8FCLevelName { - int32 level = 1; - string name = 2; + int32 level = 1; + string name = 2; } message D8FCClientInfo { - int32 implat = 1; - string ingClientver = 2; + int32 implat = 1; + string ingClientver = 2; } \ No newline at end of file