notification

pull/131/head
wenxu12345 3 years ago
parent 1be993801f
commit d40e1e47fd

@ -1,7 +1,7 @@
package group package group
import ( import (
"Open_IM/internal/rpc/chat" chat "Open_IM/internal/rpc/msg"
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db" "Open_IM/pkg/common/db"
@ -132,7 +132,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR
resp.ErrMsg = constant.ErrCreateGroup.ErrMsg resp.ErrMsg = constant.ErrCreateGroup.ErrMsg
return resp, nil return resp, nil
} }
chat.GroupCreatedNotification(req) chat.GroupCreatedNotification(req, groupId)
utils.CopyStructFields(resp.GroupInfo, group) utils.CopyStructFields(resp.GroupInfo, group)
log.NewInfo(req.OperationID, "rpc CreateGroup return ", resp.String()) log.NewInfo(req.OperationID, "rpc CreateGroup return ", resp.String())
return resp, nil return resp, nil

@ -4,9 +4,10 @@ import (
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db" "Open_IM/pkg/common/db"
immysql "Open_IM/pkg/common/db/mysql_model/im_mysql_model" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model"
http2 "Open_IM/pkg/common/http" http2 "Open_IM/pkg/common/http"
"Open_IM/pkg/common/log" "Open_IM/pkg/common/log"
"Open_IM/pkg/common/token_verify"
"Open_IM/pkg/grpc-etcdv3/getcdv3" "Open_IM/pkg/grpc-etcdv3/getcdv3"
pbChat "Open_IM/pkg/proto/chat" pbChat "Open_IM/pkg/proto/chat"
pbGroup "Open_IM/pkg/proto/group" pbGroup "Open_IM/pkg/proto/group"
@ -306,26 +307,50 @@ func Notification(n *NotificationMsg, onlineUserOnly bool) {
// GroupMemberFullInfo Creator = 2; // GroupMemberFullInfo Creator = 2;
// repeated GroupMemberFullInfo MemberList = 3; // repeated GroupMemberFullInfo MemberList = 3;
// uint64 OperationTime = 4; // uint64 OperationTime = 4;
//} //} creator->group
func GroupCreatedNotification(operationID string, creator *immysql.User, group *immysql.Group, memberList []immysql.GroupMember) { func GroupCreatedNotification(req *pbGroup.CreateGroupReq, groupID string) {
var n NotificationMsg var n NotificationMsg
n.SendID = creator.UserID n.SendID = req.OpUserID
n.RecvID = group.GroupID n.RecvID = groupID
n.ContentType = constant.CreateGroupTip n.ContentType = constant.CreateGroupTip
n.SessionType = constant.GroupChatType n.SessionType = constant.GroupChatType
n.MsgFrom = constant.SysMsgType n.MsgFrom = constant.SysMsgType
n.OperationID = operationID n.OperationID = req.OperationID
var groupCreated open_im_sdk.GroupCreatedTips var groupCreated open_im_sdk.GroupCreatedTips
groupCreated.Group = &open_im_sdk.GroupInfo{} groupCreated.Group = &open_im_sdk.GroupInfo{}
if token_verify.IsMangerUserID(req.OpUserID) {
u, err := imdb.FindUserByUID(req.OpUserID)
if err != nil || u == nil {
return
}
utils.CopyStructFields(groupCreated.Creator, u)
groupCreated.Creator.AppMangerLevel = 1
} else {
u, err := imdb.FindGroupMemberInfoByGroupIdAndUserId(groupID, req.OpUserID)
if err != nil || u == nil {
return
}
utils.CopyStructFields(groupCreated.Creator, u)
}
group, err := imdb.FindGroupInfoByGroupId(groupID)
if err != nil || group == nil {
return
}
utils.CopyStructFields(groupCreated.Group, group) utils.CopyStructFields(groupCreated.Group, group)
groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{} groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{}
utils.CopyStructFields(groupCreated.Creator, creator)
for _, v := range memberList { for _, v := range req.InitMemberList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfo var groupMemberInfo open_im_sdk.GroupMemberFullInfo
utils.CopyStructFields(&groupMemberInfo, v) member, err := imdb.GetMemberInfoById(groupID, v.UserID)
if err != nil {
utils.CopyStructFields(&groupMemberInfo, member)
}
groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo) groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo)
} }
var tips open_im_sdk.TipsComm var tips open_im_sdk.TipsComm
tips.Detail, _ = json.Marshal(groupCreated) tips.Detail, _ = json.Marshal(groupCreated)
tips.DefaultTips = config.Config.Notification.GroupCreated.DefaultTips.Tips tips.DefaultTips = config.Config.Notification.GroupCreated.DefaultTips.Tips

@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {} func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) { func (*CommonResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{0} return fileDescriptor_group_2ff972788727c811, []int{0}
} }
func (m *CommonResp) XXX_Unmarshal(b []byte) error { func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b) return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@ -82,7 +82,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} }
func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) }
func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) ProtoMessage() {}
func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{1} return fileDescriptor_group_2ff972788727c811, []int{1}
} }
func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b)
@ -135,7 +135,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} }
func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) }
func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) ProtoMessage() {}
func (*CreateGroupReq) Descriptor() ([]byte, []int) { func (*CreateGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{2} return fileDescriptor_group_2ff972788727c811, []int{2}
} }
func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b)
@ -231,7 +231,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} }
func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) }
func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) ProtoMessage() {}
func (*CreateGroupResp) Descriptor() ([]byte, []int) { func (*CreateGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{3} return fileDescriptor_group_2ff972788727c811, []int{3}
} }
func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b)
@ -285,7 +285,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} }
func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) ProtoMessage() {}
func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{4} return fileDescriptor_group_2ff972788727c811, []int{4}
} }
func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b)
@ -339,7 +339,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} }
func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) ProtoMessage() {}
func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{5} return fileDescriptor_group_2ff972788727c811, []int{5}
} }
func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b)
@ -394,7 +394,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} }
func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) }
func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) ProtoMessage() {}
func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { func (*SetGroupInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{6} return fileDescriptor_group_2ff972788727c811, []int{6}
} }
func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b)
@ -456,7 +456,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL
func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) ProtoMessage() {}
func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{7} return fileDescriptor_group_2ff972788727c811, []int{7}
} }
func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b)
@ -523,7 +523,7 @@ func (m *GetGroupApplicationList_Data_User) Reset() { *m = GetGroupAppli
func (m *GetGroupApplicationList_Data_User) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationList_Data_User) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationList_Data_User) ProtoMessage() {} func (*GetGroupApplicationList_Data_User) ProtoMessage() {}
func (*GetGroupApplicationList_Data_User) Descriptor() ([]byte, []int) { func (*GetGroupApplicationList_Data_User) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{8} return fileDescriptor_group_2ff972788727c811, []int{8}
} }
func (m *GetGroupApplicationList_Data_User) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationList_Data_User) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationList_Data_User.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationList_Data_User.Unmarshal(m, b)
@ -667,7 +667,7 @@ func (m *GetGroupApplicationListData) Reset() { *m = GetGroupApplication
func (m *GetGroupApplicationListData) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListData) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListData) ProtoMessage() {} func (*GetGroupApplicationListData) ProtoMessage() {}
func (*GetGroupApplicationListData) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListData) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{9} return fileDescriptor_group_2ff972788727c811, []int{9}
} }
func (m *GetGroupApplicationListData) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListData.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListData.Unmarshal(m, b)
@ -714,7 +714,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication
func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) ProtoMessage() {}
func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{10} return fileDescriptor_group_2ff972788727c811, []int{10}
} }
func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b)
@ -770,7 +770,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} }
func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) }
func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) ProtoMessage() {}
func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{11} return fileDescriptor_group_2ff972788727c811, []int{11}
} }
func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b)
@ -840,7 +840,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} }
func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) }
func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) ProtoMessage() {}
func (*JoinGroupReq) Descriptor() ([]byte, []int) { func (*JoinGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{12} return fileDescriptor_group_2ff972788727c811, []int{12}
} }
func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b)
@ -915,7 +915,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes
func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) }
func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) ProtoMessage() {}
func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{13} return fileDescriptor_group_2ff972788727c811, []int{13}
} }
func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b)
@ -1006,7 +1006,7 @@ func (m *SetOwnerGroupNickNameReq) Reset() { *m = SetOwnerGroupNickNameR
func (m *SetOwnerGroupNickNameReq) String() string { return proto.CompactTextString(m) } func (m *SetOwnerGroupNickNameReq) String() string { return proto.CompactTextString(m) }
func (*SetOwnerGroupNickNameReq) ProtoMessage() {} func (*SetOwnerGroupNickNameReq) ProtoMessage() {}
func (*SetOwnerGroupNickNameReq) Descriptor() ([]byte, []int) { func (*SetOwnerGroupNickNameReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{14} return fileDescriptor_group_2ff972788727c811, []int{14}
} }
func (m *SetOwnerGroupNickNameReq) XXX_Unmarshal(b []byte) error { func (m *SetOwnerGroupNickNameReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetOwnerGroupNickNameReq.Unmarshal(m, b) return xxx_messageInfo_SetOwnerGroupNickNameReq.Unmarshal(m, b)
@ -1075,7 +1075,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} }
func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) }
func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) ProtoMessage() {}
func (*QuitGroupReq) Descriptor() ([]byte, []int) { func (*QuitGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{15} return fileDescriptor_group_2ff972788727c811, []int{15}
} }
func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b)
@ -1138,7 +1138,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} }
func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) ProtoMessage() {}
func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{16} return fileDescriptor_group_2ff972788727c811, []int{16}
} }
func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b)
@ -1207,7 +1207,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{}
func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) ProtoMessage() {}
func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{17} return fileDescriptor_group_2ff972788727c811, []int{17}
} }
func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b)
@ -1269,7 +1269,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{}
func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) ProtoMessage() {}
func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{18} return fileDescriptor_group_2ff972788727c811, []int{18}
} }
func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b)
@ -1330,7 +1330,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp
func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) ProtoMessage() {}
func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{19} return fileDescriptor_group_2ff972788727c811, []int{19}
} }
func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b)
@ -1386,7 +1386,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} }
func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) ProtoMessage() {}
func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { func (*KickGroupMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{20} return fileDescriptor_group_2ff972788727c811, []int{20}
} }
func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b)
@ -1453,7 +1453,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} }
func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (m *Id2Result) String() string { return proto.CompactTextString(m) }
func (*Id2Result) ProtoMessage() {} func (*Id2Result) ProtoMessage() {}
func (*Id2Result) Descriptor() ([]byte, []int) { func (*Id2Result) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{21} return fileDescriptor_group_2ff972788727c811, []int{21}
} }
func (m *Id2Result) XXX_Unmarshal(b []byte) error { func (m *Id2Result) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Id2Result.Unmarshal(m, b) return xxx_messageInfo_Id2Result.Unmarshal(m, b)
@ -1500,7 +1500,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} }
func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) }
func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) ProtoMessage() {}
func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { func (*KickGroupMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{22} return fileDescriptor_group_2ff972788727c811, []int{22}
} }
func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b)
@ -1554,7 +1554,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} }
func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) ProtoMessage() {}
func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{23} return fileDescriptor_group_2ff972788727c811, []int{23}
} }
func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b)
@ -1608,7 +1608,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{}
func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) }
func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) ProtoMessage() {}
func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{24} return fileDescriptor_group_2ff972788727c811, []int{24}
} }
func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b)
@ -1664,7 +1664,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} }
func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) ProtoMessage() {}
func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{25} return fileDescriptor_group_2ff972788727c811, []int{25}
} }
func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b)
@ -1732,7 +1732,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} }
func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) }
func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) ProtoMessage() {}
func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{26} return fileDescriptor_group_2ff972788727c811, []int{26}
} }
func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b)
@ -1775,9 +1775,8 @@ func (m *InviteUserToGroupResp) GetId2ResultList() []*Id2Result {
type GetGroupAllMemberReq struct { type GetGroupAllMemberReq struct {
GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"`
FromUserID string `protobuf:"bytes,2,opt,name=FromUserID" json:"FromUserID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"`
OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"`
OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -1787,7 +1786,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} }
func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) ProtoMessage() {}
func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{27} return fileDescriptor_group_2ff972788727c811, []int{27}
} }
func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b)
@ -1814,9 +1813,9 @@ func (m *GetGroupAllMemberReq) GetGroupID() string {
return "" return ""
} }
func (m *GetGroupAllMemberReq) GetFromUserID() string { func (m *GetGroupAllMemberReq) GetOpUserID() string {
if m != nil { if m != nil {
return m.FromUserID return m.OpUserID
} }
return "" return ""
} }
@ -1828,13 +1827,6 @@ func (m *GetGroupAllMemberReq) GetOperationID() string {
return "" return ""
} }
func (m *GetGroupAllMemberReq) GetOpUserID() string {
if m != nil {
return m.OpUserID
}
return ""
}
type GetGroupAllMemberResp struct { type GetGroupAllMemberResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"`
@ -1848,7 +1840,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} }
func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) }
func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) ProtoMessage() {}
func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) {
return fileDescriptor_group_23d97c4cd172f0ff, []int{28} return fileDescriptor_group_2ff972788727c811, []int{28}
} }
func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b)
@ -2424,102 +2416,101 @@ var _Group_serviceDesc = grpc.ServiceDesc{
Metadata: "group/group.proto", Metadata: "group/group.proto",
} }
func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_23d97c4cd172f0ff) } func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_2ff972788727c811) }
var fileDescriptor_group_23d97c4cd172f0ff = []byte{ var fileDescriptor_group_2ff972788727c811 = []byte{
// 1492 bytes of a gzipped FileDescriptorProto // 1480 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcb, 0x6f, 0x1c, 0x45, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0xdc, 0x44,
0x13, 0xd7, 0xec, 0xc3, 0xf1, 0x96, 0x1f, 0x6b, 0x77, 0x62, 0x67, 0xbe, 0x89, 0xbf, 0xc8, 0x19, 0x14, 0x97, 0xf7, 0x23, 0xcd, 0xbe, 0x7c, 0x6c, 0x32, 0x6d, 0x52, 0xe3, 0x86, 0x2a, 0xb5, 0x50,
0xa1, 0xc8, 0x8a, 0x90, 0x2d, 0x39, 0x08, 0x09, 0x25, 0x42, 0x71, 0xfc, 0x48, 0x16, 0xb0, 0xad, 0x15, 0x55, 0x28, 0x91, 0x52, 0x84, 0x84, 0x5a, 0xa1, 0xa6, 0xf9, 0x68, 0x17, 0x48, 0xa2, 0x3a,
0x8c, 0x37, 0x17, 0x2e, 0x66, 0xb2, 0xd3, 0x59, 0x0d, 0x3b, 0x3b, 0x33, 0x3b, 0x3d, 0x8b, 0x13, 0xdb, 0x0b, 0x97, 0xe0, 0xae, 0xa7, 0x2b, 0xb3, 0x5e, 0xdb, 0xeb, 0xf1, 0x92, 0x96, 0x0b, 0x20,
0x2e, 0x80, 0x90, 0xe0, 0x80, 0x80, 0x5c, 0x39, 0x72, 0x80, 0x23, 0xe2, 0xc0, 0x9d, 0x03, 0xff, 0x24, 0x38, 0x20, 0x44, 0xaf, 0x1c, 0x39, 0xc0, 0x11, 0x71, 0xe0, 0xce, 0x81, 0x7f, 0x0c, 0xcd,
0x18, 0xea, 0xc7, 0xcc, 0xf6, 0xf4, 0x3c, 0x76, 0x65, 0x4b, 0xe4, 0xb2, 0xda, 0xae, 0xaa, 0xee, 0x87, 0xbd, 0xe3, 0xf1, 0xc7, 0xae, 0x12, 0x89, 0x5e, 0x56, 0x3b, 0xef, 0xbd, 0x99, 0xf7, 0x31,
0x7a, 0x74, 0xd5, 0xaf, 0x6a, 0x1a, 0x56, 0xfb, 0x51, 0x30, 0x0e, 0x77, 0xd8, 0xef, 0x76, 0x18, 0xef, 0xfd, 0xde, 0x1b, 0xc3, 0x6a, 0x3f, 0x0a, 0xc6, 0xe1, 0x0e, 0xfb, 0xdd, 0x0e, 0xa3, 0x20,
0x05, 0x71, 0x80, 0x9a, 0x6c, 0x61, 0xdc, 0x39, 0x0d, 0xb1, 0x7f, 0xde, 0x39, 0xde, 0x09, 0x07, 0x0e, 0x50, 0x93, 0x2d, 0x8c, 0x3b, 0xa7, 0x21, 0xf6, 0xcf, 0x3b, 0xc7, 0x3b, 0xe1, 0xa0, 0xbf,
0xfd, 0x1d, 0xc6, 0xd9, 0x21, 0xce, 0xe0, 0xfc, 0x82, 0xec, 0x5c, 0x10, 0x2e, 0x69, 0x7e, 0x08, 0xc3, 0x38, 0x3b, 0xc4, 0x19, 0x9c, 0x5f, 0x90, 0x9d, 0x0b, 0xc2, 0x25, 0xcd, 0x8f, 0x01, 0xf6,
0xb0, 0x1f, 0x0c, 0x87, 0x81, 0x6f, 0x61, 0x12, 0x22, 0x1d, 0xae, 0x1d, 0x46, 0xd1, 0x7e, 0xe0, 0x83, 0xe1, 0x30, 0xf0, 0x2d, 0x4c, 0x42, 0xa4, 0xc3, 0xb5, 0xc3, 0x28, 0xda, 0x0f, 0x1c, 0xac,
0x60, 0x5d, 0xdb, 0xd4, 0xb6, 0x9a, 0x56, 0xb2, 0x44, 0xeb, 0x30, 0x77, 0x18, 0x45, 0xc7, 0xa4, 0x6b, 0x9b, 0xda, 0x56, 0xd3, 0x4a, 0x96, 0x68, 0x1d, 0xe6, 0x0e, 0xa3, 0xe8, 0x98, 0xf4, 0xf5,
0xaf, 0xd7, 0x36, 0xb5, 0xad, 0x96, 0x25, 0x56, 0xe6, 0x23, 0x40, 0x4f, 0xa8, 0xae, 0x3d, 0xc7, 0xda, 0xa6, 0xb6, 0xd5, 0xb2, 0xc4, 0xca, 0x7c, 0x04, 0xe8, 0x09, 0xd5, 0xb5, 0xe7, 0x38, 0xc7,
0x39, 0xc6, 0xc3, 0x17, 0x38, 0xea, 0xf8, 0x2f, 0x03, 0x2a, 0xfd, 0x9c, 0xe0, 0xa8, 0x73, 0xc0, 0x78, 0xf8, 0x02, 0x47, 0x1d, 0xff, 0x65, 0x40, 0xa5, 0x9f, 0x13, 0x1c, 0x75, 0x0e, 0xd8, 0x31,
0x8e, 0x69, 0x59, 0x62, 0x85, 0x10, 0x34, 0xac, 0xc0, 0xc3, 0xec, 0x8c, 0xa6, 0xc5, 0xfe, 0x9b, 0x2d, 0x4b, 0xac, 0x10, 0x82, 0x86, 0x15, 0x78, 0x98, 0x9d, 0xd1, 0xb4, 0xd8, 0x7f, 0xf3, 0xdf,
0xff, 0xd4, 0x60, 0x79, 0x3f, 0xc2, 0x76, 0x8c, 0xd9, 0x41, 0x16, 0x1e, 0xa1, 0x3d, 0x58, 0xee, 0x1a, 0x2c, 0xef, 0x47, 0xd8, 0x8e, 0x31, 0x3b, 0xc8, 0xc2, 0x23, 0xb4, 0x07, 0xcb, 0x1d, 0xdf,
0xf8, 0x6e, 0xcc, 0x0f, 0xfc, 0xc4, 0x25, 0xb1, 0xae, 0x6d, 0xd6, 0xb7, 0x16, 0x76, 0xff, 0xb7, 0x8d, 0xf9, 0x81, 0x9f, 0xb9, 0x24, 0xd6, 0xb5, 0xcd, 0xfa, 0xd6, 0xc2, 0xee, 0x3b, 0xdb, 0xdc,
0xcd, 0x9d, 0xcc, 0x6b, 0xb4, 0x94, 0x0d, 0x68, 0x03, 0x5a, 0x4c, 0xea, 0xc4, 0x1e, 0x62, 0x61, 0xc9, 0xbc, 0x46, 0x4b, 0xd9, 0x80, 0x36, 0xa0, 0xc5, 0xa4, 0x4e, 0xec, 0x21, 0x16, 0x26, 0x4f,
0xf2, 0x84, 0x80, 0x4c, 0x58, 0xec, 0xf8, 0x71, 0x14, 0x38, 0xe3, 0x5e, 0xec, 0x06, 0xbe, 0x5e, 0x08, 0xc8, 0x84, 0xc5, 0x8e, 0x1f, 0x47, 0x81, 0x33, 0xee, 0xc5, 0x6e, 0xe0, 0xeb, 0x75, 0x26,
0x67, 0x02, 0x19, 0x1a, 0x95, 0x39, 0x09, 0x62, 0xf7, 0xa5, 0xdb, 0xb3, 0x99, 0x4c, 0x83, 0xcb, 0x90, 0xa1, 0x51, 0x99, 0x93, 0x20, 0x76, 0x5f, 0xba, 0x3d, 0x9b, 0xc9, 0x34, 0xb8, 0x8c, 0x4c,
0xc8, 0x34, 0x1a, 0xaf, 0x23, 0xbb, 0x87, 0x9f, 0x47, 0x9e, 0xde, 0x64, 0xec, 0x64, 0x89, 0x56, 0xa3, 0xf1, 0x3a, 0xb2, 0x7b, 0xf8, 0x79, 0xe4, 0xe9, 0x4d, 0xc6, 0x4e, 0x96, 0x68, 0x05, 0xea,
0xa0, 0x7e, 0xf8, 0x2a, 0xd6, 0xe7, 0x18, 0x95, 0xfe, 0x45, 0x9b, 0xb0, 0x70, 0x1a, 0xe2, 0x88, 0x87, 0xaf, 0x62, 0x7d, 0x8e, 0x51, 0xe9, 0x5f, 0xb4, 0x09, 0x0b, 0xa7, 0x21, 0x8e, 0xd8, 0xc6,
0x6d, 0xec, 0x1c, 0xe8, 0xd7, 0x18, 0x47, 0x26, 0x21, 0x03, 0xe6, 0x4f, 0x43, 0x11, 0xb7, 0x79, 0xce, 0x81, 0x7e, 0x8d, 0x71, 0x64, 0x12, 0x32, 0x60, 0xfe, 0x34, 0x14, 0x71, 0x9b, 0x67, 0xec,
0xc6, 0x4e, 0xd7, 0xe8, 0x36, 0xc0, 0x51, 0x14, 0x0c, 0x05, 0xb7, 0xc5, 0xb8, 0x12, 0xc5, 0x7c, 0x74, 0x8d, 0x6e, 0x03, 0x1c, 0x45, 0xc1, 0x50, 0x70, 0x5b, 0x8c, 0x2b, 0x51, 0xcc, 0xd7, 0xd0,
0x0d, 0xed, 0x4c, 0x10, 0x2f, 0x73, 0x99, 0xe8, 0x3d, 0x11, 0x34, 0x1a, 0x51, 0x16, 0x93, 0x85, 0xce, 0x04, 0xf1, 0x32, 0x97, 0x89, 0x3e, 0x10, 0x41, 0xa3, 0x11, 0x65, 0x31, 0x59, 0xd8, 0x5d,
0xdd, 0xf5, 0xed, 0x80, 0xe6, 0x90, 0x3b, 0x3c, 0x27, 0xce, 0x60, 0x3b, 0xe5, 0x5a, 0x13, 0x41, 0xdf, 0x0e, 0x68, 0x0e, 0xb9, 0xc3, 0x73, 0xe2, 0x0c, 0xb6, 0x53, 0xae, 0x35, 0x11, 0x34, 0x23,
0x33, 0x82, 0x95, 0x27, 0x38, 0x66, 0x6b, 0xc2, 0x78, 0x78, 0x44, 0x9d, 0xe5, 0x02, 0x07, 0xe9, 0x58, 0x79, 0x82, 0x63, 0xb6, 0x26, 0x8c, 0x87, 0x47, 0xd4, 0x59, 0x2e, 0x70, 0x90, 0x5e, 0x5f,
0xf5, 0xb5, 0x2c, 0x99, 0xa4, 0x86, 0xa3, 0x56, 0x1d, 0x8e, 0x7a, 0x36, 0x1c, 0xe6, 0xb7, 0x1a, 0xcb, 0x92, 0x49, 0x6a, 0x38, 0x6a, 0xd5, 0xe1, 0xa8, 0x67, 0xc3, 0x61, 0x7e, 0xaf, 0xc1, 0xaa,
0xac, 0x2a, 0x4a, 0x2f, 0xe5, 0xf1, 0x43, 0x58, 0x4a, 0x1d, 0x61, 0x96, 0xd6, 0x59, 0xa2, 0x95, 0xa2, 0xf4, 0x52, 0x1e, 0x3f, 0x84, 0xa5, 0xd4, 0x11, 0x66, 0x69, 0x9d, 0x25, 0x5a, 0x99, 0xd7,
0x79, 0x9d, 0x15, 0x36, 0x7f, 0xd3, 0xa0, 0x7d, 0x26, 0xac, 0x48, 0x3c, 0xcf, 0xc4, 0x50, 0x9b, 0x59, 0x61, 0xf3, 0x77, 0x0d, 0xda, 0x67, 0xc2, 0x8a, 0xc4, 0xf3, 0x4c, 0x0c, 0xb5, 0x19, 0x63,
0x31, 0x86, 0x19, 0x5f, 0x6b, 0x95, 0x57, 0x5f, 0x57, 0xaf, 0x5e, 0x8d, 0x64, 0x23, 0x17, 0x49, 0x98, 0xf1, 0xb5, 0x56, 0x79, 0xf5, 0x75, 0xf5, 0xea, 0xd5, 0x48, 0x36, 0x72, 0x91, 0x34, 0xbf,
0xf3, 0x4b, 0x30, 0x92, 0x60, 0xed, 0x85, 0xa1, 0x27, 0xb2, 0x97, 0xba, 0x40, 0x2d, 0x96, 0x75, 0x06, 0x23, 0x09, 0xd6, 0x5e, 0x18, 0x7a, 0x22, 0x7b, 0xa9, 0x0b, 0xd4, 0x62, 0x59, 0xb7, 0xa6,
0x6b, 0x8a, 0xee, 0xe9, 0xb7, 0x34, 0xc5, 0x3a, 0xf3, 0x97, 0x06, 0xdc, 0x29, 0x51, 0x7e, 0x7e, 0xe8, 0x9e, 0x7e, 0x4b, 0x53, 0xac, 0x33, 0x7f, 0x6d, 0xc0, 0x9d, 0x12, 0xe5, 0xe7, 0x07, 0x76,
0x60, 0xc7, 0xf6, 0x39, 0x95, 0x43, 0xcb, 0x50, 0x4b, 0xb5, 0xd7, 0x3a, 0x07, 0xf4, 0x26, 0x45, 0x6c, 0x9f, 0x53, 0x39, 0xb4, 0x0c, 0xb5, 0x54, 0x7b, 0xad, 0x73, 0x40, 0x6f, 0x52, 0x24, 0x8b,
0xb2, 0x08, 0x9d, 0xc9, 0x72, 0x6a, 0x34, 0x0c, 0x98, 0xef, 0x06, 0x82, 0xcb, 0x43, 0x91, 0xae, 0xd0, 0x99, 0x2c, 0xa7, 0x46, 0xc3, 0x80, 0xf9, 0x6e, 0x20, 0xb8, 0x3c, 0x14, 0xe9, 0x9a, 0xc2,
0x29, 0xfc, 0x1c, 0x79, 0x76, 0x9f, 0xd5, 0x6a, 0xd3, 0x62, 0xff, 0xe9, 0x79, 0x16, 0x1e, 0x8d, 0xcf, 0x91, 0x67, 0xf7, 0x59, 0xad, 0x36, 0x2d, 0xf6, 0x9f, 0x9e, 0x67, 0xe1, 0xd1, 0x18, 0x93,
0x31, 0x89, 0x69, 0x76, 0xf0, 0x7a, 0x95, 0x28, 0x94, 0xff, 0xd4, 0xf6, 0x1d, 0x0f, 0x3b, 0x94, 0x98, 0x66, 0x07, 0xaf, 0x57, 0x89, 0x42, 0xf9, 0x4f, 0x6d, 0xdf, 0xf1, 0xb0, 0x43, 0xf9, 0xbc,
0xcf, 0xab, 0x56, 0xa2, 0x50, 0x4b, 0xf7, 0x1c, 0xa7, 0xeb, 0x0e, 0x31, 0xab, 0xd9, 0xba, 0x95, 0x6a, 0x25, 0x0a, 0xb5, 0x74, 0xcf, 0x71, 0xba, 0xee, 0x10, 0xb3, 0x9a, 0xad, 0x5b, 0xc9, 0x12,
0x2c, 0xd1, 0x3d, 0x58, 0x49, 0xec, 0x3a, 0x71, 0x7b, 0x03, 0x9f, 0x22, 0x11, 0x2f, 0xdc, 0x1c, 0xdd, 0x83, 0x95, 0xc4, 0xae, 0x13, 0xb7, 0x37, 0xf0, 0x29, 0x12, 0xf1, 0xc2, 0xcd, 0xd1, 0xd1,
0x1d, 0xdd, 0x85, 0x65, 0x6e, 0x65, 0x2a, 0x09, 0x4c, 0x52, 0xa1, 0xa2, 0x2d, 0x68, 0x27, 0x7b, 0x5d, 0x58, 0xe6, 0x56, 0xa6, 0x92, 0xc0, 0x24, 0x15, 0x2a, 0xda, 0x82, 0x76, 0xb2, 0x37, 0x01,
0x13, 0xe0, 0x59, 0x60, 0x82, 0x2a, 0x19, 0xbd, 0x03, 0x4b, 0x7c, 0x6f, 0x22, 0xb7, 0xc8, 0xe4, 0x9e, 0x05, 0x26, 0xa8, 0x92, 0xd1, 0x7b, 0xb0, 0xc4, 0xf7, 0x26, 0x72, 0x8b, 0x4c, 0x2e, 0x4b,
0xb2, 0x44, 0x7a, 0xbf, 0xc2, 0x17, 0x4a, 0xd5, 0x97, 0xf8, 0xfd, 0x4a, 0x24, 0x1a, 0xb3, 0xee, 0xa4, 0xf7, 0x2b, 0x7c, 0xa1, 0x54, 0x7d, 0x89, 0xdf, 0xaf, 0x44, 0xa2, 0x31, 0xeb, 0xbe, 0x0e,
0xeb, 0x10, 0xeb, 0xcb, 0x3c, 0x66, 0xf4, 0x3f, 0x85, 0x46, 0x2e, 0x72, 0x16, 0xdb, 0xf1, 0x98, 0xb1, 0xbe, 0xcc, 0x63, 0x46, 0xff, 0x53, 0x68, 0xe4, 0x22, 0x67, 0xb1, 0x1d, 0x8f, 0x89, 0xde,
0xe8, 0x6d, 0xc6, 0xcb, 0xd0, 0x26, 0x32, 0x16, 0x26, 0x63, 0x2f, 0xd6, 0x57, 0x64, 0x19, 0x4e, 0x66, 0xbc, 0x0c, 0x6d, 0x22, 0x63, 0x61, 0x32, 0xf6, 0x62, 0x7d, 0x45, 0x96, 0xe1, 0x34, 0x73,
0x33, 0x47, 0x70, 0xab, 0x24, 0x35, 0x68, 0x66, 0xa0, 0x1b, 0xd0, 0xdc, 0x0f, 0xc6, 0x7e, 0x2c, 0x04, 0xb7, 0x4a, 0x52, 0x83, 0x66, 0x06, 0xba, 0x01, 0xcd, 0xfd, 0x60, 0xec, 0xc7, 0xa2, 0x98,
0x8a, 0x99, 0x2f, 0xd0, 0x43, 0x68, 0x30, 0x5b, 0x6b, 0xac, 0x52, 0xb7, 0x92, 0x96, 0x30, 0x2d, 0xf9, 0x02, 0x3d, 0x84, 0x06, 0xb3, 0xb5, 0xc6, 0x2a, 0x75, 0x2b, 0x69, 0x09, 0xd3, 0x52, 0xcc,
0xc5, 0x2c, 0xb6, 0xcb, 0xfc, 0x5e, 0x2b, 0xd5, 0x79, 0x49, 0x08, 0x79, 0x1f, 0x1a, 0x54, 0x89, 0x62, 0xbb, 0xcc, 0x1f, 0xb5, 0x52, 0x9d, 0x97, 0x84, 0x90, 0x0f, 0xa1, 0x41, 0x95, 0x08, 0xbc,
0xc0, 0x4b, 0xb3, 0xda, 0x1e, 0x2a, 0x69, 0x31, 0x79, 0xf3, 0x6f, 0x0d, 0xd6, 0xba, 0x91, 0xed, 0x34, 0xab, 0xed, 0xa1, 0x92, 0x16, 0x93, 0x37, 0xff, 0xd1, 0x60, 0xad, 0x1b, 0xd9, 0x3e, 0x79,
0x93, 0x97, 0x38, 0x62, 0xa2, 0xa7, 0x17, 0x3e, 0x8e, 0x68, 0x41, 0x4a, 0xc9, 0xaf, 0x65, 0x93, 0x89, 0x23, 0x26, 0x7a, 0x7a, 0xe1, 0xe3, 0x88, 0x16, 0xa4, 0x94, 0xfc, 0x5a, 0x36, 0xf9, 0xef,
0xff, 0x2e, 0x2c, 0x9f, 0x7a, 0x0e, 0x13, 0xcc, 0x80, 0x85, 0x42, 0xa5, 0x72, 0x27, 0xf8, 0x42, 0xc2, 0xf2, 0xa9, 0xe7, 0x30, 0xc1, 0x0c, 0x58, 0x28, 0x54, 0x2a, 0x77, 0x82, 0x2f, 0x64, 0x39,
0x96, 0xe3, 0x85, 0xa2, 0x50, 0xa7, 0x43, 0x47, 0x06, 0x1c, 0x9a, 0x0a, 0x08, 0xff, 0xae, 0xc1, 0x5e, 0x28, 0x0a, 0x75, 0x3a, 0x74, 0x64, 0xc0, 0xa1, 0xa9, 0x80, 0xf0, 0x1f, 0x1a, 0x2c, 0x7e,
0xe2, 0x47, 0x81, 0xeb, 0xa7, 0x7d, 0xbb, 0xdc, 0x70, 0x5e, 0x65, 0xc7, 0x98, 0x10, 0xbb, 0x9f, 0x12, 0xb8, 0x7e, 0xda, 0xb7, 0xcb, 0x0d, 0xe7, 0x55, 0x76, 0x8c, 0x09, 0xb1, 0xfb, 0x49, 0x3f,
0xf4, 0x63, 0x89, 0x72, 0x75, 0x8c, 0xab, 0x34, 0xf4, 0xe7, 0x1a, 0xdc, 0x52, 0x6f, 0x83, 0xde, 0x96, 0x28, 0x57, 0xc7, 0xb8, 0x4a, 0x43, 0x7f, 0xa9, 0xc1, 0x2d, 0xf5, 0x36, 0xe8, 0x6d, 0x07,
0x76, 0xe0, 0x13, 0x2c, 0xba, 0x95, 0x7c, 0xba, 0x56, 0x7d, 0xba, 0x8a, 0xcf, 0x92, 0xd7, 0xf5, 0x3e, 0xc1, 0xa2, 0x5b, 0xc9, 0xa7, 0x6b, 0xd5, 0xa7, 0xab, 0xf8, 0x2c, 0x79, 0x5d, 0xaf, 0xc2,
0x2a, 0xac, 0x6a, 0x54, 0x62, 0xd5, 0x35, 0x05, 0xab, 0x24, 0x5c, 0x81, 0x2c, 0xae, 0x64, 0x11, 0xaa, 0x46, 0x25, 0x56, 0x5d, 0x53, 0xb0, 0x4a, 0xc2, 0x15, 0xc8, 0xe2, 0x4a, 0x16, 0x91, 0x16,
0x69, 0x31, 0x87, 0x48, 0x6a, 0xe5, 0xb5, 0x0b, 0x2a, 0xef, 0x0f, 0x0d, 0xf4, 0x33, 0x1c, 0xb3, 0x73, 0x88, 0xa4, 0x56, 0x5e, 0xbb, 0xa0, 0xf2, 0xfe, 0xd4, 0x40, 0x3f, 0xc3, 0x31, 0xcb, 0x05,
0x5c, 0xe0, 0x63, 0x91, 0xdb, 0x1b, 0xd0, 0xd1, 0xa8, 0xfa, 0x1a, 0x0d, 0x98, 0x4f, 0x01, 0x4a, 0x3e, 0x16, 0xb9, 0xbd, 0x01, 0x1d, 0x8d, 0xaa, 0xaf, 0xd1, 0x80, 0xf9, 0x14, 0xa0, 0x44, 0x18,
0x84, 0x21, 0x85, 0x26, 0x25, 0x88, 0xf5, 0x69, 0xad, 0xa2, 0x30, 0x1c, 0xa5, 0x57, 0xf8, 0x9d, 0x52, 0x68, 0x52, 0x82, 0x58, 0x9f, 0xd6, 0x2a, 0x0a, 0xc3, 0x51, 0x7a, 0x85, 0x3f, 0x68, 0xb0,
0x06, 0x8b, 0xcf, 0xc6, 0x6e, 0x3c, 0x43, 0xae, 0x5d, 0xb9, 0x67, 0x65, 0x0c, 0x69, 0x28, 0x86, 0xf8, 0x6c, 0xec, 0xc6, 0x33, 0xe4, 0xda, 0x95, 0x7b, 0x56, 0xc6, 0x90, 0x86, 0x62, 0xc8, 0x6f,
0xfc, 0xaa, 0xc1, 0x5a, 0x52, 0xdc, 0x93, 0x79, 0x73, 0x6a, 0xd8, 0x4a, 0xb3, 0x67, 0x7a, 0xd8, 0x1a, 0xac, 0x25, 0xc5, 0x3d, 0x99, 0x37, 0xa7, 0x86, 0xad, 0x34, 0x7b, 0xa6, 0x87, 0x6d, 0x1d,
0xd6, 0x61, 0xee, 0xc8, 0xf5, 0x62, 0x1c, 0x31, 0x5b, 0x9a, 0x96, 0x58, 0x51, 0x7d, 0x27, 0xf8, 0xe6, 0x8e, 0x5c, 0x2f, 0xc6, 0x11, 0xb3, 0xa5, 0x69, 0x89, 0x15, 0xd5, 0x77, 0x82, 0x5f, 0xc5,
0x55, 0x7c, 0x86, 0x47, 0xa2, 0xa1, 0x25, 0x4b, 0x5a, 0x98, 0xeb, 0x45, 0x36, 0x5e, 0x0a, 0xdf, 0x67, 0x78, 0x24, 0x1a, 0x5a, 0xb2, 0xa4, 0x85, 0xb9, 0x5e, 0x64, 0xe3, 0xa5, 0xf0, 0xed, 0x11,
0x1e, 0x01, 0x0c, 0x27, 0x83, 0x38, 0x9f, 0x8f, 0x36, 0xf3, 0x13, 0x0d, 0xd7, 0x73, 0x34, 0xf6, 0xc0, 0x70, 0x32, 0x88, 0xf3, 0xf9, 0x68, 0x33, 0x3f, 0xd1, 0x70, 0x3d, 0x47, 0x63, 0xcf, 0x63,
0x3c, 0x36, 0xdb, 0x48, 0x7b, 0xa8, 0x4e, 0x5f, 0x18, 0xca, 0x3d, 0x48, 0x96, 0xe6, 0x9b, 0x9c, 0xb3, 0x8d, 0xb4, 0x87, 0xea, 0xf4, 0x85, 0xa1, 0xdc, 0x83, 0x64, 0x69, 0xbe, 0xc9, 0x19, 0x9a,
0xa1, 0xe9, 0x04, 0x59, 0x89, 0x25, 0x92, 0x41, 0x35, 0x36, 0x5a, 0xca, 0xea, 0x2a, 0xe6, 0xc6, 0x4e, 0x90, 0x95, 0x58, 0x22, 0x19, 0x54, 0x63, 0xa3, 0xa5, 0xac, 0xae, 0x62, 0x6e, 0x9c, 0x61,
0x19, 0x66, 0xa5, 0x1f, 0x35, 0xb8, 0x59, 0x68, 0xd2, 0xdb, 0x09, 0x9e, 0xf9, 0xa7, 0x06, 0xe8, 0x56, 0xfa, 0x59, 0x83, 0x9b, 0x85, 0x26, 0xbd, 0x9d, 0xe0, 0x99, 0x7f, 0x69, 0x80, 0x3e, 0x75,
0x63, 0xb7, 0x37, 0x90, 0xe4, 0xaa, 0xc3, 0x73, 0x0f, 0x56, 0xa8, 0x3c, 0x6f, 0xdf, 0x62, 0xfe, 0x7b, 0x03, 0x49, 0xae, 0x3a, 0x3c, 0xf7, 0x60, 0x85, 0xca, 0xf3, 0xf6, 0x2d, 0xe6, 0x6f, 0x1e,
0xe6, 0x41, 0xca, 0xd1, 0xa9, 0xd9, 0x16, 0xb6, 0x49, 0xfa, 0x05, 0x24, 0x56, 0x6a, 0x98, 0x9a, 0xa4, 0x1c, 0x9d, 0x9a, 0x6d, 0x61, 0x9b, 0xa4, 0x2f, 0x20, 0xb1, 0x52, 0xc3, 0xd4, 0xac, 0x06,
0xd5, 0x80, 0x38, 0xa7, 0x94, 0xc8, 0x03, 0x68, 0x75, 0x9c, 0x5d, 0x8e, 0x34, 0xa5, 0x9f, 0x82, 0xc4, 0x39, 0xa5, 0x44, 0x1e, 0x40, 0xab, 0xe3, 0xec, 0x72, 0xa4, 0x29, 0x7d, 0x0a, 0x32, 0xd5,
0x4c, 0x35, 0xc3, 0x27, 0xfe, 0x31, 0x28, 0x56, 0xe6, 0x57, 0x70, 0x3d, 0xe7, 0xee, 0x25, 0xfb, 0x0c, 0x9f, 0xf8, 0x63, 0x50, 0xac, 0xcc, 0x6f, 0xe0, 0x7a, 0xce, 0xdd, 0x4b, 0xf6, 0xe5, 0xa5,
0xf2, 0x52, 0x6a, 0x85, 0x14, 0xfd, 0x15, 0xd1, 0xa0, 0x53, 0x9e, 0x95, 0x15, 0x33, 0xc7, 0xac, 0xd4, 0x0a, 0x29, 0xfa, 0x2b, 0xa2, 0x41, 0xa7, 0x3c, 0x2b, 0x2b, 0x66, 0x8e, 0x59, 0x7d, 0xd3,
0xbe, 0x69, 0x5f, 0xc3, 0x0e, 0xb3, 0x22, 0xa9, 0xef, 0x2c, 0x6a, 0x68, 0x45, 0x3d, 0x2a, 0xc8, 0xbe, 0x86, 0x1d, 0x66, 0x45, 0x52, 0xdf, 0x59, 0xd4, 0xd0, 0x8a, 0x7a, 0x54, 0x90, 0xc7, 0x9d,
0xe3, 0x4e, 0x30, 0xe3, 0x17, 0xcd, 0xd7, 0xbc, 0x14, 0x72, 0x7a, 0xaf, 0xf4, 0x21, 0x37, 0xc3, 0x60, 0xc6, 0x17, 0xcd, 0xb7, 0xbc, 0x14, 0x72, 0x7a, 0xaf, 0xf4, 0x90, 0x9b, 0xe1, 0x49, 0x33,
0x27, 0xcd, 0x44, 0xd0, 0xfc, 0x4b, 0x83, 0x1b, 0x1d, 0xff, 0x0b, 0x37, 0xc6, 0xd4, 0xa6, 0x6e, 0x11, 0x34, 0xff, 0xd6, 0xe0, 0x46, 0xc7, 0xff, 0xca, 0x8d, 0x31, 0xb5, 0xa9, 0x1b, 0xa4, 0x58,
0x90, 0x62, 0xed, 0x74, 0x44, 0x2d, 0xef, 0x81, 0x93, 0x14, 0x6b, 0x64, 0x52, 0xec, 0x5d, 0x58, 0x3b, 0x1d, 0x51, 0xcb, 0x7b, 0xe0, 0x24, 0xc5, 0x1a, 0x99, 0x14, 0x7b, 0x1f, 0x56, 0xb9, 0x2e,
0xe5, 0xba, 0xe4, 0x3c, 0x6d, 0xb2, 0x3c, 0xcd, 0x33, 0x2a, 0xd3, 0xed, 0x1b, 0x0d, 0xd6, 0x0a, 0x39, 0x4f, 0x9b, 0x2c, 0x4f, 0xf3, 0x8c, 0xca, 0x74, 0xfb, 0x4e, 0x83, 0xb5, 0x02, 0xb3, 0xff,
0xcc, 0xfe, 0x4f, 0x93, 0xe6, 0x27, 0x0d, 0x6e, 0xa4, 0x23, 0x9f, 0xe7, 0xcd, 0x52, 0xa7, 0xd9, 0xd7, 0xa4, 0xf1, 0xe1, 0x46, 0x3a, 0xf1, 0x79, 0xde, 0x2c, 0x65, 0x7a, 0xa5, 0x9e, 0x60, 0xfe,
0x74, 0xaa, 0x4d, 0x1b, 0x79, 0xea, 0xd5, 0x35, 0xa8, 0xb6, 0xa9, 0x1f, 0xa4, 0x36, 0x25, 0x19, 0x24, 0x75, 0x21, 0x49, 0xe1, 0xdb, 0xc1, 0xa8, 0xdd, 0x37, 0xf3, 0xc0, 0xbf, 0x38, 0xa1, 0x87,
0xf4, 0x76, 0x40, 0x6c, 0xf7, 0xcd, 0x3c, 0xf0, 0x27, 0x29, 0xf4, 0x10, 0x16, 0x7a, 0x93, 0x77, 0xb0, 0xd0, 0x9b, 0x7c, 0x86, 0x40, 0x6b, 0x22, 0x6e, 0xd9, 0xef, 0x3b, 0xc6, 0x7a, 0x11, 0x99,
0x0a, 0xb4, 0x26, 0x02, 0x9b, 0x7d, 0x00, 0x32, 0xd6, 0x8b, 0xc8, 0x24, 0x44, 0xf7, 0xa1, 0xf5, 0x84, 0xe8, 0x3e, 0xb4, 0xbe, 0x4c, 0xe6, 0x49, 0x74, 0x5d, 0x08, 0xc9, 0x13, 0xa6, 0xb1, 0x9a,
0x79, 0x32, 0x70, 0xa2, 0xeb, 0x42, 0x48, 0x1e, 0x41, 0x8d, 0xd5, 0x64, 0xe7, 0xe4, 0x51, 0xeb, 0xec, 0x9c, 0x7c, 0xb3, 0xba, 0x0f, 0xad, 0x51, 0x32, 0x18, 0xa4, 0x9b, 0xe4, 0x51, 0xa1, 0x68,
0x3e, 0xb4, 0x46, 0xc9, 0xe4, 0x90, 0x6e, 0x92, 0x67, 0x89, 0xa2, 0x4d, 0x8f, 0x61, 0xa9, 0x2f, 0xd3, 0x63, 0x58, 0xea, 0xcb, 0x9f, 0x0f, 0xd0, 0x4d, 0x65, 0x6e, 0x4f, 0xfa, 0x90, 0xa1, 0x17,
0xbf, 0x2f, 0xa0, 0x9b, 0xca, 0x60, 0x9f, 0x34, 0x2a, 0x43, 0x2f, 0x66, 0x90, 0x10, 0x7d, 0x00, 0x33, 0x48, 0x88, 0x3e, 0x82, 0x45, 0x22, 0x3d, 0xfe, 0x51, 0xe2, 0x95, 0xf2, 0x45, 0xa0, 0x48,
0x8b, 0x44, 0x7a, 0x1d, 0x40, 0x89, 0x57, 0xca, 0x93, 0x41, 0x91, 0xfa, 0xcf, 0xe0, 0x66, 0xbf, 0xfd, 0x17, 0x70, 0xb3, 0x5f, 0xfc, 0x40, 0x40, 0x77, 0xaa, 0x1f, 0x10, 0xf4, 0x40, 0x73, 0x9a,
0xf8, 0x0b, 0x02, 0xdd, 0xa9, 0xfe, 0xc2, 0xa0, 0x07, 0x9a, 0xd3, 0x44, 0x48, 0x88, 0x0e, 0x01, 0x08, 0x09, 0xd1, 0x21, 0xa0, 0x38, 0xf7, 0xb8, 0x40, 0x1b, 0x62, 0x67, 0xe1, 0xbb, 0xa3, 0xc8,
0xc5, 0xb9, 0xaf, 0x0f, 0xb4, 0x21, 0x76, 0x16, 0x7e, 0x98, 0x14, 0x19, 0xfa, 0x0c, 0xf4, 0x7e, 0xd0, 0x67, 0xa0, 0xf7, 0x4b, 0x06, 0x67, 0x64, 0x66, 0xbe, 0xc6, 0x15, 0x4e, 0xd6, 0xc5, 0x47,
0xc9, 0x64, 0x8d, 0xcc, 0xcc, 0x73, 0x5d, 0xe1, 0xe8, 0x5d, 0x7c, 0x24, 0xea, 0xe7, 0x86, 0x97, 0xa2, 0x7e, 0x6e, 0x36, 0x49, 0x2d, 0x2b, 0x1c, 0xad, 0x8c, 0x77, 0x2b, 0xb8, 0x24, 0x44, 0x5d,
0xd4, 0xb2, 0xc2, 0xd9, 0xcb, 0xf8, 0x7f, 0x05, 0x97, 0x84, 0xa8, 0x0b, 0xd7, 0xfb, 0xf9, 0x9e, 0xb8, 0xde, 0xcf, 0xb7, 0x6c, 0x54, 0xbc, 0x2b, 0xbd, 0xd9, 0xdb, 0x55, 0x6c, 0x12, 0xa2, 0xa7,
0x8e, 0x8a, 0x77, 0xa5, 0x37, 0x7b, 0xbb, 0x8a, 0x4d, 0x42, 0xf4, 0x14, 0xda, 0x83, 0x6c, 0xab, 0xd0, 0x1e, 0x64, 0x3b, 0x11, 0x4a, 0x3e, 0x40, 0xe6, 0x1b, 0xb2, 0x61, 0x94, 0xb1, 0x52, 0x97,
0x42, 0xc9, 0x0b, 0x65, 0xbe, 0x63, 0x1b, 0x46, 0x19, 0x2b, 0x75, 0x59, 0xc1, 0x7e, 0xd9, 0xe5, 0x15, 0x68, 0x97, 0x5d, 0xce, 0x77, 0x1b, 0xd9, 0xe5, 0xa2, 0x9e, 0x70, 0x02, 0xab, 0xae, 0x8a,
0x7c, 0x3b, 0x92, 0x5d, 0x2e, 0x6a, 0x1a, 0x27, 0xb0, 0xea, 0xaa, 0xa0, 0x88, 0x6e, 0x25, 0x38, 0x79, 0xe8, 0x56, 0x02, 0x53, 0x05, 0x20, 0x6e, 0x6c, 0x94, 0x33, 0xf9, 0x79, 0x7d, 0x15, 0x4f,
0x56, 0x80, 0xf2, 0xc6, 0x46, 0x39, 0x93, 0x9f, 0xd7, 0x57, 0xf1, 0x24, 0x3d, 0xaf, 0x08, 0xfa, 0xd2, 0xf3, 0x8a, 0xa0, 0xcd, 0xd8, 0x28, 0x67, 0x92, 0xf0, 0x71, 0xfb, 0xf3, 0xa5, 0x6d, 0xfe,
0x8c, 0x8d, 0x72, 0x26, 0x09, 0x1f, 0xb7, 0x3f, 0x5d, 0xda, 0xe6, 0x6f, 0xd6, 0x0f, 0xd8, 0xef, 0x49, 0xfa, 0x01, 0xfb, 0x7d, 0x31, 0xc7, 0xbe, 0x37, 0xdf, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff,
0x8b, 0x39, 0xf6, 0x20, 0x7d, 0xff, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xd5, 0x63, 0xdb, 0x77, 0xc5, 0xd1, 0xfe, 0xae, 0x16, 0x00, 0x00,
0xcf, 0x16, 0x00, 0x00,
} }

@ -21,7 +21,7 @@ message CreateGroupReq{
string FaceUrl = 5; string FaceUrl = 5;
string Ext = 6; string Ext = 6;
string OperationID = 7; string OperationID = 7;
string OpUserID = 8; string OpUserID = 8; //app manager or group owner
string FromUserID = 9; string FromUserID = 9;
} }
@ -34,7 +34,7 @@ message CreateGroupResp{
message GetGroupsInfoReq{ message GetGroupsInfoReq{
repeated string GroupIDList = 1; repeated string GroupIDList = 1;
string OperationID = 2; string OperationID = 2;
string OpUserID = 3; string OpUserID = 3; //No verification permission
} }
message GetGroupsInfoResp{ message GetGroupsInfoResp{
@ -46,16 +46,15 @@ message GetGroupsInfoResp{
message SetGroupInfoReq{ message SetGroupInfoReq{
open_im_sdk.GroupInfo GroupInfo = 1; open_im_sdk.GroupInfo GroupInfo = 1;
string OpUserID = 2; string OpUserID = 2; //app manager or group owner
string FromUserID = 3; string OperationID = 3;
string OperationID = 4;
} }
//owner or manager
message GetGroupApplicationListReq { message GetGroupApplicationListReq {
string OpUserID = 1; string OpUserID = 1; //app manager or group owner(manager)
string OperationID = 2; string OperationID = 2;
string FromUserID = 3; //owner or manager string FromUserID = 3; //owner or manager (Received)
} }
message GetGroupApplicationList_Data_User { message GetGroupApplicationList_Data_User {
@ -93,16 +92,15 @@ message TransferGroupOwnerReq {
string OldOwnerUserID = 2; string OldOwnerUserID = 2;
string NewOwnerUserID = 3; string NewOwnerUserID = 3;
string OperationID = 4; string OperationID = 4;
string OpUserID = 5; string OpUserID = 5; //app manager or group owner
} }
message JoinGroupReq{ message JoinGroupReq{
string GroupID = 1; string GroupID = 1;
string ReqMessage = 2; string ReqMessage = 2;
string FromUserID = 3; string OpUserID = 3;
string OperationID = 4; string OperationID = 4;
string OpUserID = 5;
} }
message GroupApplicationResponseReq{ message GroupApplicationResponseReq{
@ -110,12 +108,10 @@ message GroupApplicationResponseReq{
string OpUserID = 2; string OpUserID = 2;
string GroupID = 3; string GroupID = 3;
string FromUserID = 4; //:: string FromUserID = 4; //::
string ToUserID = 7; //:0: string ToUserID = 5; //:0:
int64 AddTime = 10; int64 AddTime = 6;
string HandledMsg = 12; string HandledMsg = 7;
// int32 Type = 13; int32 HandleResult = 8;
// int32 HandleStatus = 14;
int32 HandleResult = 15;
} }
@ -126,22 +122,21 @@ message SetOwnerGroupNickNameReq{
string Nickname = 2; string Nickname = 2;
string OperationID = 3; string OperationID = 3;
string FromUserID = 4; string FromUserID = 4;
string OpUserID = 5; string OpUserID = 5; //app manger or FromUserID
} }
message QuitGroupReq{ message QuitGroupReq{
string GroupID = 1; string GroupID = 1;
string OperationID = 2; string OperationID = 2;
string FromUserID = 3; string OpUserID = 3;
string OpUserID = 4;
} }
message GetGroupMemberListReq { message GetGroupMemberListReq {
string GroupID = 1; string GroupID = 1;
string OpUserID = 2; string OpUserID = 2; //No verification permission
string OperationID = 3; string OperationID = 3;
int32 Filter = 4; int32 Filter = 4;
int32 NextSeq = 5; int32 NextSeq = 5;
@ -159,7 +154,7 @@ message GetGroupMemberListResp {
message GetGroupMembersInfoReq { message GetGroupMembersInfoReq {
string GroupID = 1; string GroupID = 1;
repeated string memberList = 2; repeated string memberList = 2;
string OpUserID = 3; string OpUserID = 3; //No verification permission
string OperationID = 4; string OperationID = 4;
} }
@ -174,7 +169,7 @@ message KickGroupMemberReq {
repeated string KickedUserIDList = 2; repeated string KickedUserIDList = 2;
string Reason = 3; string Reason = 3;
string OperationID = 5; string OperationID = 5;
string OpUserID = 6; string OpUserID = 6; //app manger or group manager
} }
message Id2Result { message Id2Result {
@ -192,7 +187,7 @@ message KickGroupMemberResp {
message GetJoinedGroupListReq { message GetJoinedGroupListReq {
string FromUserID = 1; string FromUserID = 1;
string operationID = 2; string operationID = 2;
string OpUserID = 3; string OpUserID = 3; //app manager or FromUserID
} }
@ -208,7 +203,7 @@ message InviteUserToGroupReq {
string GroupID = 3; string GroupID = 3;
string Reason = 4; string Reason = 4;
repeated string InvitedUserIDList = 5; repeated string InvitedUserIDList = 5;
string OpUserID = 6; string OpUserID = 6; //group member or app manager
} }
message InviteUserToGroupResp { message InviteUserToGroupResp {
@ -220,7 +215,7 @@ message InviteUserToGroupResp {
message GetGroupAllMemberReq { message GetGroupAllMemberReq {
string GroupID = 1; string GroupID = 1;
string OpUserID = 2; string OpUserID = 2; //No verification permission
string OperationID = 3; string OperationID = 3;
} }

@ -34,7 +34,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe
func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) ProtoMessage() {}
func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{0} return fileDescriptor_ws_3380b8a9bc5ee255, []int{0}
} }
func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b)
@ -109,7 +109,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{1} return fileDescriptor_ws_3380b8a9bc5ee255, []int{1}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -164,7 +164,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) ProtoMessage() {}
func (*PullMessageReq) Descriptor() ([]byte, []int) { func (*PullMessageReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{2} return fileDescriptor_ws_3380b8a9bc5ee255, []int{2}
} }
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
@ -228,7 +228,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) ProtoMessage() {}
func (*PullMessageResp) Descriptor() ([]byte, []int) { func (*PullMessageResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{3} return fileDescriptor_ws_3380b8a9bc5ee255, []int{3}
} }
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
@ -300,7 +300,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{4} return fileDescriptor_ws_3380b8a9bc5ee255, []int{4}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -332,7 +332,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{5} return fileDescriptor_ws_3380b8a9bc5ee255, []int{5}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -380,7 +380,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) { func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{6} return fileDescriptor_ws_3380b8a9bc5ee255, []int{6}
} }
func (m *GatherFormat) XXX_Unmarshal(b []byte) error { func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b) return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@ -427,7 +427,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) { func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{7} return fileDescriptor_ws_3380b8a9bc5ee255, []int{7}
} }
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
@ -496,7 +496,7 @@ func (m *MsgData) Reset() { *m = MsgData{} }
func (m *MsgData) String() string { return proto.CompactTextString(m) } func (m *MsgData) String() string { return proto.CompactTextString(m) }
func (*MsgData) ProtoMessage() {} func (*MsgData) ProtoMessage() {}
func (*MsgData) Descriptor() ([]byte, []int) { func (*MsgData) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{8} return fileDescriptor_ws_3380b8a9bc5ee255, []int{8}
} }
func (m *MsgData) XXX_Unmarshal(b []byte) error { func (m *MsgData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgData.Unmarshal(m, b) return xxx_messageInfo_MsgData.Unmarshal(m, b)
@ -657,7 +657,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} }
func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) }
func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) ProtoMessage() {}
func (*OfflinePushInfo) Descriptor() ([]byte, []int) { func (*OfflinePushInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{9} return fileDescriptor_ws_3380b8a9bc5ee255, []int{9}
} }
func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b)
@ -732,7 +732,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} }
func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (m *GroupInfo) String() string { return proto.CompactTextString(m) }
func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) ProtoMessage() {}
func (*GroupInfo) Descriptor() ([]byte, []int) { func (*GroupInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{10} return fileDescriptor_ws_3380b8a9bc5ee255, []int{10}
} }
func (m *GroupInfo) XXX_Unmarshal(b []byte) error { func (m *GroupInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfo.Unmarshal(m, b) return xxx_messageInfo_GroupInfo.Unmarshal(m, b)
@ -824,6 +824,7 @@ type GroupMemberFullInfo struct {
NickName string `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"` NickName string `protobuf:"bytes,5,opt,name=NickName" json:"NickName,omitempty"`
FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"` FaceUrl string `protobuf:"bytes,6,opt,name=FaceUrl" json:"FaceUrl,omitempty"`
FriendRemark string `protobuf:"bytes,7,opt,name=FriendRemark" json:"FriendRemark,omitempty"` FriendRemark string `protobuf:"bytes,7,opt,name=FriendRemark" json:"FriendRemark,omitempty"`
AppMangerLevel int32 `protobuf:"varint,8,opt,name=AppMangerLevel" json:"AppMangerLevel,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
@ -833,7 +834,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} }
func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) }
func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) ProtoMessage() {}
func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{11} return fileDescriptor_ws_3380b8a9bc5ee255, []int{11}
} }
func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b)
@ -902,6 +903,13 @@ func (m *GroupMemberFullInfo) GetFriendRemark() string {
return "" return ""
} }
func (m *GroupMemberFullInfo) GetAppMangerLevel() int32 {
if m != nil {
return m.AppMangerLevel
}
return 0
}
// private, Friends have permission to view // private, Friends have permission to view
type UserInfo struct { type UserInfo struct {
UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"` UserID string `protobuf:"bytes,1,opt,name=UserID" json:"UserID,omitempty"`
@ -921,7 +929,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} }
func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (m *UserInfo) String() string { return proto.CompactTextString(m) }
func (*UserInfo) ProtoMessage() {} func (*UserInfo) ProtoMessage() {}
func (*UserInfo) Descriptor() ([]byte, []int) { func (*UserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{12} return fileDescriptor_ws_3380b8a9bc5ee255, []int{12}
} }
func (m *UserInfo) XXX_Unmarshal(b []byte) error { func (m *UserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserInfo.Unmarshal(m, b) return xxx_messageInfo_UserInfo.Unmarshal(m, b)
@ -1012,7 +1020,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} }
func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) }
func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) ProtoMessage() {}
func (*PublicUserInfo) Descriptor() ([]byte, []int) { func (*PublicUserInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{13} return fileDescriptor_ws_3380b8a9bc5ee255, []int{13}
} }
func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b)
@ -1072,7 +1080,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} }
func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (m *TipsComm) String() string { return proto.CompactTextString(m) }
func (*TipsComm) ProtoMessage() {} func (*TipsComm) ProtoMessage() {}
func (*TipsComm) Descriptor() ([]byte, []int) { func (*TipsComm) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{14} return fileDescriptor_ws_3380b8a9bc5ee255, []int{14}
} }
func (m *TipsComm) XXX_Unmarshal(b []byte) error { func (m *TipsComm) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TipsComm.Unmarshal(m, b) return xxx_messageInfo_TipsComm.Unmarshal(m, b)
@ -1121,7 +1129,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} }
func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) }
func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) ProtoMessage() {}
func (*MemberEnterTips) Descriptor() ([]byte, []int) { func (*MemberEnterTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{15} return fileDescriptor_ws_3380b8a9bc5ee255, []int{15}
} }
func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b)
@ -1176,7 +1184,7 @@ func (m *MemberLeaveTips) Reset() { *m = MemberLeaveTips{} }
func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) } func (m *MemberLeaveTips) String() string { return proto.CompactTextString(m) }
func (*MemberLeaveTips) ProtoMessage() {} func (*MemberLeaveTips) ProtoMessage() {}
func (*MemberLeaveTips) Descriptor() ([]byte, []int) { func (*MemberLeaveTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{16} return fileDescriptor_ws_3380b8a9bc5ee255, []int{16}
} }
func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error { func (m *MemberLeaveTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b) return xxx_messageInfo_MemberLeaveTips.Unmarshal(m, b)
@ -1231,7 +1239,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} }
func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) ProtoMessage() {}
func (*MemberInvitedTips) Descriptor() ([]byte, []int) { func (*MemberInvitedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{17} return fileDescriptor_ws_3380b8a9bc5ee255, []int{17}
} }
func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b)
@ -1293,7 +1301,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} }
func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) }
func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) ProtoMessage() {}
func (*MemberKickedTips) Descriptor() ([]byte, []int) { func (*MemberKickedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{18} return fileDescriptor_ws_3380b8a9bc5ee255, []int{18}
} }
func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b)
@ -1356,7 +1364,7 @@ func (m *MemberInfoChangedTips) Reset() { *m = MemberInfoChangedTips{} }
func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *MemberInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*MemberInfoChangedTips) ProtoMessage() {} func (*MemberInfoChangedTips) ProtoMessage() {}
func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) { func (*MemberInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{19} return fileDescriptor_ws_3380b8a9bc5ee255, []int{19}
} }
func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *MemberInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_MemberInfoChangedTips.Unmarshal(m, b)
@ -1425,7 +1433,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} }
func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) }
func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) ProtoMessage() {}
func (*GroupCreatedTips) Descriptor() ([]byte, []int) { func (*GroupCreatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{20} return fileDescriptor_ws_3380b8a9bc5ee255, []int{20}
} }
func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b)
@ -1486,7 +1494,7 @@ func (m *GroupInfoChangedTips) Reset() { *m = GroupInfoChangedTips{} }
func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *GroupInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*GroupInfoChangedTips) ProtoMessage() {} func (*GroupInfoChangedTips) ProtoMessage() {}
func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) { func (*GroupInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{21} return fileDescriptor_ws_3380b8a9bc5ee255, []int{21}
} }
func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *GroupInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_GroupInfoChangedTips.Unmarshal(m, b)
@ -1540,7 +1548,7 @@ func (m *ReceiveJoinApplicationTips) Reset() { *m = ReceiveJoinApplicati
func (m *ReceiveJoinApplicationTips) String() string { return proto.CompactTextString(m) } func (m *ReceiveJoinApplicationTips) String() string { return proto.CompactTextString(m) }
func (*ReceiveJoinApplicationTips) ProtoMessage() {} func (*ReceiveJoinApplicationTips) ProtoMessage() {}
func (*ReceiveJoinApplicationTips) Descriptor() ([]byte, []int) { func (*ReceiveJoinApplicationTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{22} return fileDescriptor_ws_3380b8a9bc5ee255, []int{22}
} }
func (m *ReceiveJoinApplicationTips) XXX_Unmarshal(b []byte) error { func (m *ReceiveJoinApplicationTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiveJoinApplicationTips.Unmarshal(m, b) return xxx_messageInfo_ReceiveJoinApplicationTips.Unmarshal(m, b)
@ -1595,7 +1603,7 @@ func (m *ApplicationProcessedTips) Reset() { *m = ApplicationProcessedTi
func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *ApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*ApplicationProcessedTips) ProtoMessage() {} func (*ApplicationProcessedTips) ProtoMessage() {}
func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*ApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{23} return fileDescriptor_ws_3380b8a9bc5ee255, []int{23}
} }
func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *ApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_ApplicationProcessedTips.Unmarshal(m, b)
@ -1658,7 +1666,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} }
func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (m *FriendInfo) String() string { return proto.CompactTextString(m) }
func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) ProtoMessage() {}
func (*FriendInfo) Descriptor() ([]byte, []int) { func (*FriendInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{24} return fileDescriptor_ws_3380b8a9bc5ee255, []int{24}
} }
func (m *FriendInfo) XXX_Unmarshal(b []byte) error { func (m *FriendInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfo.Unmarshal(m, b) return xxx_messageInfo_FriendInfo.Unmarshal(m, b)
@ -1719,7 +1727,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} }
func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (m *FriendApplication) String() string { return proto.CompactTextString(m) }
func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) ProtoMessage() {}
func (*FriendApplication) Descriptor() ([]byte, []int) { func (*FriendApplication) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{25} return fileDescriptor_ws_3380b8a9bc5ee255, []int{25}
} }
func (m *FriendApplication) XXX_Unmarshal(b []byte) error { func (m *FriendApplication) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplication.Unmarshal(m, b) return xxx_messageInfo_FriendApplication.Unmarshal(m, b)
@ -1775,7 +1783,7 @@ func (m *FriendApplicationAddedTips) Reset() { *m = FriendApplicationAdd
func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationAddedTips) ProtoMessage() {} func (*FriendApplicationAddedTips) ProtoMessage() {}
func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{26} return fileDescriptor_ws_3380b8a9bc5ee255, []int{26}
} }
func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationAddedTips.Unmarshal(m, b)
@ -1838,7 +1846,7 @@ func (m *FriendApplicationProcessedTips) Reset() { *m = FriendApplicatio
func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) } func (m *FriendApplicationProcessedTips) String() string { return proto.CompactTextString(m) }
func (*FriendApplicationProcessedTips) ProtoMessage() {} func (*FriendApplicationProcessedTips) ProtoMessage() {}
func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) { func (*FriendApplicationProcessedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{27} return fileDescriptor_ws_3380b8a9bc5ee255, []int{27}
} }
func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error { func (m *FriendApplicationProcessedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b) return xxx_messageInfo_FriendApplicationProcessedTips.Unmarshal(m, b)
@ -1898,7 +1906,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} }
func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) }
func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) ProtoMessage() {}
func (*FriendAddedTips) Descriptor() ([]byte, []int) { func (*FriendAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{28} return fileDescriptor_ws_3380b8a9bc5ee255, []int{28}
} }
func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b)
@ -1944,7 +1952,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} }
func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) }
func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) ProtoMessage() {}
func (*FriendDeletedTips) Descriptor() ([]byte, []int) { func (*FriendDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{29} return fileDescriptor_ws_3380b8a9bc5ee255, []int{29}
} }
func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b)
@ -1991,7 +1999,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} }
func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (m *BlackInfo) String() string { return proto.CompactTextString(m) }
func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) ProtoMessage() {}
func (*BlackInfo) Descriptor() ([]byte, []int) { func (*BlackInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{30} return fileDescriptor_ws_3380b8a9bc5ee255, []int{30}
} }
func (m *BlackInfo) XXX_Unmarshal(b []byte) error { func (m *BlackInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackInfo.Unmarshal(m, b) return xxx_messageInfo_BlackInfo.Unmarshal(m, b)
@ -2044,7 +2052,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} }
func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) }
func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) ProtoMessage() {}
func (*BlackAddedTips) Descriptor() ([]byte, []int) { func (*BlackAddedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{31} return fileDescriptor_ws_3380b8a9bc5ee255, []int{31}
} }
func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b)
@ -2090,7 +2098,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} }
func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) }
func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) ProtoMessage() {}
func (*BlackDeletedTips) Descriptor() ([]byte, []int) { func (*BlackDeletedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{32} return fileDescriptor_ws_3380b8a9bc5ee255, []int{32}
} }
func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b)
@ -2137,7 +2145,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} }
func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) }
func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) ProtoMessage() {}
func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{33} return fileDescriptor_ws_3380b8a9bc5ee255, []int{33}
} }
func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b)
@ -2192,7 +2200,7 @@ func (m *SelfInfoUpdatedTips) Reset() { *m = SelfInfoUpdatedTips{} }
func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (m *SelfInfoUpdatedTips) String() string { return proto.CompactTextString(m) }
func (*SelfInfoUpdatedTips) ProtoMessage() {} func (*SelfInfoUpdatedTips) ProtoMessage() {}
func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) { func (*SelfInfoUpdatedTips) Descriptor() ([]byte, []int) {
return fileDescriptor_ws_9a3c519aa1c52df5, []int{34} return fileDescriptor_ws_3380b8a9bc5ee255, []int{34}
} }
func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error { func (m *SelfInfoUpdatedTips) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b) return xxx_messageInfo_SelfInfoUpdatedTips.Unmarshal(m, b)
@ -2272,118 +2280,119 @@ func init() {
proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips") proto.RegisterType((*SelfInfoUpdatedTips)(nil), "open_im_sdk.SelfInfoUpdatedTips")
} }
func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_9a3c519aa1c52df5) } func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_3380b8a9bc5ee255) }
var fileDescriptor_ws_9a3c519aa1c52df5 = []byte{ var fileDescriptor_ws_3380b8a9bc5ee255 = []byte{
// 1753 bytes of a gzipped FileDescriptorProto // 1769 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4f, 0x6f, 0x23, 0x4b, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4f, 0x6f, 0x23, 0x4b,
0x11, 0xd7, 0xf8, 0x5f, 0xec, 0xb2, 0x37, 0xce, 0xce, 0xee, 0xe6, 0x0d, 0xe1, 0x69, 0x65, 0x46, 0x11, 0xd7, 0xf8, 0x5f, 0xec, 0xb2, 0x37, 0xce, 0xce, 0xfe, 0x79, 0xc3, 0xf2, 0xb4, 0x32, 0x23,
0x08, 0x59, 0xe8, 0x29, 0x4f, 0x24, 0x42, 0xbc, 0x2c, 0x02, 0x36, 0x89, 0x93, 0x10, 0x88, 0xd7, 0x84, 0x2c, 0xf4, 0x94, 0x27, 0x12, 0x21, 0x5e, 0x16, 0x01, 0xeb, 0xc4, 0x49, 0x08, 0xc4, 0xeb,
0xd1, 0x38, 0x11, 0xc7, 0xd5, 0xc4, 0xd3, 0x76, 0x1a, 0x8f, 0x7b, 0x9c, 0xee, 0xb1, 0x77, 0x73, 0x68, 0x9c, 0x88, 0xe3, 0x6a, 0xe2, 0x69, 0x3b, 0x8d, 0xc7, 0x3d, 0x4e, 0xf7, 0xd8, 0xbb, 0xb9,
0xe1, 0x6b, 0x70, 0x42, 0x02, 0x71, 0x40, 0x08, 0x0e, 0x88, 0x03, 0x1f, 0x81, 0x13, 0x9f, 0x02, 0xf0, 0x2d, 0x10, 0x27, 0x24, 0x10, 0x07, 0x84, 0xe0, 0x80, 0x38, 0xf0, 0x11, 0x38, 0xf1, 0x29,
0xc1, 0x91, 0x0b, 0x1c, 0xe1, 0x80, 0xba, 0xba, 0x67, 0xa6, 0x27, 0x0e, 0x89, 0x13, 0xb4, 0x7b, 0x10, 0x7c, 0x01, 0x38, 0xc2, 0x01, 0x75, 0x75, 0xcf, 0x4c, 0x4f, 0x1c, 0x12, 0x27, 0x68, 0xf7,
0x79, 0xb7, 0xa9, 0x9f, 0xab, 0xba, 0x7e, 0xf5, 0xa7, 0x6b, 0x6a, 0x12, 0x68, 0x8a, 0x60, 0xfc, 0xf2, 0x6e, 0x53, 0x3f, 0x57, 0x75, 0xfd, 0xea, 0x4f, 0xd7, 0xd4, 0x24, 0xd0, 0x14, 0xc1, 0xe4,
0xf6, 0x9d, 0xf8, 0xfc, 0x9d, 0xd8, 0x9c, 0xf2, 0x28, 0x8e, 0xec, 0x7a, 0x34, 0x25, 0xec, 0x2d, 0xed, 0x3b, 0xf1, 0xf9, 0x3b, 0xb1, 0x39, 0xe3, 0x51, 0x1c, 0xd9, 0xf5, 0x68, 0x46, 0xd8, 0x5b,
0x9d, 0xbc, 0x15, 0xc1, 0xd8, 0xfd, 0x8f, 0x05, 0xce, 0xe9, 0x2c, 0x0c, 0xbb, 0x44, 0x08, 0x7f, 0x3a, 0x7d, 0x2b, 0x82, 0x89, 0xfb, 0x1f, 0x0b, 0x9c, 0x93, 0x79, 0x18, 0xf6, 0x88, 0x10, 0xfe,
0x44, 0xf6, 0xae, 0xfb, 0xe4, 0xea, 0x84, 0x8a, 0xd8, 0x23, 0x62, 0x6a, 0x3b, 0xb0, 0x42, 0x38, 0x98, 0xec, 0x5e, 0x0d, 0xc8, 0xe5, 0x31, 0x15, 0xb1, 0x47, 0xc4, 0xcc, 0x76, 0x60, 0x8d, 0x70,
0xdf, 0x8f, 0x02, 0xe2, 0x58, 0x2d, 0xab, 0x5d, 0xf6, 0x12, 0xd1, 0x5e, 0x87, 0x0a, 0xe1, 0xbc, 0xbe, 0x17, 0x05, 0xc4, 0xb1, 0x5a, 0x56, 0xbb, 0xec, 0x25, 0xa2, 0xfd, 0x1c, 0x2a, 0x84, 0xf3,
0x2b, 0x46, 0x4e, 0xa1, 0x65, 0xb5, 0x6b, 0x9e, 0x96, 0x24, 0x3e, 0xf1, 0xdf, 0xf7, 0xc9, 0x95, 0x9e, 0x18, 0x3b, 0x85, 0x96, 0xd5, 0xae, 0x79, 0x5a, 0x92, 0xf8, 0xd4, 0x7f, 0x3f, 0x20, 0x97,
0x53, 0x6c, 0x59, 0xed, 0xa2, 0xa7, 0x25, 0xc4, 0x29, 0x93, 0x78, 0x49, 0xe3, 0x28, 0xd9, 0x3f, 0x4e, 0xb1, 0x65, 0xb5, 0x8b, 0x9e, 0x96, 0x10, 0xa7, 0x4c, 0xe2, 0x25, 0x8d, 0xa3, 0x64, 0xff,
0x80, 0x27, 0x82, 0xb2, 0x51, 0x48, 0xce, 0x05, 0xc1, 0xe3, 0xca, 0xad, 0x62, 0xbb, 0xbe, 0xf5, 0x00, 0x1e, 0x09, 0xca, 0xc6, 0x21, 0x39, 0x13, 0x04, 0x8f, 0x2b, 0xb7, 0x8a, 0xed, 0xfa, 0xd6,
0x95, 0x4d, 0x83, 0xe3, 0xe6, 0x91, 0x1f, 0x5f, 0x12, 0x7e, 0x18, 0xf1, 0x89, 0x1f, 0x7b, 0x79, 0x57, 0x36, 0x0d, 0x8e, 0x9b, 0x87, 0x7e, 0x7c, 0x41, 0xf8, 0x41, 0xc4, 0xa7, 0x7e, 0xec, 0xe5,
0x7d, 0xfb, 0x7b, 0xd0, 0x18, 0xf1, 0x68, 0x36, 0x4d, 0xec, 0x2b, 0xf7, 0xd9, 0xe7, 0xd4, 0xdd, 0xf5, 0xed, 0xef, 0x41, 0x63, 0xcc, 0xa3, 0xf9, 0x2c, 0xb1, 0xaf, 0xdc, 0x65, 0x9f, 0x53, 0x77,
0x09, 0x7c, 0x72, 0x7b, 0xf4, 0x48, 0x79, 0x26, 0x08, 0x3f, 0xee, 0x60, 0xec, 0x35, 0x4f, 0x4b, 0xa7, 0xf0, 0xc9, 0xcd, 0xd1, 0x23, 0xe5, 0xb9, 0x20, 0xfc, 0xa8, 0x8b, 0xb1, 0xd7, 0x3c, 0x2d,
0x76, 0x0b, 0x64, 0x02, 0xb9, 0x1f, 0xd3, 0x88, 0x1d, 0x77, 0x74, 0xfc, 0x26, 0x24, 0xd3, 0x26, 0xd9, 0x2d, 0x90, 0x09, 0xe4, 0x7e, 0x4c, 0x23, 0x76, 0xd4, 0xd5, 0xf1, 0x9b, 0x90, 0x4c, 0x9b,
0xd4, 0x39, 0x4e, 0xb1, 0x55, 0x6c, 0x17, 0xbd, 0x44, 0x74, 0x7f, 0x06, 0xab, 0x86, 0xbb, 0xbb, 0x50, 0xe7, 0x38, 0xc5, 0x56, 0xb1, 0x5d, 0xf4, 0x12, 0xd1, 0xfd, 0x19, 0xac, 0x1b, 0xee, 0x6e,
0xbc, 0x6c, 0x40, 0x55, 0x90, 0xab, 0x3d, 0x32, 0xa2, 0x0c, 0x5d, 0x14, 0xbd, 0x54, 0x96, 0x36, 0xf3, 0xf2, 0x02, 0xaa, 0x82, 0x5c, 0xee, 0x92, 0x31, 0x65, 0xe8, 0xa2, 0xe8, 0xa5, 0xb2, 0xb4,
0x82, 0x5c, 0x1d, 0xb0, 0x20, 0x49, 0xb2, 0x92, 0x6e, 0x32, 0x2b, 0x2d, 0x30, 0x73, 0xff, 0x65, 0x11, 0xe4, 0x72, 0x9f, 0x05, 0x49, 0x92, 0x95, 0x74, 0x9d, 0x59, 0x69, 0x89, 0x99, 0xfb, 0x2f,
0x41, 0x33, 0x47, 0xe0, 0x4b, 0x51, 0xe4, 0xe7, 0x60, 0x1f, 0x91, 0xb8, 0xeb, 0xbf, 0xdf, 0x65, 0x0b, 0x9a, 0x39, 0x02, 0x5f, 0x8a, 0x22, 0x3f, 0x05, 0xfb, 0x90, 0xc4, 0x3d, 0xff, 0x7d, 0x87,
0x41, 0x17, 0x29, 0x79, 0xe4, 0xca, 0x3d, 0x80, 0x67, 0x0b, 0xa8, 0x98, 0x1a, 0xc1, 0x59, 0xff, 0x05, 0x3d, 0xa4, 0xe4, 0x91, 0x4b, 0x77, 0x1f, 0x9e, 0x2c, 0xa1, 0x62, 0x66, 0x04, 0x67, 0xfd,
0x23, 0xb8, 0x82, 0x19, 0x9c, 0xfb, 0x43, 0x68, 0x98, 0xae, 0xed, 0x55, 0x28, 0xd0, 0x40, 0x17, 0x8f, 0xe0, 0x0a, 0x66, 0x70, 0xee, 0x0f, 0xa1, 0x61, 0xba, 0xb6, 0xd7, 0xa1, 0x40, 0x03, 0x5d,
0xb3, 0x40, 0x03, 0xbb, 0x0d, 0xa5, 0x50, 0x76, 0x42, 0x01, 0x39, 0x3f, 0xcf, 0x71, 0xee, 0x8a, 0xcc, 0x02, 0x0d, 0xec, 0x36, 0x94, 0x42, 0xd9, 0x09, 0x05, 0xe4, 0xfc, 0x34, 0xc7, 0xb9, 0x27,
0x51, 0xc7, 0x8f, 0x7d, 0x0f, 0x35, 0xdc, 0x2b, 0x68, 0x4a, 0xc6, 0x7d, 0xc2, 0x82, 0xae, 0x18, 0xc6, 0x5d, 0x3f, 0xf6, 0x3d, 0xd4, 0x70, 0x2f, 0xa1, 0x29, 0x19, 0x0f, 0x08, 0x0b, 0x7a, 0x62,
0x21, 0x99, 0x16, 0xd4, 0xfb, 0x84, 0xcf, 0x31, 0x8c, 0xb4, 0x45, 0x4c, 0x48, 0x6a, 0xec, 0x87, 0x8c, 0x64, 0x5a, 0x50, 0x1f, 0x10, 0xbe, 0xc0, 0x30, 0xd2, 0x16, 0x31, 0x21, 0xa9, 0xb1, 0x17,
0x94, 0xb0, 0x58, 0x69, 0xe8, 0x6e, 0x34, 0x20, 0xd5, 0x49, 0x2c, 0x38, 0xa3, 0x13, 0xa2, 0xeb, 0x52, 0xc2, 0x62, 0xa5, 0xa1, 0xbb, 0xd1, 0x80, 0x54, 0x27, 0xb1, 0xe0, 0x94, 0x4e, 0x89, 0xae,
0x95, 0xca, 0xee, 0x9f, 0xca, 0xb0, 0xa2, 0x49, 0xa8, 0xae, 0x62, 0x41, 0xd6, 0x89, 0x4a, 0x92, 0x57, 0x2a, 0xbb, 0x7f, 0x2e, 0xc3, 0x9a, 0x26, 0xa1, 0xba, 0x8a, 0x05, 0x59, 0x27, 0x2a, 0x49,
0x38, 0x27, 0x83, 0x79, 0x7a, 0xb8, 0x96, 0x64, 0xdf, 0x60, 0x96, 0x8f, 0x3b, 0x78, 0x6c, 0xcd, 0xe2, 0x9c, 0x0c, 0x17, 0xe9, 0xe1, 0x5a, 0x92, 0x7d, 0x83, 0x59, 0x3e, 0xea, 0xe2, 0xb1, 0x35,
0x4b, 0x44, 0xc9, 0x69, 0x60, 0x70, 0xd2, 0x7d, 0x68, 0x40, 0x52, 0x43, 0x18, 0x71, 0x95, 0x95, 0x2f, 0x11, 0x25, 0xa7, 0xa1, 0xc1, 0x49, 0xf7, 0xa1, 0x01, 0x49, 0x0d, 0x61, 0xc4, 0x55, 0x56,
0x86, 0x01, 0xd9, 0xdf, 0x84, 0x35, 0xe9, 0x9f, 0xf0, 0xd3, 0xd0, 0x8f, 0x87, 0x11, 0x9f, 0x1c, 0x1a, 0x06, 0x64, 0x7f, 0x13, 0x36, 0xa4, 0x7f, 0xc2, 0x4f, 0x42, 0x3f, 0x1e, 0x45, 0x7c, 0x7a,
0x77, 0x9c, 0x0a, 0xb6, 0xe7, 0x02, 0x6e, 0x7f, 0x03, 0x56, 0x15, 0xf6, 0x86, 0x0e, 0xc6, 0x6f, 0xd4, 0x75, 0x2a, 0xd8, 0x9e, 0x4b, 0xb8, 0xfd, 0x0d, 0x58, 0x57, 0xd8, 0x1b, 0x3a, 0x9c, 0xbc,
0xfc, 0x09, 0x71, 0x56, 0xf0, 0xc0, 0x1b, 0xa8, 0xfd, 0x75, 0x78, 0xa2, 0x90, 0x43, 0x7f, 0x40, 0xf1, 0xa7, 0xc4, 0x59, 0xc3, 0x03, 0xaf, 0xa1, 0xf6, 0xd7, 0xe1, 0x91, 0x42, 0x0e, 0xfc, 0x21,
0xce, 0xbd, 0x13, 0xa7, 0x8a, 0x6a, 0x79, 0x50, 0x71, 0x13, 0x82, 0x46, 0xec, 0xec, 0x7a, 0x4a, 0x39, 0xf3, 0x8e, 0x9d, 0x2a, 0xaa, 0xe5, 0x41, 0xc5, 0x4d, 0x08, 0x1a, 0xb1, 0xd3, 0xab, 0x19,
0x9c, 0x1a, 0x3a, 0x35, 0x21, 0x19, 0xf9, 0x44, 0x8c, 0x0e, 0x79, 0x34, 0x71, 0x40, 0xdd, 0x18, 0x71, 0x6a, 0xe8, 0xd4, 0x84, 0x64, 0xe4, 0x53, 0x31, 0x3e, 0xe0, 0xd1, 0xd4, 0x01, 0x75, 0x63,
0x2d, 0x62, 0xe4, 0x11, 0x8b, 0x09, 0x8b, 0xd1, 0xb6, 0xae, 0x6c, 0x0d, 0x48, 0xda, 0x6a, 0xd1, 0xb4, 0x88, 0x91, 0x47, 0x2c, 0x26, 0x2c, 0x46, 0xdb, 0xba, 0xb2, 0x35, 0x20, 0x69, 0xab, 0x45,
0x69, 0xb4, 0xac, 0x76, 0xc3, 0x4b, 0x44, 0xfb, 0x53, 0xa8, 0x0d, 0x23, 0x3e, 0x20, 0x38, 0x37, 0xa7, 0xd1, 0xb2, 0xda, 0x0d, 0x2f, 0x11, 0xed, 0x4f, 0xa1, 0x36, 0x8a, 0xf8, 0x90, 0xe0, 0xdc,
0x9e, 0xb4, 0x8a, 0xed, 0x9a, 0x97, 0x01, 0xf6, 0x1a, 0x14, 0x05, 0xb9, 0x72, 0x56, 0xb1, 0x80, 0x78, 0xd4, 0x2a, 0xb6, 0x6b, 0x5e, 0x06, 0xd8, 0x1b, 0x50, 0x14, 0xe4, 0xd2, 0x59, 0xc7, 0x02,
0xf2, 0x31, 0x57, 0xd7, 0x66, 0xbe, 0xae, 0xf6, 0x4b, 0x80, 0x01, 0x27, 0x7e, 0x4c, 0xf0, 0xd7, 0xca, 0xc7, 0x5c, 0x5d, 0x9b, 0xf9, 0xba, 0xda, 0x2f, 0x01, 0x86, 0x9c, 0xf8, 0x31, 0xc1, 0x5f,
0x35, 0xfc, 0xd5, 0x40, 0xec, 0xef, 0xc2, 0x4a, 0x6f, 0x2a, 0x67, 0x82, 0x70, 0x9e, 0x62, 0x5f, 0x37, 0xf0, 0x57, 0x03, 0xb1, 0xbf, 0x0b, 0x6b, 0xfd, 0x99, 0x9c, 0x09, 0xc2, 0x79, 0x8c, 0x7d,
0x7e, 0xed, 0xb6, 0xbe, 0xdc, 0xd4, 0x3a, 0x07, 0x2c, 0xe6, 0xd7, 0x5e, 0x62, 0x61, 0x1f, 0x42, 0xf9, 0xb5, 0x9b, 0xfa, 0x72, 0x53, 0xeb, 0xec, 0xb3, 0x98, 0x5f, 0x79, 0x89, 0x85, 0x7d, 0x00,
0x33, 0x1a, 0x0e, 0x43, 0xca, 0xc8, 0xe9, 0x4c, 0x5c, 0x1e, 0xb3, 0x61, 0xe4, 0xd8, 0x2d, 0xab, 0xcd, 0x68, 0x34, 0x0a, 0x29, 0x23, 0x27, 0x73, 0x71, 0x71, 0xc4, 0x46, 0x91, 0x63, 0xb7, 0xac,
0x5d, 0xdf, 0xfa, 0x34, 0x77, 0x48, 0x2f, 0xaf, 0xe3, 0xdd, 0x34, 0xda, 0x78, 0x05, 0x0d, 0xd3, 0x76, 0x7d, 0xeb, 0xd3, 0xdc, 0x21, 0xfd, 0xbc, 0x8e, 0x77, 0xdd, 0xe8, 0xc5, 0x2b, 0x68, 0x98,
0x81, 0x0c, 0x71, 0x4c, 0xae, 0x75, 0xf7, 0xc9, 0x47, 0xfb, 0x39, 0x94, 0xe7, 0x7e, 0x38, 0x23, 0x0e, 0x64, 0x88, 0x13, 0x72, 0xa5, 0xbb, 0x4f, 0x3e, 0xda, 0x4f, 0xa1, 0xbc, 0xf0, 0xc3, 0x39,
0xd8, 0x79, 0x55, 0x4f, 0x09, 0xaf, 0x0a, 0x5f, 0x58, 0xee, 0xcf, 0x2d, 0x68, 0xde, 0x70, 0x20, 0xc1, 0xce, 0xab, 0x7a, 0x4a, 0x78, 0x55, 0xf8, 0xc2, 0x72, 0x7f, 0x61, 0x41, 0xf3, 0x9a, 0x03,
0xb5, 0xcf, 0x68, 0x1c, 0x12, 0x7d, 0x82, 0x12, 0x6c, 0x1b, 0x4a, 0x1d, 0x22, 0x06, 0xba, 0x79, 0xa9, 0x7d, 0x4a, 0xe3, 0x90, 0xe8, 0x13, 0x94, 0x60, 0xdb, 0x50, 0xea, 0x12, 0x31, 0xd4, 0xcd,
0xf1, 0x59, 0x7a, 0x3a, 0x78, 0x1f, 0xeb, 0xb6, 0x95, 0x8f, 0xb6, 0x0b, 0x0d, 0xda, 0xeb, 0xcb, 0x8b, 0xcf, 0xd2, 0xd3, 0xfe, 0xfb, 0x58, 0xb7, 0xad, 0x7c, 0xb4, 0x5d, 0x68, 0xd0, 0xfe, 0x40,
0xa3, 0xfa, 0xd1, 0x8c, 0x05, 0xba, 0x67, 0x73, 0x98, 0x6c, 0x1f, 0xda, 0xeb, 0xef, 0xf9, 0xc1, 0x1e, 0x35, 0x88, 0xe6, 0x2c, 0xd0, 0x3d, 0x9b, 0xc3, 0x64, 0xfb, 0xd0, 0xfe, 0x60, 0xd7, 0x0f,
0x88, 0xec, 0x47, 0x33, 0x16, 0x63, 0xdb, 0x56, 0xbd, 0x3c, 0xe8, 0xfe, 0xbe, 0x00, 0xb5, 0x23, 0xc6, 0x64, 0x2f, 0x9a, 0xb3, 0x18, 0xdb, 0xb6, 0xea, 0xe5, 0x41, 0xf7, 0x0f, 0x05, 0xa8, 0x1d,
0xbc, 0x08, 0x92, 0x93, 0x03, 0x2b, 0x47, 0xfa, 0x92, 0x28, 0x56, 0x89, 0x28, 0xcb, 0x8d, 0x8f, 0xe2, 0x45, 0x90, 0x9c, 0x1c, 0x58, 0x3b, 0xd4, 0x97, 0x44, 0xb1, 0x4a, 0x44, 0x59, 0x6e, 0x7c,
0xd8, 0xaf, 0x8a, 0x5c, 0x06, 0x48, 0x3e, 0x6f, 0xa2, 0x98, 0x0e, 0xe9, 0x00, 0x47, 0xb7, 0xa6, 0xc4, 0x7e, 0x55, 0xe4, 0x32, 0x40, 0xf2, 0x79, 0x13, 0xc5, 0x74, 0x44, 0x87, 0x38, 0xba, 0x35,
0x9a, 0xc3, 0xa4, 0xce, 0x31, 0x8b, 0x79, 0x14, 0xcc, 0x06, 0xa8, 0xa3, 0x39, 0x9b, 0x98, 0xf4, 0xd5, 0x1c, 0x26, 0x75, 0x8e, 0x58, 0xcc, 0xa3, 0x60, 0x3e, 0x44, 0x1d, 0xcd, 0xd9, 0xc4, 0xa4,
0x8f, 0x7d, 0xcd, 0x43, 0x7d, 0xc9, 0x12, 0xd1, 0xfe, 0x16, 0x94, 0x7b, 0xef, 0x18, 0xe1, 0x78, 0x7f, 0xec, 0x6b, 0x1e, 0xea, 0x4b, 0x96, 0x88, 0xf6, 0xb7, 0xa0, 0xdc, 0x7f, 0xc7, 0x08, 0xc7,
0xab, 0xea, 0x5b, 0x5f, 0xcd, 0xd5, 0xee, 0x74, 0x76, 0x11, 0xd2, 0x81, 0x9c, 0x46, 0x58, 0x3a, 0x5b, 0x55, 0xdf, 0xfa, 0x6a, 0xae, 0x76, 0x27, 0xf3, 0xf3, 0x90, 0x0e, 0xe5, 0x34, 0xc2, 0xd2,
0xa5, 0x29, 0xbb, 0x6a, 0x3f, 0xeb, 0x2a, 0x79, 0xc7, 0x4a, 0x9e, 0x81, 0xc8, 0xee, 0xef, 0x92, 0x29, 0x4d, 0xd9, 0x55, 0x7b, 0x59, 0x57, 0xc9, 0x3b, 0x56, 0xf2, 0x0c, 0x44, 0x76, 0x7f, 0x8f,
0xc9, 0x05, 0xe1, 0x2a, 0x3d, 0xf2, 0x76, 0x3d, 0xf1, 0x4c, 0x28, 0x49, 0x7c, 0x2d, 0x4d, 0xbc, 0x4c, 0xcf, 0x09, 0x57, 0xe9, 0x91, 0xb7, 0xeb, 0x91, 0x67, 0x42, 0x49, 0xe2, 0x6b, 0x69, 0xe2,
0xfb, 0x0f, 0x0b, 0x9e, 0x61, 0xd8, 0x4a, 0xed, 0x70, 0x16, 0x86, 0xf7, 0x24, 0x6e, 0x1d, 0x2a, 0xdd, 0x9f, 0x17, 0xe0, 0x09, 0x86, 0xad, 0xd4, 0x0e, 0xe6, 0x61, 0x78, 0x47, 0xe2, 0x9e, 0x43,
0xe7, 0xea, 0x8d, 0xa9, 0xe7, 0x91, 0x92, 0xec, 0x4d, 0xb0, 0x77, 0x83, 0x09, 0x65, 0x54, 0xc4, 0xe5, 0x4c, 0xbd, 0x31, 0xf5, 0x3c, 0x52, 0x92, 0xbd, 0x09, 0x76, 0x27, 0x98, 0x52, 0x46, 0x45,
0xdc, 0x8f, 0x23, 0x7e, 0x42, 0xe6, 0x24, 0xc4, 0xc4, 0x95, 0xbd, 0x5b, 0x7e, 0x91, 0xf7, 0xe7, 0xcc, 0xfd, 0x38, 0xe2, 0xc7, 0x64, 0x41, 0x42, 0x4c, 0x5c, 0xd9, 0xbb, 0xe1, 0x17, 0x79, 0x7f,
0x47, 0x11, 0x65, 0x18, 0x4b, 0x09, 0x63, 0x49, 0x65, 0xf9, 0x5b, 0x3a, 0x4b, 0x54, 0xde, 0x52, 0x7e, 0x14, 0x51, 0x86, 0xb1, 0x94, 0x30, 0x96, 0x54, 0x96, 0xbf, 0xa5, 0xb3, 0x44, 0xe5, 0x2d,
0xd9, 0x4c, 0x69, 0x25, 0x9f, 0x52, 0x17, 0x1a, 0x87, 0x9c, 0x12, 0x16, 0x78, 0x64, 0xe2, 0xf3, 0x95, 0xcd, 0x94, 0x56, 0xf2, 0x29, 0x75, 0xa1, 0x71, 0xc0, 0x29, 0x61, 0x81, 0x47, 0xa6, 0x3e,
0xb1, 0x9e, 0x42, 0x39, 0xcc, 0xfd, 0xb3, 0x05, 0xd5, 0x24, 0xaf, 0x46, 0x28, 0x56, 0x2e, 0x14, 0x9f, 0xe8, 0x29, 0x94, 0xc3, 0xe4, 0xac, 0xea, 0xcc, 0x66, 0x3d, 0x9f, 0x8d, 0x89, 0x66, 0x58,
0xed, 0x9e, 0x65, 0xad, 0x91, 0xca, 0xa6, 0xfb, 0x62, 0xde, 0xfd, 0x3a, 0x54, 0x8e, 0x70, 0x92, 0x45, 0x86, 0xd7, 0x50, 0xf7, 0x2f, 0x16, 0x54, 0x93, 0xfc, 0x1b, 0x21, 0x5b, 0xb9, 0x90, 0x35,
0x61, 0x38, 0x65, 0x4f, 0x4b, 0x12, 0xef, 0x46, 0x17, 0x34, 0x4c, 0x42, 0xd1, 0x92, 0xbc, 0x2f, 0x4d, 0x96, 0xb5, 0x50, 0x2a, 0x9b, 0x34, 0x8b, 0x79, 0x9a, 0xcf, 0xa1, 0x72, 0x88, 0x13, 0x0f,
0x7b, 0x94, 0xc7, 0x97, 0x3a, 0x0c, 0x25, 0x48, 0xf4, 0x60, 0xe2, 0xd3, 0x50, 0xb3, 0x57, 0x42, 0xc3, 0x2e, 0x7b, 0x5a, 0x92, 0x78, 0x2f, 0x3a, 0xa7, 0x61, 0x12, 0xb2, 0x96, 0xe4, 0xbd, 0xda,
0x52, 0xb8, 0x6a, 0x56, 0xb8, 0xb9, 0x5c, 0x65, 0xcc, 0x2e, 0xf9, 0x38, 0xd1, 0xb8, 0x1d, 0xa8, 0xa5, 0x3c, 0xbe, 0xd0, 0xe1, 0x2a, 0x41, 0xa2, 0xfb, 0x53, 0x9f, 0x86, 0x3a, 0x4a, 0x25, 0x24,
0x9e, 0xd1, 0xa9, 0xd8, 0x8f, 0x26, 0x13, 0xa9, 0xd3, 0x21, 0xb1, 0x24, 0x6b, 0xe1, 0x2c, 0xd5, 0x05, 0xae, 0x66, 0x05, 0x5e, 0xc8, 0x95, 0xc7, 0xec, 0xa6, 0x8f, 0x13, 0x8d, 0xdb, 0x85, 0xea,
0x92, 0x6c, 0xc4, 0x0e, 0x19, 0xfa, 0xb3, 0x30, 0x96, 0xaa, 0xc9, 0x4b, 0xd1, 0x80, 0xdc, 0xdf, 0x29, 0x9d, 0x89, 0xbd, 0x68, 0x3a, 0x95, 0x3a, 0x5d, 0x12, 0x4b, 0xb2, 0x16, 0xce, 0x5c, 0x2d,
0x5a, 0xd0, 0x54, 0x1d, 0x77, 0xc0, 0x62, 0xc2, 0x25, 0x66, 0x7f, 0x06, 0x65, 0xec, 0x31, 0x3c, 0xc9, 0x86, 0xed, 0x92, 0x91, 0x3f, 0x0f, 0x63, 0xa9, 0x9a, 0xbc, 0x3c, 0x0d, 0xc8, 0xfd, 0x9d,
0xac, 0xbe, 0xb5, 0x9e, 0x5f, 0x2f, 0x92, 0x2b, 0xed, 0x29, 0x25, 0x7b, 0x0f, 0xea, 0x72, 0x6c, 0x05, 0x4d, 0xd5, 0x99, 0xfb, 0x2c, 0x26, 0x5c, 0x62, 0xf6, 0x67, 0x50, 0xc6, 0x5e, 0xc4, 0xc3,
0xf9, 0x2c, 0x96, 0x61, 0xa2, 0x8f, 0xfa, 0x56, 0x6b, 0xd1, 0x26, 0xdf, 0xd7, 0x9e, 0x69, 0x24, 0xea, 0x5b, 0xcf, 0xf3, 0x6b, 0x48, 0x72, 0xf5, 0x3d, 0xa5, 0x64, 0xef, 0x42, 0x5d, 0x8e, 0x37,
0x27, 0x4a, 0x2f, 0xd9, 0xce, 0xd2, 0xf7, 0x73, 0xc9, 0xcb, 0x83, 0xee, 0x6f, 0x52, 0xae, 0x27, 0x9f, 0xc5, 0x32, 0x4c, 0xf4, 0x51, 0xdf, 0x6a, 0x2d, 0xdb, 0xe4, 0xfb, 0xdf, 0x33, 0x8d, 0xe4,
0xc4, 0x9f, 0x93, 0x47, 0x70, 0x7d, 0x0d, 0x80, 0xa6, 0xfc, 0x41, 0x54, 0x0d, 0x9b, 0x25, 0x99, 0xe4, 0xe9, 0x27, 0x5b, 0x5c, 0xfa, 0x1e, 0x2f, 0x79, 0x79, 0xd0, 0xfd, 0x6d, 0xca, 0xf5, 0x98,
0xfe, 0xdd, 0x82, 0xa7, 0xea, 0x90, 0x63, 0x36, 0xa7, 0x31, 0x09, 0x1e, 0xc1, 0xf5, 0x0b, 0xa8, 0xf8, 0x0b, 0xf2, 0x00, 0xae, 0xaf, 0x01, 0xd0, 0x94, 0xdf, 0x8b, 0xaa, 0x61, 0xb3, 0x22, 0xd3,
0xf4, 0xa6, 0x0f, 0xe2, 0xa9, 0xf5, 0x65, 0x45, 0xb4, 0x5b, 0x34, 0x2f, 0x2e, 0x5b, 0x11, 0xc3, 0x7f, 0x58, 0xf0, 0x58, 0x1d, 0x72, 0xc4, 0x16, 0x34, 0x26, 0xc1, 0x03, 0xb8, 0x7e, 0x01, 0x95,
0x68, 0x31, 0xce, 0xd2, 0x6d, 0x71, 0xfe, 0xd5, 0x82, 0x35, 0x75, 0xca, 0x8f, 0xe9, 0x60, 0xfc, 0xfe, 0xec, 0x5e, 0x3c, 0xb5, 0xbe, 0xac, 0x88, 0x76, 0x8b, 0xe6, 0xc5, 0x55, 0x2b, 0x62, 0x18,
0x91, 0xc3, 0x7c, 0x0d, 0xa0, 0xbc, 0x3e, 0x28, 0x4a, 0xc3, 0x66, 0xc9, 0x20, 0xff, 0x6d, 0xc1, 0x2d, 0xc7, 0x59, 0xba, 0x29, 0xce, 0xbf, 0x59, 0xb0, 0xa1, 0x4e, 0xf9, 0x31, 0x1d, 0x4e, 0x3e,
0x8b, 0xa4, 0x98, 0xc3, 0x68, 0xff, 0xd2, 0x67, 0x23, 0x1d, 0xa9, 0x7c, 0x0f, 0xa0, 0x88, 0x4b, 0x72, 0x98, 0xaf, 0x01, 0x94, 0xd7, 0x7b, 0x45, 0x69, 0xd8, 0xac, 0x18, 0xe4, 0xbf, 0x2d, 0x78,
0x8e, 0xfa, 0x68, 0x30, 0x90, 0xff, 0x23, 0xb6, 0xef, 0x43, 0xed, 0x90, 0x32, 0x1f, 0xc1, 0xa5, 0x96, 0x14, 0x73, 0x14, 0xed, 0x5d, 0xc8, 0x21, 0xa6, 0x22, 0x95, 0xef, 0x0b, 0x14, 0x71, 0x19,
0x43, 0xcb, 0x4c, 0xe4, 0xa8, 0xe9, 0xce, 0xf4, 0xfb, 0x49, 0xcf, 0xf4, 0x44, 0xce, 0xea, 0x53, 0x52, 0x1f, 0x17, 0x06, 0xf2, 0x7f, 0xc4, 0xf6, 0x7d, 0xa8, 0x1d, 0x50, 0xe6, 0x23, 0xb8, 0x72,
0x5e, 0xa2, 0x3e, 0xee, 0xdf, 0x2c, 0x58, 0xc3, 0x27, 0xf5, 0x7e, 0x7b, 0x4c, 0x89, 0x5f, 0xc1, 0x68, 0x99, 0x89, 0x1c, 0x35, 0xbd, 0xb9, 0x7e, 0x8f, 0xe9, 0xd9, 0x9f, 0xc8, 0x59, 0x7d, 0xca,
0x0a, 0x1a, 0x47, 0xcb, 0xe7, 0x21, 0x31, 0x90, 0x45, 0xd6, 0x57, 0x3e, 0xf9, 0x8a, 0x5c, 0xaa, 0x2b, 0xd4, 0xc7, 0xfd, 0xbb, 0x05, 0x1b, 0xf8, 0xa4, 0xde, 0x83, 0x0f, 0x29, 0xf1, 0x2b, 0x58,
0xc8, 0x99, 0xcd, 0x92, 0x45, 0xfe, 0xa5, 0x05, 0xcf, 0x53, 0xe2, 0x66, 0x8d, 0xe5, 0x77, 0x85, 0x43, 0xe3, 0x68, 0xf5, 0x3c, 0x24, 0x06, 0xb2, 0xc8, 0xfa, 0xca, 0x27, 0x5f, 0x9b, 0x2b, 0x15,
0x16, 0xb3, 0x22, 0x9b, 0x50, 0x96, 0x8c, 0xc2, 0xc3, 0xfa, 0xbd, 0xf8, 0xb0, 0x9e, 0x70, 0x7f, 0x39, 0xb3, 0x59, 0xb1, 0xc8, 0xbf, 0xb2, 0xe0, 0x69, 0x4a, 0xdc, 0xac, 0xb1, 0xfc, 0xfe, 0xd0,
0x61, 0xc1, 0x86, 0x47, 0x06, 0x84, 0xce, 0x89, 0x7c, 0x3f, 0xef, 0x4e, 0xa7, 0xa1, 0xde, 0x80, 0x62, 0x56, 0x64, 0x13, 0xca, 0x92, 0x51, 0xb8, 0x5f, 0xbf, 0x17, 0xef, 0xd7, 0x13, 0xee, 0x2f,
0x1e, 0x51, 0x93, 0x1d, 0xa8, 0xe9, 0x03, 0x58, 0xac, 0x89, 0xdf, 0xb9, 0xf9, 0x64, 0xda, 0xf2, 0x2d, 0x78, 0xe1, 0x91, 0x21, 0xa1, 0x0b, 0x22, 0xdf, 0xe3, 0x9d, 0xd9, 0x2c, 0xd4, 0x9b, 0xd2,
0x65, 0xe3, 0x11, 0x5f, 0xa4, 0xcb, 0x98, 0x96, 0xdc, 0x3f, 0x5a, 0xe0, 0x18, 0xa4, 0x4e, 0x79, 0x03, 0x6a, 0xb2, 0x03, 0x35, 0x7d, 0x00, 0x8b, 0x35, 0xf1, 0x5b, 0x37, 0xa4, 0x4c, 0x5b, 0xbe,
0x34, 0x20, 0x42, 0x7c, 0xe4, 0xa1, 0x80, 0xe4, 0xc4, 0x2c, 0x8c, 0xf5, 0xc2, 0xa3, 0x25, 0x83, 0x6c, 0x3c, 0xe2, 0x8b, 0x74, 0x69, 0xd3, 0x92, 0xfb, 0x27, 0x0b, 0x1c, 0x83, 0xd4, 0x09, 0x8f,
0x74, 0x29, 0x47, 0xfa, 0x0f, 0x16, 0x80, 0xda, 0x4b, 0xf0, 0xde, 0x6c, 0x43, 0x0d, 0x57, 0x3c, 0x86, 0x44, 0x88, 0x8f, 0x3c, 0x14, 0x90, 0x9c, 0x98, 0x87, 0xb1, 0x5e, 0x8c, 0xb4, 0x64, 0x90,
0xf4, 0xad, 0xa8, 0xbe, 0xc8, 0xf9, 0xce, 0x12, 0x92, 0xea, 0xa9, 0xb3, 0x71, 0xd1, 0x29, 0x24, 0x2e, 0xe5, 0x48, 0xff, 0xd1, 0x02, 0x50, 0xfb, 0x0b, 0xde, 0x9b, 0x6d, 0xa8, 0xe1, 0x2a, 0x88,
0x67, 0x4b, 0xe9, 0xc6, 0x9a, 0x58, 0x5c, 0x58, 0x13, 0xbf, 0x9d, 0xb8, 0x46, 0x6f, 0xa5, 0xbb, 0xbe, 0x15, 0xd5, 0x67, 0x39, 0xdf, 0x59, 0x42, 0x52, 0x3d, 0x75, 0x36, 0x2e, 0x44, 0x85, 0xe4,
0xbc, 0x19, 0x8a, 0xee, 0x18, 0x9e, 0x2a, 0xc9, 0x48, 0xb6, 0xdc, 0x1f, 0x76, 0x03, 0xf5, 0x0d, 0x6c, 0x5c, 0x85, 0xf2, 0xeb, 0x64, 0x71, 0x69, 0x9d, 0xfc, 0x76, 0xe2, 0x1a, 0xbd, 0x95, 0x6e,
0x64, 0xa1, 0xa3, 0x44, 0x94, 0xfb, 0xf5, 0x6e, 0x10, 0xf4, 0xa3, 0x19, 0x1f, 0xa4, 0xfb, 0x75, 0xf3, 0x66, 0x28, 0xba, 0x13, 0x78, 0xac, 0x24, 0x23, 0xd9, 0x72, 0x7f, 0xe8, 0x04, 0xea, 0x5b,
0x0a, 0x48, 0x8e, 0xbb, 0x41, 0xf0, 0x93, 0x88, 0x07, 0x94, 0x8d, 0x74, 0x41, 0x0d, 0xc4, 0xfd, 0xc9, 0x42, 0x47, 0x89, 0x28, 0xf7, 0xf0, 0x4e, 0x10, 0x0c, 0xa2, 0x39, 0x1f, 0xa6, 0x7b, 0x78,
0xa7, 0x05, 0x1b, 0x0b, 0xde, 0x76, 0x83, 0x40, 0x97, 0x75, 0x3b, 0x2d, 0x94, 0x75, 0x7f, 0x0f, 0x0a, 0x48, 0x8e, 0x9d, 0x20, 0xf8, 0x49, 0xc4, 0x03, 0xca, 0xc6, 0xba, 0xa0, 0x06, 0xe2, 0xfe,
0x65, 0x83, 0xbb, 0x6e, 0x1c, 0xa6, 0x4b, 0xfc, 0x32, 0x67, 0xb9, 0xe0, 0xd2, 0x33, 0x4d, 0xec, 0xd3, 0x82, 0x17, 0x4b, 0xde, 0x3a, 0x41, 0xa0, 0xcb, 0xba, 0x9d, 0x16, 0xca, 0xba, 0xbb, 0x87,
0xef, 0x40, 0xb5, 0x37, 0xcd, 0x0d, 0xfe, 0x3b, 0x1d, 0xa7, 0xca, 0x4b, 0x0e, 0x83, 0xbf, 0x58, 0xb2, 0xc1, 0x5d, 0x37, 0x0e, 0xd3, 0x25, 0x7e, 0x99, 0xb3, 0x5c, 0x72, 0xe9, 0x99, 0x26, 0xf6,
0xf0, 0x72, 0x81, 0x41, 0xbe, 0x9f, 0x1f, 0x15, 0xb8, 0x49, 0xbb, 0xf0, 0x10, 0xda, 0xf8, 0xa7, 0x77, 0xa0, 0xda, 0x9f, 0xe5, 0x06, 0xff, 0xad, 0x8e, 0x53, 0xe5, 0x15, 0x87, 0xc1, 0x5f, 0x2d,
0x07, 0xb3, 0xab, 0x95, 0xb4, 0x64, 0x38, 0x97, 0xd0, 0xd4, 0xd1, 0xa4, 0x75, 0xfb, 0x1c, 0x2a, 0x78, 0xb9, 0xc4, 0x20, 0xdf, 0xcf, 0x0f, 0x0a, 0xdc, 0xa4, 0x5d, 0xb8, 0x0f, 0x6d, 0xfc, 0x13,
0x0a, 0xd2, 0xf4, 0x3f, 0xb9, 0x25, 0xfb, 0x8a, 0xba, 0x7a, 0x5e, 0xf4, 0x54, 0xb8, 0xcd, 0xd3, 0x85, 0xd9, 0xd5, 0x4a, 0x5a, 0x31, 0x9c, 0x0b, 0x68, 0xea, 0x68, 0xd2, 0xba, 0x7d, 0x0e, 0x15,
0x4f, 0x93, 0xd6, 0xec, 0x90, 0x90, 0xc4, 0x1f, 0xd6, 0xd7, 0xaf, 0x2c, 0xa8, 0xed, 0x85, 0xfe, 0x05, 0x69, 0xfa, 0x9f, 0xdc, 0x90, 0x7d, 0x45, 0x5d, 0x3d, 0x2f, 0x7b, 0x2a, 0xdc, 0xe4, 0xe9,
0x60, 0x8c, 0x17, 0x77, 0x67, 0xf1, 0xe2, 0xde, 0x3d, 0xcf, 0xb2, 0xeb, 0x7b, 0xdf, 0x35, 0xdd, 0xa7, 0x49, 0x6b, 0x76, 0x49, 0x48, 0xe2, 0x0f, 0xeb, 0xeb, 0xd7, 0x16, 0xd4, 0x76, 0x43, 0x7f,
0xd1, 0x7e, 0x8c, 0x5b, 0x7a, 0xf7, 0xd1, 0xa9, 0xb6, 0x1b, 0xc0, 0x2a, 0x0a, 0x59, 0xe2, 0x3f, 0x38, 0xc1, 0x8b, 0xbb, 0xb3, 0x7c, 0x71, 0x6f, 0x9f, 0x67, 0xd9, 0xf5, 0xbd, 0xeb, 0x9a, 0xee,
0x83, 0x32, 0x22, 0xb7, 0xce, 0xc1, 0x34, 0x1c, 0x4f, 0x29, 0x2d, 0x99, 0x89, 0x21, 0xac, 0xa1, 0x68, 0x3f, 0xc6, 0x2d, 0xbd, 0xfd, 0xe8, 0x54, 0xdb, 0x0d, 0x60, 0x1d, 0x85, 0x2c, 0xf1, 0x9f,
0xba, 0x99, 0xf4, 0x0f, 0xe1, 0xe7, 0xd7, 0x16, 0xbc, 0xc8, 0xca, 0x65, 0xbe, 0x24, 0x1f, 0x5c, 0x41, 0x19, 0x91, 0x1b, 0xe7, 0x60, 0x1a, 0x8e, 0xa7, 0x94, 0x56, 0xcc, 0xc4, 0x08, 0x36, 0x50,
0xe2, 0xed, 0x1b, 0x03, 0x7e, 0xa9, 0xeb, 0xb3, 0xdc, 0xee, 0xfd, 0x3b, 0x0b, 0x9e, 0xf5, 0x49, 0xdd, 0x4c, 0xfa, 0x87, 0xf0, 0xf3, 0x1b, 0x0b, 0x9e, 0x65, 0xe5, 0x32, 0x5f, 0x92, 0xf7, 0x2e,
0x38, 0x94, 0xa6, 0xe7, 0xd3, 0x20, 0xdd, 0x59, 0x76, 0xa0, 0x21, 0xe1, 0xe4, 0xd4, 0xbb, 0xa7, 0xf1, 0xf6, 0xb5, 0x01, 0xbf, 0xd2, 0xf5, 0x59, 0x6d, 0xf7, 0xfe, 0xbd, 0x05, 0x4f, 0x06, 0x24,
0x7b, 0x4e, 0xf5, 0x03, 0xb2, 0xbd, 0xa8, 0xe0, 0xbf, 0x22, 0xb6, 0xff, 0x1b, 0x00, 0x00, 0xff, 0x1c, 0x49, 0xd3, 0xb3, 0x59, 0x90, 0xee, 0x2c, 0x3b, 0xd0, 0x90, 0x70, 0x72, 0xea, 0xed, 0xd3,
0xff, 0x8b, 0x1e, 0x2f, 0xb4, 0x9d, 0x18, 0x00, 0x00, 0x3d, 0xa7, 0xfa, 0x01, 0xd9, 0x9e, 0x57, 0xf0, 0x5f, 0x16, 0xdb, 0xff, 0x0d, 0x00, 0x00, 0xff,
0xff, 0x73, 0x31, 0x8b, 0x68, 0xc5, 0x18, 0x00, 0x00,
} }

@ -128,6 +128,7 @@ message GroupMemberFullInfo {
string NickName = 5; string NickName = 5;
string FaceUrl = 6; string FaceUrl = 6;
string FriendRemark = 7; string FriendRemark = 7;
int32 AppMangerLevel = 8; // >0
} }
//private, Friends have permission to view //private, Friends have permission to view

Loading…
Cancel
Save