pull/351/head
wangchuxiao 3 years ago
parent 6871c7e665
commit 4682abf4c1

@ -524,6 +524,8 @@ func (s *userServer) SyncJoinedGroupMemberNickname(userID string, newNickname, o
func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) { func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
var usersDB []db.User
var err error
resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}} resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}}
if req.UserID != "" { if req.UserID != "" {
userDB, err := imdb.GetUserByUserID(req.UserID) userDB, err := imdb.GetUserByUserID(req.UserID)
@ -536,14 +538,10 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
return resp, nil return resp, nil
} }
usersDB = append(usersDB, *userDB)
user := pbUser.CmsUser{User: &sdkws.UserInfo{}}
utils.CopyStructFields(&user.User, userDB)
user.User.CreateTime = uint32(userDB.CreateTime.Unix())
resp.UserList = append(resp.UserList, &user)
resp.TotalNums = 1 resp.TotalNums = 1
} else if req.UserName != "" { } else if req.UserName != "" {
usersDB, err := imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) usersDB, err = imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
@ -557,15 +555,19 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
resp.CommonResp.ErrMsg = err.Error() resp.CommonResp.ErrMsg = err.Error()
return resp, nil return resp, nil
} }
for _, userDB := range usersDB {
var user sdkws.UserInfo } else if req.Content != "" {
utils.CopyStructFields(&user, userDB) var count int64
user.CreateTime = uint32(userDB.CreateTime.Unix()) usersDB, count, err = imdb.GetUsersByNameAndID(req.Content, req.Pagination.ShowNumber, req.Pagination.PageNumber)
user.Birth = uint32(userDB.Birth.Unix()) if err != nil {
resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
resp.CommonResp.ErrMsg = err.Error()
return resp, nil
} }
resp.TotalNums = int32(count)
} else { } else {
usersDB, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) usersDB, err = imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber)
if err != nil { if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error())
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
@ -579,14 +581,15 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
resp.CommonResp.ErrMsg = err.Error() resp.CommonResp.ErrMsg = err.Error()
return resp, nil return resp, nil
} }
for _, userDB := range usersDB {
var user sdkws.UserInfo
utils.CopyStructFields(&user, userDB)
user.CreateTime = uint32(userDB.CreateTime.Unix())
user.Birth = uint32(userDB.Birth.Unix())
resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user})
}
} }
for _, userDB := range usersDB {
var user sdkws.UserInfo
utils.CopyStructFields(&user, userDB)
user.CreateTime = uint32(userDB.CreateTime.Unix())
user.Birth = uint32(userDB.Birth.Unix())
resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user})
}
var userIDList []string var userIDList []string
for _, v := range resp.UserList { for _, v := range resp.UserList {
userIDList = append(userIDList, v.User.UserID) userIDList = append(userIDList, v.User.UserID)

@ -98,6 +98,7 @@ type GetUsersReq struct {
OperationID string `json:"operationID" binding:"required"` OperationID string `json:"operationID" binding:"required"`
UserName string `json:"userName"` UserName string `json:"userName"`
UserID string `json:"userID"` UserID string `json:"userID"`
Content string `json:"content"`
PageNumber int32 `json:"pageNumber" binding:"required"` PageNumber int32 `json:"pageNumber" binding:"required"`
ShowNumber int32 `json:"showNumber" binding:"required"` ShowNumber int32 `json:"showNumber" binding:"required"`
} }

@ -247,6 +247,17 @@ func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, er
return users, err return users, err
} }
func GetUsersByNameAndID(content string, showNumber, pageNumber int32) ([]db.User, int64, error) {
var users []db.User
var count int64
db := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ? or user_id = ? ", fmt.Sprintf("%%%s%%", content), content)
if err := db.Count(&count).Error; err != nil {
return nil, 0, err
}
err := db.Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error
return users, count, err
}
func GetUsersCount(userName string) (int32, error) { func GetUsersCount(userName string) (int32, error) {
var count int64 var count int64
if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ? ", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error; err != nil { if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ? ", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error; err != nil {

@ -37,7 +37,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_user_2773e613441bfdc6, []int{0} return fileDescriptor_user_c4f084a95477a0bd, []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)
@ -83,7 +83,7 @@ func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} }
func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) }
func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) ProtoMessage() {}
func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { func (*GetAllUserIDReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{1} return fileDescriptor_user_c4f084a95477a0bd, []int{1}
} }
func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b)
@ -129,7 +129,7 @@ func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} }
func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) }
func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) ProtoMessage() {}
func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { func (*GetAllUserIDResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{2} return fileDescriptor_user_c4f084a95477a0bd, []int{2}
} }
func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b)
@ -176,7 +176,7 @@ func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} }
func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) }
func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) ProtoMessage() {}
func (*AccountCheckReq) Descriptor() ([]byte, []int) { func (*AccountCheckReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{3} return fileDescriptor_user_c4f084a95477a0bd, []int{3}
} }
func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b)
@ -229,7 +229,7 @@ func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} }
func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) }
func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) ProtoMessage() {}
func (*AccountCheckResp) Descriptor() ([]byte, []int) { func (*AccountCheckResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{4} return fileDescriptor_user_c4f084a95477a0bd, []int{4}
} }
func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b)
@ -275,7 +275,7 @@ func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckR
func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) }
func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {}
func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{4, 0} return fileDescriptor_user_c4f084a95477a0bd, []int{4, 0}
} }
func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b)
@ -322,7 +322,7 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} }
func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) }
func (*GetUserInfoReq) ProtoMessage() {} func (*GetUserInfoReq) ProtoMessage() {}
func (*GetUserInfoReq) Descriptor() ([]byte, []int) { func (*GetUserInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{5} return fileDescriptor_user_c4f084a95477a0bd, []int{5}
} }
func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b)
@ -375,7 +375,7 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} }
func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) }
func (*GetUserInfoResp) ProtoMessage() {} func (*GetUserInfoResp) ProtoMessage() {}
func (*GetUserInfoResp) Descriptor() ([]byte, []int) { func (*GetUserInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{6} return fileDescriptor_user_c4f084a95477a0bd, []int{6}
} }
func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b)
@ -422,7 +422,7 @@ func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} }
func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) }
func (*UpdateUserInfoReq) ProtoMessage() {} func (*UpdateUserInfoReq) ProtoMessage() {}
func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{7} return fileDescriptor_user_c4f084a95477a0bd, []int{7}
} }
func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b)
@ -474,7 +474,7 @@ func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} }
func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) }
func (*UpdateUserInfoResp) ProtoMessage() {} func (*UpdateUserInfoResp) ProtoMessage() {}
func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{8} return fileDescriptor_user_c4f084a95477a0bd, []int{8}
} }
func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b)
@ -514,7 +514,7 @@ func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessage
func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) }
func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} func (*SetGlobalRecvMessageOptReq) ProtoMessage() {}
func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{9} return fileDescriptor_user_c4f084a95477a0bd, []int{9}
} }
func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b)
@ -566,7 +566,7 @@ func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessag
func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) }
func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} func (*SetGlobalRecvMessageOptResp) ProtoMessage() {}
func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{10} return fileDescriptor_user_c4f084a95477a0bd, []int{10}
} }
func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b)
@ -606,7 +606,7 @@ func (m *SetConversationReq) Reset() { *m = SetConversationReq{} }
func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } func (m *SetConversationReq) String() string { return proto.CompactTextString(m) }
func (*SetConversationReq) ProtoMessage() {} func (*SetConversationReq) ProtoMessage() {}
func (*SetConversationReq) Descriptor() ([]byte, []int) { func (*SetConversationReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{11} return fileDescriptor_user_c4f084a95477a0bd, []int{11}
} }
func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { func (m *SetConversationReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) return xxx_messageInfo_SetConversationReq.Unmarshal(m, b)
@ -658,7 +658,7 @@ func (m *SetConversationResp) Reset() { *m = SetConversationResp{} }
func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } func (m *SetConversationResp) String() string { return proto.CompactTextString(m) }
func (*SetConversationResp) ProtoMessage() {} func (*SetConversationResp) ProtoMessage() {}
func (*SetConversationResp) Descriptor() ([]byte, []int) { func (*SetConversationResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{12} return fileDescriptor_user_c4f084a95477a0bd, []int{12}
} }
func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { func (m *SetConversationResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) return xxx_messageInfo_SetConversationResp.Unmarshal(m, b)
@ -700,7 +700,7 @@ func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} }
func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) }
func (*SetRecvMsgOptReq) ProtoMessage() {} func (*SetRecvMsgOptReq) ProtoMessage() {}
func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{13} return fileDescriptor_user_c4f084a95477a0bd, []int{13}
} }
func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b)
@ -766,7 +766,7 @@ func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} }
func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) }
func (*SetRecvMsgOptResp) ProtoMessage() {} func (*SetRecvMsgOptResp) ProtoMessage() {}
func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{14} return fileDescriptor_user_c4f084a95477a0bd, []int{14}
} }
func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b)
@ -806,7 +806,7 @@ func (m *GetConversationReq) Reset() { *m = GetConversationReq{} }
func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } func (m *GetConversationReq) String() string { return proto.CompactTextString(m) }
func (*GetConversationReq) ProtoMessage() {} func (*GetConversationReq) ProtoMessage() {}
func (*GetConversationReq) Descriptor() ([]byte, []int) { func (*GetConversationReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{15} return fileDescriptor_user_c4f084a95477a0bd, []int{15}
} }
func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { func (m *GetConversationReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) return xxx_messageInfo_GetConversationReq.Unmarshal(m, b)
@ -859,7 +859,7 @@ func (m *GetConversationResp) Reset() { *m = GetConversationResp{} }
func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } func (m *GetConversationResp) String() string { return proto.CompactTextString(m) }
func (*GetConversationResp) ProtoMessage() {} func (*GetConversationResp) ProtoMessage() {}
func (*GetConversationResp) Descriptor() ([]byte, []int) { func (*GetConversationResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{16} return fileDescriptor_user_c4f084a95477a0bd, []int{16}
} }
func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { func (m *GetConversationResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) return xxx_messageInfo_GetConversationResp.Unmarshal(m, b)
@ -906,7 +906,7 @@ func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} }
func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) }
func (*GetConversationsReq) ProtoMessage() {} func (*GetConversationsReq) ProtoMessage() {}
func (*GetConversationsReq) Descriptor() ([]byte, []int) { func (*GetConversationsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{17} return fileDescriptor_user_c4f084a95477a0bd, []int{17}
} }
func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b)
@ -959,7 +959,7 @@ func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} }
func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) }
func (*GetConversationsResp) ProtoMessage() {} func (*GetConversationsResp) ProtoMessage() {}
func (*GetConversationsResp) Descriptor() ([]byte, []int) { func (*GetConversationsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{18} return fileDescriptor_user_c4f084a95477a0bd, []int{18}
} }
func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b)
@ -1005,7 +1005,7 @@ func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{}
func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) }
func (*GetAllConversationsReq) ProtoMessage() {} func (*GetAllConversationsReq) ProtoMessage() {}
func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { func (*GetAllConversationsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{19} return fileDescriptor_user_c4f084a95477a0bd, []int{19}
} }
func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b)
@ -1051,7 +1051,7 @@ func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp
func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) }
func (*GetAllConversationsResp) ProtoMessage() {} func (*GetAllConversationsResp) ProtoMessage() {}
func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { func (*GetAllConversationsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{20} return fileDescriptor_user_c4f084a95477a0bd, []int{20}
} }
func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b)
@ -1099,7 +1099,7 @@ func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsR
func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) }
func (*BatchSetConversationsReq) ProtoMessage() {} func (*BatchSetConversationsReq) ProtoMessage() {}
func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{21} return fileDescriptor_user_c4f084a95477a0bd, []int{21}
} }
func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b)
@ -1160,7 +1160,7 @@ func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversations
func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) }
func (*BatchSetConversationsResp) ProtoMessage() {} func (*BatchSetConversationsResp) ProtoMessage() {}
func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{22} return fileDescriptor_user_c4f084a95477a0bd, []int{22}
} }
func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b)
@ -1206,6 +1206,7 @@ type GetUsersReq struct {
Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"`
UserName string `protobuf:"bytes,3,opt,name=userName" json:"userName,omitempty"` UserName string `protobuf:"bytes,3,opt,name=userName" json:"userName,omitempty"`
UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"`
Content string `protobuf:"bytes,5,opt,name=content" json:"content,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:"-"`
@ -1215,7 +1216,7 @@ func (m *GetUsersReq) Reset() { *m = GetUsersReq{} }
func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } func (m *GetUsersReq) String() string { return proto.CompactTextString(m) }
func (*GetUsersReq) ProtoMessage() {} func (*GetUsersReq) ProtoMessage() {}
func (*GetUsersReq) Descriptor() ([]byte, []int) { func (*GetUsersReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{23} return fileDescriptor_user_c4f084a95477a0bd, []int{23}
} }
func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { func (m *GetUsersReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) return xxx_messageInfo_GetUsersReq.Unmarshal(m, b)
@ -1263,6 +1264,13 @@ func (m *GetUsersReq) GetUserID() string {
return "" return ""
} }
func (m *GetUsersReq) GetContent() string {
if m != nil {
return m.Content
}
return ""
}
type CmsUser struct { type CmsUser struct {
User *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` User *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"`
IsBlock bool `protobuf:"varint,2,opt,name=isBlock" json:"isBlock,omitempty"` IsBlock bool `protobuf:"varint,2,opt,name=isBlock" json:"isBlock,omitempty"`
@ -1275,7 +1283,7 @@ func (m *CmsUser) Reset() { *m = CmsUser{} }
func (m *CmsUser) String() string { return proto.CompactTextString(m) } func (m *CmsUser) String() string { return proto.CompactTextString(m) }
func (*CmsUser) ProtoMessage() {} func (*CmsUser) ProtoMessage() {}
func (*CmsUser) Descriptor() ([]byte, []int) { func (*CmsUser) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{24} return fileDescriptor_user_c4f084a95477a0bd, []int{24}
} }
func (m *CmsUser) XXX_Unmarshal(b []byte) error { func (m *CmsUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CmsUser.Unmarshal(m, b) return xxx_messageInfo_CmsUser.Unmarshal(m, b)
@ -1323,7 +1331,7 @@ func (m *GetUsersResp) Reset() { *m = GetUsersResp{} }
func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } func (m *GetUsersResp) String() string { return proto.CompactTextString(m) }
func (*GetUsersResp) ProtoMessage() {} func (*GetUsersResp) ProtoMessage() {}
func (*GetUsersResp) Descriptor() ([]byte, []int) { func (*GetUsersResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{25} return fileDescriptor_user_c4f084a95477a0bd, []int{25}
} }
func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { func (m *GetUsersResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) return xxx_messageInfo_GetUsersResp.Unmarshal(m, b)
@ -1383,7 +1391,7 @@ func (m *AddUserReq) Reset() { *m = AddUserReq{} }
func (m *AddUserReq) String() string { return proto.CompactTextString(m) } func (m *AddUserReq) String() string { return proto.CompactTextString(m) }
func (*AddUserReq) ProtoMessage() {} func (*AddUserReq) ProtoMessage() {}
func (*AddUserReq) Descriptor() ([]byte, []int) { func (*AddUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{26} return fileDescriptor_user_c4f084a95477a0bd, []int{26}
} }
func (m *AddUserReq) XXX_Unmarshal(b []byte) error { func (m *AddUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddUserReq.Unmarshal(m, b) return xxx_messageInfo_AddUserReq.Unmarshal(m, b)
@ -1428,7 +1436,7 @@ func (m *AddUserResp) Reset() { *m = AddUserResp{} }
func (m *AddUserResp) String() string { return proto.CompactTextString(m) } func (m *AddUserResp) String() string { return proto.CompactTextString(m) }
func (*AddUserResp) ProtoMessage() {} func (*AddUserResp) ProtoMessage() {}
func (*AddUserResp) Descriptor() ([]byte, []int) { func (*AddUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{27} return fileDescriptor_user_c4f084a95477a0bd, []int{27}
} }
func (m *AddUserResp) XXX_Unmarshal(b []byte) error { func (m *AddUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddUserResp.Unmarshal(m, b) return xxx_messageInfo_AddUserResp.Unmarshal(m, b)
@ -1469,7 +1477,7 @@ func (m *BlockUserReq) Reset() { *m = BlockUserReq{} }
func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } func (m *BlockUserReq) String() string { return proto.CompactTextString(m) }
func (*BlockUserReq) ProtoMessage() {} func (*BlockUserReq) ProtoMessage() {}
func (*BlockUserReq) Descriptor() ([]byte, []int) { func (*BlockUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{28} return fileDescriptor_user_c4f084a95477a0bd, []int{28}
} }
func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { func (m *BlockUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) return xxx_messageInfo_BlockUserReq.Unmarshal(m, b)
@ -1528,7 +1536,7 @@ func (m *BlockUserResp) Reset() { *m = BlockUserResp{} }
func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } func (m *BlockUserResp) String() string { return proto.CompactTextString(m) }
func (*BlockUserResp) ProtoMessage() {} func (*BlockUserResp) ProtoMessage() {}
func (*BlockUserResp) Descriptor() ([]byte, []int) { func (*BlockUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{29} return fileDescriptor_user_c4f084a95477a0bd, []int{29}
} }
func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { func (m *BlockUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) return xxx_messageInfo_BlockUserResp.Unmarshal(m, b)
@ -1568,7 +1576,7 @@ func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} }
func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) }
func (*UnBlockUserReq) ProtoMessage() {} func (*UnBlockUserReq) ProtoMessage() {}
func (*UnBlockUserReq) Descriptor() ([]byte, []int) { func (*UnBlockUserReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{30} return fileDescriptor_user_c4f084a95477a0bd, []int{30}
} }
func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b)
@ -1620,7 +1628,7 @@ func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} }
func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) }
func (*UnBlockUserResp) ProtoMessage() {} func (*UnBlockUserResp) ProtoMessage() {}
func (*UnBlockUserResp) Descriptor() ([]byte, []int) { func (*UnBlockUserResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{31} return fileDescriptor_user_c4f084a95477a0bd, []int{31}
} }
func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b)
@ -1661,7 +1669,7 @@ func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} }
func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) }
func (*GetBlockUsersReq) ProtoMessage() {} func (*GetBlockUsersReq) ProtoMessage() {}
func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { func (*GetBlockUsersReq) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{32} return fileDescriptor_user_c4f084a95477a0bd, []int{32}
} }
func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b)
@ -1722,7 +1730,7 @@ func (m *BlockUser) Reset() { *m = BlockUser{} }
func (m *BlockUser) String() string { return proto.CompactTextString(m) } func (m *BlockUser) String() string { return proto.CompactTextString(m) }
func (*BlockUser) ProtoMessage() {} func (*BlockUser) ProtoMessage() {}
func (*BlockUser) Descriptor() ([]byte, []int) { func (*BlockUser) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{33} return fileDescriptor_user_c4f084a95477a0bd, []int{33}
} }
func (m *BlockUser) XXX_Unmarshal(b []byte) error { func (m *BlockUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUser.Unmarshal(m, b) return xxx_messageInfo_BlockUser.Unmarshal(m, b)
@ -1777,7 +1785,7 @@ func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} }
func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) }
func (*GetBlockUsersResp) ProtoMessage() {} func (*GetBlockUsersResp) ProtoMessage() {}
func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { func (*GetBlockUsersResp) Descriptor() ([]byte, []int) {
return fileDescriptor_user_2773e613441bfdc6, []int{34} return fileDescriptor_user_c4f084a95477a0bd, []int{34}
} }
func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b)
@ -2431,96 +2439,97 @@ var _User_serviceDesc = grpc.ServiceDesc{
Metadata: "user/user.proto", Metadata: "user/user.proto",
} }
func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_2773e613441bfdc6) } func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_c4f084a95477a0bd) }
var fileDescriptor_user_2773e613441bfdc6 = []byte{ var fileDescriptor_user_c4f084a95477a0bd = []byte{
// 1397 bytes of a gzipped FileDescriptorProto // 1409 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5,
0x17, 0xd7, 0xc4, 0x49, 0x13, 0x3f, 0xc7, 0xb1, 0x3d, 0x6d, 0x13, 0x77, 0xdb, 0x6f, 0xbf, 0xe9, 0x17, 0xd7, 0xc4, 0x49, 0x13, 0x3f, 0xc7, 0xb1, 0x3d, 0x6d, 0x13, 0x77, 0xdb, 0x6f, 0xbf, 0xe9,
0xaa, 0x94, 0x50, 0x21, 0x9b, 0x06, 0x24, 0x24, 0x10, 0x6d, 0x13, 0xa7, 0xb5, 0x22, 0x91, 0xb8, 0xaa, 0x94, 0x50, 0x21, 0x9b, 0x06, 0x24, 0x24, 0x10, 0x6d, 0x13, 0xa7, 0xb5, 0x22, 0xd1, 0xba,
0x5a, 0x27, 0x12, 0x42, 0x88, 0x68, 0x63, 0x4f, 0xdc, 0x55, 0xec, 0xdd, 0xc9, 0xce, 0x3a, 0x51, 0x5a, 0xb7, 0x12, 0x42, 0x88, 0x68, 0xb3, 0x9e, 0xb8, 0xab, 0xd8, 0xbb, 0x93, 0x9d, 0x75, 0xa2,
0x4f, 0x20, 0x40, 0x42, 0xaa, 0xe0, 0xce, 0x99, 0x1b, 0xff, 0x05, 0x37, 0x24, 0xc4, 0x81, 0x2b, 0x9e, 0x40, 0x80, 0x84, 0x54, 0xc1, 0x9d, 0x33, 0x7f, 0x09, 0x12, 0x07, 0x24, 0xc4, 0x81, 0x2b,
0x27, 0xfe, 0x15, 0xb4, 0xb3, 0xbf, 0x66, 0x76, 0xd6, 0xb1, 0xb3, 0x54, 0xe2, 0x62, 0x79, 0xde, 0x27, 0xfe, 0x15, 0xb4, 0xb3, 0xbf, 0x66, 0x76, 0xd6, 0xb1, 0xb3, 0x54, 0xe2, 0x62, 0x79, 0xde,
0xcc, 0xbc, 0x79, 0x9f, 0xcf, 0xbe, 0x79, 0x3f, 0x06, 0x2a, 0x63, 0x46, 0xdc, 0xa6, 0xff, 0xd3, 0xcc, 0xbc, 0x79, 0x9f, 0xcf, 0xbe, 0x79, 0x3f, 0x06, 0x6a, 0x13, 0x46, 0xbc, 0x76, 0xf0, 0xd3,
0xa0, 0xae, 0xe3, 0x39, 0x78, 0xde, 0xff, 0xaf, 0xdd, 0xeb, 0x50, 0x62, 0x1f, 0xed, 0xee, 0x35, 0xa2, 0x9e, 0xeb, 0xbb, 0x78, 0x31, 0xf8, 0xaf, 0xdd, 0xea, 0x51, 0xe2, 0x1c, 0xec, 0x3f, 0x69,
0xe9, 0xe9, 0xa0, 0xc9, 0x27, 0x9a, 0xac, 0x7f, 0x7a, 0x74, 0xc1, 0x9a, 0x17, 0x2c, 0x58, 0xa8, 0xd3, 0xe3, 0x61, 0x9b, 0x4f, 0xb4, 0xd9, 0xe0, 0xf8, 0xe0, 0x8c, 0xb5, 0xcf, 0x58, 0xb8, 0x50,
0x3d, 0x52, 0x97, 0xf4, 0x1c, 0xfb, 0x9c, 0xb8, 0xcc, 0xf4, 0x2c, 0xc7, 0x96, 0x06, 0xc1, 0x16, 0xbb, 0xa7, 0x2e, 0xb1, 0x5c, 0xe7, 0x94, 0x78, 0xcc, 0xf4, 0x6d, 0xd7, 0x91, 0x06, 0xe1, 0x16,
0xfd, 0x31, 0x40, 0xcb, 0x19, 0x8d, 0x1c, 0xdb, 0x20, 0x8c, 0xe2, 0x3a, 0x2c, 0x12, 0xd7, 0x6d, 0xfd, 0x3e, 0x40, 0xc7, 0x1d, 0x8f, 0x5d, 0xc7, 0x20, 0x8c, 0xe2, 0x26, 0x2c, 0x13, 0xcf, 0xeb,
0x39, 0x7d, 0x52, 0x47, 0xeb, 0x68, 0x63, 0xc1, 0x88, 0x86, 0x78, 0x15, 0xae, 0x11, 0xd7, 0xdd, 0xb8, 0x03, 0xd2, 0x44, 0x9b, 0x68, 0x6b, 0xc9, 0x88, 0x87, 0x78, 0x1d, 0x2e, 0x11, 0xcf, 0x7b,
0x63, 0x83, 0xfa, 0xdc, 0x3a, 0xda, 0x28, 0x1a, 0xe1, 0x48, 0xef, 0x40, 0xa5, 0x4d, 0xbc, 0xad, 0xc2, 0x86, 0xcd, 0x85, 0x4d, 0xb4, 0x55, 0x36, 0xa2, 0x91, 0xde, 0x83, 0x5a, 0x97, 0xf8, 0x3b,
0xe1, 0xf0, 0x90, 0x11, 0x77, 0x77, 0xc7, 0x20, 0x67, 0x58, 0x83, 0x25, 0x87, 0x06, 0x43, 0xae, 0xa3, 0xd1, 0x0b, 0x46, 0xbc, 0xfd, 0x3d, 0x83, 0x9c, 0x60, 0x0d, 0x56, 0x5c, 0x1a, 0x0e, 0xb9,
0xa5, 0x68, 0xc4, 0x63, 0xbc, 0x0e, 0x25, 0x87, 0x12, 0x97, 0x5b, 0xb0, 0xbb, 0x13, 0xea, 0x12, 0x96, 0xb2, 0x91, 0x8c, 0xf1, 0x26, 0x54, 0x5c, 0x4a, 0x3c, 0x6e, 0xc1, 0xfe, 0x5e, 0xa4, 0x4b,
0x45, 0x7a, 0x1f, 0xaa, 0xb2, 0x42, 0x46, 0xf1, 0x7b, 0xa2, 0x91, 0x5c, 0x67, 0x69, 0xb3, 0xda, 0x14, 0xe9, 0x03, 0xa8, 0xcb, 0x0a, 0x19, 0xc5, 0xef, 0x89, 0x46, 0x72, 0x9d, 0x95, 0xed, 0x7a,
0xe0, 0x0c, 0x25, 0x72, 0x43, 0x04, 0x72, 0x17, 0x20, 0xd8, 0xff, 0xa9, 0xc5, 0xbc, 0xfa, 0xdc, 0x8b, 0x33, 0x94, 0xca, 0x0d, 0x11, 0xc8, 0x4d, 0x80, 0x70, 0xff, 0xa7, 0x36, 0xf3, 0x9b, 0x0b,
0x7a, 0x61, 0xa3, 0x68, 0x08, 0x12, 0xfd, 0x15, 0x54, 0xb6, 0x7a, 0x3d, 0x67, 0x6c, 0x7b, 0xad, 0x9b, 0xa5, 0xad, 0xb2, 0x21, 0x48, 0xf4, 0x57, 0x50, 0xdb, 0xb1, 0x2c, 0x77, 0xe2, 0xf8, 0x9d,
0x97, 0xa4, 0x77, 0xea, 0x9b, 0xbd, 0x01, 0x15, 0xfe, 0x5f, 0xd8, 0x87, 0xf8, 0xbe, 0xb4, 0xd8, 0x97, 0xc4, 0x3a, 0x0e, 0xcc, 0xde, 0x82, 0x1a, 0xff, 0x2f, 0xec, 0x43, 0x7c, 0x5f, 0x56, 0x1c,
0x07, 0xd8, 0x89, 0x00, 0x06, 0x08, 0xe2, 0xb1, 0x0f, 0xb0, 0x23, 0x00, 0x2c, 0x04, 0x00, 0x05, 0x00, 0xec, 0xc5, 0x00, 0x43, 0x04, 0xc9, 0x38, 0x00, 0xd8, 0x13, 0x00, 0x96, 0x42, 0x80, 0x82,
0x91, 0xfe, 0x37, 0x82, 0xaa, 0x7c, 0x76, 0x80, 0xb0, 0x37, 0x03, 0xc2, 0x64, 0x0d, 0x6e, 0x03, 0x48, 0xff, 0x1b, 0x41, 0x5d, 0x3e, 0x3b, 0x44, 0x68, 0xcd, 0x81, 0x30, 0x5d, 0x83, 0xbb, 0x00,
0x18, 0x84, 0x8d, 0x87, 0x5e, 0x8c, 0xb0, 0xb4, 0xf9, 0x76, 0xb0, 0x23, 0xad, 0xbd, 0xd1, 0xb5, 0x06, 0x61, 0x93, 0x91, 0x9f, 0x20, 0xac, 0x6c, 0xbf, 0x1d, 0xee, 0xc8, 0x6a, 0x6f, 0xf5, 0x6d,
0xec, 0xc1, 0x90, 0xf8, 0x16, 0x76, 0x3d, 0xd3, 0x1b, 0x33, 0x43, 0xd8, 0xaa, 0xbd, 0x80, 0x6a, 0x67, 0x38, 0x22, 0x81, 0x85, 0x7d, 0xdf, 0xf4, 0x27, 0xcc, 0x10, 0xb6, 0x6a, 0xcf, 0xa0, 0x9e,
0x7a, 0xde, 0xff, 0xda, 0x63, 0xf1, 0x03, 0x86, 0x23, 0x7c, 0x1f, 0xca, 0x66, 0xa0, 0x3c, 0x58, 0x9d, 0x0f, 0xbe, 0xf6, 0x44, 0xfc, 0x80, 0xd1, 0x08, 0xdf, 0x86, 0xaa, 0x19, 0x2a, 0x0f, 0x17,
0x18, 0xc2, 0x97, 0x85, 0xba, 0x0d, 0x2b, 0x6d, 0xe2, 0x71, 0x42, 0xec, 0x13, 0xc7, 0xe7, 0xf6, 0x46, 0xf0, 0x65, 0xa1, 0xee, 0xc0, 0x5a, 0x97, 0xf8, 0x9c, 0x10, 0xe7, 0xc8, 0x0d, 0xb8, 0xbd,
0x2e, 0xc0, 0x38, 0x4d, 0xab, 0x20, 0xf9, 0x97, 0x8c, 0x7e, 0x87, 0xb8, 0x13, 0x26, 0x07, 0xe6, 0x09, 0x30, 0xc9, 0xd2, 0x2a, 0x48, 0xfe, 0x25, 0xa3, 0xdf, 0x21, 0xee, 0x84, 0xe9, 0x81, 0x85,
0x22, 0xf4, 0x09, 0x2c, 0x47, 0x1a, 0xb8, 0x95, 0x05, 0x4e, 0xe9, 0xed, 0x06, 0x23, 0xee, 0x39, 0x08, 0x7d, 0x00, 0xab, 0xb1, 0x06, 0x6e, 0x65, 0x89, 0x53, 0x7a, 0xbd, 0xc5, 0x88, 0x77, 0x4a,
0x71, 0x8f, 0x4c, 0x6a, 0x1d, 0x51, 0xd3, 0x35, 0x47, 0xac, 0x11, 0x1f, 0x24, 0x6d, 0xd0, 0x5f, 0xbc, 0x03, 0x93, 0xda, 0x07, 0xd4, 0xf4, 0xcc, 0x31, 0x6b, 0x25, 0x07, 0x49, 0x1b, 0xf4, 0xd7,
0x23, 0xa8, 0x1d, 0xd2, 0xbe, 0xe9, 0x11, 0x11, 0xfa, 0x87, 0xb0, 0x14, 0x0d, 0x43, 0x33, 0x2e, 0x08, 0x1a, 0x2f, 0xe8, 0xc0, 0xf4, 0x89, 0x08, 0xfd, 0x43, 0x58, 0x89, 0x87, 0x91, 0x19, 0xe7,
0x55, 0x19, 0x2f, 0x9e, 0xc6, 0x89, 0xa3, 0x72, 0x22, 0x5e, 0xa3, 0xe7, 0x80, 0xd3, 0xb6, 0xe4, 0xaa, 0x4c, 0x16, 0xcf, 0xe2, 0xc4, 0x55, 0x39, 0x11, 0xaf, 0xd1, 0x63, 0xc0, 0x59, 0x5b, 0x8a,
0x61, 0x45, 0xff, 0x06, 0x81, 0xd6, 0x25, 0x5e, 0x7b, 0xe8, 0x1c, 0x9b, 0x43, 0x83, 0xf4, 0xce, 0xb0, 0xa2, 0x7f, 0x83, 0x40, 0xeb, 0x13, 0xbf, 0x3b, 0x72, 0x0f, 0xcd, 0x91, 0x41, 0xac, 0xd3,
0xf7, 0x08, 0x63, 0xe6, 0x80, 0x74, 0xa8, 0xe7, 0xa3, 0x9b, 0xe4, 0x28, 0x53, 0xef, 0x39, 0x7e, 0x27, 0x84, 0x31, 0x73, 0x48, 0x7a, 0xd4, 0x0f, 0xd0, 0x4d, 0x73, 0x94, 0x99, 0xf7, 0x1c, 0xdf,
0x08, 0xd5, 0x41, 0xa2, 0x94, 0x0d, 0x3a, 0xd4, 0xe3, 0x38, 0x16, 0x0c, 0x45, 0xae, 0x77, 0xe0, 0x85, 0xfa, 0x30, 0x55, 0xca, 0x86, 0x3d, 0xea, 0x73, 0x1c, 0x4b, 0x86, 0x22, 0xd7, 0x7b, 0x70,
0xf6, 0x44, 0x1b, 0x72, 0xa1, 0xfa, 0x19, 0x01, 0xee, 0x12, 0xaf, 0x25, 0xc4, 0x43, 0x1f, 0xcd, 0x7d, 0xaa, 0x0d, 0x85, 0x50, 0xfd, 0x8c, 0x00, 0xf7, 0x89, 0xdf, 0x11, 0xe2, 0x61, 0x80, 0xe6,
0x63, 0x58, 0x16, 0x45, 0xa1, 0x2a, 0xad, 0x21, 0xc5, 0x4d, 0x69, 0x93, 0xb4, 0xde, 0xc7, 0x64, 0x3e, 0xac, 0x8a, 0xa2, 0x48, 0x95, 0xd6, 0x92, 0xe2, 0xa6, 0xb4, 0x49, 0x5a, 0x1f, 0x60, 0x72,
0x3b, 0x9e, 0x75, 0x62, 0xf5, 0xf8, 0xf8, 0xe0, 0x15, 0x25, 0x1c, 0xfa, 0x82, 0xa1, 0xc8, 0x67, 0x5c, 0xdf, 0x3e, 0xb2, 0x2d, 0x3e, 0x7e, 0xfe, 0x8a, 0x12, 0x0e, 0x7d, 0xc9, 0x50, 0xe4, 0x73,
0x70, 0xeb, 0x36, 0x5c, 0x57, 0x6c, 0xcc, 0x85, 0xf6, 0x77, 0x04, 0xd5, 0x2e, 0xf1, 0x12, 0x42, 0xb8, 0x75, 0x17, 0x2e, 0x2b, 0x36, 0x16, 0x42, 0xfb, 0x3b, 0x82, 0x7a, 0x9f, 0xf8, 0x29, 0xa1,
0x7d, 0xac, 0xfe, 0xf9, 0x17, 0x36, 0x71, 0xa5, 0x40, 0x2d, 0x8a, 0xf0, 0x03, 0x58, 0x11, 0x0f, 0x01, 0xd6, 0xe0, 0xfc, 0x33, 0x87, 0x78, 0x52, 0xa0, 0x16, 0x45, 0xf8, 0x0e, 0xac, 0x89, 0x87,
0x8f, 0x3f, 0x63, 0x4a, 0xea, 0x5f, 0x6e, 0xe5, 0x1b, 0x0a, 0x92, 0x4c, 0x56, 0xe6, 0x67, 0x63, 0x27, 0x9f, 0x31, 0x23, 0x0d, 0x2e, 0xb7, 0xf2, 0x0d, 0x05, 0x49, 0x2e, 0x2b, 0x8b, 0xf3, 0xb1,
0x65, 0x41, 0x65, 0xe5, 0x19, 0xd4, 0x52, 0x58, 0x72, 0x71, 0xf2, 0x35, 0x02, 0xdc, 0x56, 0x3d, 0xb2, 0xa4, 0xb2, 0xf2, 0x08, 0x1a, 0x19, 0x2c, 0x85, 0x38, 0xf9, 0x1a, 0x01, 0xee, 0xaa, 0x1e,
0x40, 0xc5, 0x8c, 0x32, 0x31, 0xa7, 0xd8, 0x9b, 0x53, 0xd9, 0x9b, 0xfe, 0x7d, 0xbf, 0x47, 0x70, 0xa0, 0x62, 0x46, 0xb9, 0x98, 0x33, 0xec, 0x2d, 0xa8, 0xec, 0xcd, 0xfe, 0xbe, 0xdf, 0x23, 0xb8,
0xbd, 0xfd, 0x26, 0x3e, 0xb0, 0xe2, 0xb7, 0x73, 0x57, 0xf3, 0x5b, 0xfd, 0x5b, 0xd5, 0x12, 0x36, 0xdc, 0x7d, 0x13, 0x1f, 0x58, 0xf1, 0xdb, 0x85, 0x8b, 0xf9, 0xad, 0xfe, 0xad, 0x6a, 0x09, 0x9b,
0x9b, 0x8f, 0xf8, 0x49, 0x53, 0x62, 0x86, 0x85, 0xc9, 0x36, 0x2d, 0x9e, 0x81, 0x8f, 0xd7, 0x08, 0xcf, 0x47, 0x82, 0xa4, 0x29, 0x31, 0xc3, 0xa2, 0x64, 0x9b, 0x15, 0xcf, 0xc1, 0xc7, 0x6b, 0x04,
0x6e, 0xa8, 0x56, 0xe4, 0x22, 0xe4, 0x29, 0x94, 0x25, 0x35, 0x61, 0x7e, 0xbc, 0x8c, 0x11, 0x79, 0x57, 0x54, 0x2b, 0x0a, 0x11, 0xf2, 0x10, 0xaa, 0x92, 0x9a, 0x28, 0x3f, 0x9e, 0xc7, 0x88, 0xbc,
0x83, 0xfe, 0x05, 0xac, 0x06, 0x65, 0x48, 0x0e, 0x52, 0x52, 0x50, 0xe7, 0x54, 0xa8, 0x3f, 0x22, 0x41, 0xff, 0x02, 0xd6, 0xc3, 0x32, 0xa4, 0x00, 0x29, 0x19, 0xa8, 0x0b, 0x2a, 0xd4, 0x1f, 0x11,
0x58, 0xcb, 0x54, 0xff, 0x1f, 0xa1, 0xfd, 0x03, 0x41, 0x7d, 0xdb, 0xf4, 0x7a, 0x2f, 0xbb, 0x19, 0x6c, 0xe4, 0xaa, 0xff, 0x8f, 0xd0, 0xfe, 0x81, 0xa0, 0xb9, 0x6b, 0xfa, 0xd6, 0xcb, 0x7e, 0x8e,
0x5e, 0xa0, 0xa8, 0x47, 0x57, 0x54, 0x3f, 0xc3, 0x6d, 0xc9, 0x8a, 0x11, 0x85, 0xd9, 0x62, 0xc4, 0x17, 0x28, 0xea, 0xd1, 0x05, 0xd5, 0xcf, 0x71, 0x5b, 0xf2, 0x62, 0x44, 0x69, 0xbe, 0x18, 0xb1,
0xbc, 0x4a, 0xef, 0x57, 0x70, 0x6b, 0x02, 0x9a, 0x5c, 0xfc, 0xd6, 0x61, 0xb1, 0x3b, 0xee, 0xf5, 0xa8, 0xd2, 0xfb, 0x15, 0x5c, 0x9b, 0x82, 0xa6, 0x10, 0xbf, 0x4d, 0x58, 0xee, 0x4f, 0x2c, 0x8b,
0x08, 0x8b, 0x9c, 0x3b, 0x1a, 0xfa, 0xe9, 0xef, 0xb9, 0x69, 0x0d, 0x49, 0x9f, 0x57, 0x0b, 0x45, 0xb0, 0xd8, 0xb9, 0xe3, 0x61, 0x90, 0xfe, 0x1e, 0x9b, 0xf6, 0x88, 0x0c, 0x78, 0xb5, 0x50, 0x36,
0x23, 0x1c, 0xe9, 0xbf, 0x20, 0x28, 0x85, 0x15, 0x49, 0xe4, 0x33, 0x62, 0x3a, 0x44, 0x6a, 0x3a, 0xa2, 0x91, 0xfe, 0x2b, 0x82, 0x4a, 0x54, 0x91, 0xc4, 0x3e, 0x23, 0xa6, 0x43, 0xa4, 0xa6, 0xc3,
0xdc, 0x01, 0xa0, 0xe6, 0xc0, 0xb2, 0xc5, 0x0b, 0x7c, 0x3f, 0xa3, 0x50, 0x30, 0xc8, 0xd9, 0x98, 0x3d, 0x00, 0x6a, 0x0e, 0x6d, 0x47, 0xbc, 0xc0, 0xb7, 0x73, 0x0a, 0x05, 0x83, 0x9c, 0x4c, 0x08,
0x30, 0xef, 0x45, 0xbc, 0xd6, 0x10, 0xf6, 0xf9, 0x35, 0x83, 0x0f, 0x64, 0xdf, 0x1c, 0x91, 0xf0, 0xf3, 0x9f, 0x25, 0x6b, 0x0d, 0x61, 0x5f, 0x50, 0x33, 0x04, 0x40, 0x9e, 0x9a, 0x63, 0x12, 0xdd,
0x86, 0xc5, 0x63, 0x21, 0x55, 0xcf, 0x8b, 0xa9, 0x5a, 0x3f, 0x80, 0xc5, 0xd6, 0x88, 0xf9, 0xa6, 0xb0, 0x64, 0x2c, 0xa4, 0xea, 0x45, 0x29, 0x55, 0x37, 0x61, 0xd9, 0x72, 0x1d, 0x9f, 0x38, 0x7e,
0xe2, 0x26, 0xf0, 0x56, 0x63, 0x96, 0x3a, 0x85, 0x2f, 0xf4, 0x99, 0xb1, 0xd8, 0xf6, 0xd0, 0xe9, 0x14, 0x6e, 0xe3, 0xa1, 0xfe, 0x1c, 0x96, 0x3b, 0x63, 0x16, 0x80, 0xc0, 0x6d, 0xe0, 0x4d, 0xc8,
0x9d, 0x72, 0x93, 0x97, 0x8c, 0x68, 0xa8, 0xff, 0x89, 0x60, 0x39, 0x61, 0x20, 0x17, 0xed, 0xef, 0x3c, 0x15, 0x0c, 0x5f, 0x18, 0x68, 0xb5, 0xd9, 0xee, 0xc8, 0xb5, 0x8e, 0x39, 0x98, 0x15, 0x23,
0x04, 0x60, 0x84, 0xfa, 0xb6, 0x1c, 0xae, 0x0f, 0xcc, 0x35, 0xe2, 0x69, 0xfc, 0x0c, 0x20, 0x61, 0x1e, 0xea, 0x7f, 0x22, 0x58, 0x4d, 0xb9, 0x29, 0xf4, 0x41, 0xde, 0x09, 0x61, 0x0a, 0x95, 0x6f,
0x84, 0x23, 0x2f, 0x6d, 0xbe, 0x95, 0xc9, 0x1e, 0xa3, 0x8e, 0xcd, 0x88, 0x48, 0x5f, 0xf2, 0x1f, 0x35, 0x5a, 0x1f, 0x9a, 0x6b, 0x24, 0xd3, 0xf8, 0x11, 0x40, 0xca, 0x15, 0xe7, 0xa4, 0xb2, 0xfd,
0xdf, 0x81, 0xa2, 0xe7, 0x78, 0xe6, 0x70, 0x7f, 0x3c, 0x62, 0x61, 0x8a, 0x4a, 0x04, 0xfa, 0x00, 0x56, 0x2e, 0xaf, 0x8c, 0xba, 0x0e, 0x23, 0x22, 0xb1, 0xe9, 0x7f, 0x7c, 0x03, 0xca, 0xbe, 0xeb,
0x60, 0xab, 0xdf, 0xe7, 0x27, 0x07, 0x75, 0xdd, 0xf8, 0x2a, 0x75, 0x5d, 0xb4, 0x78, 0x86, 0x16, 0x9b, 0xa3, 0xa7, 0x93, 0x31, 0x8b, 0x92, 0x57, 0x2a, 0xd0, 0x87, 0x00, 0x3b, 0x83, 0x01, 0x3f,
0xe8, 0x09, 0x94, 0xe2, 0x83, 0xf2, 0x74, 0x3f, 0xfa, 0x0f, 0x08, 0x96, 0xf9, 0x67, 0x88, 0x8c, 0x39, 0xac, 0xf8, 0x26, 0x17, 0xa9, 0xf8, 0xe2, 0xc5, 0x73, 0x34, 0x47, 0x0f, 0xa0, 0x92, 0x1c,
0x9d, 0x54, 0xa6, 0x3d, 0x80, 0x15, 0x62, 0xf7, 0x77, 0x2c, 0x66, 0x1e, 0x0f, 0xc9, 0x81, 0x35, 0x54, 0xa4, 0x2f, 0xd2, 0x7f, 0x40, 0xb0, 0xca, 0x3f, 0x43, 0x6c, 0xec, 0xb4, 0x02, 0xee, 0x0e,
0x22, 0x51, 0x8a, 0x97, 0xa5, 0xd3, 0xeb, 0x4d, 0xa9, 0xe9, 0x9b, 0x97, 0x9b, 0x3e, 0x7d, 0x0b, 0xac, 0x11, 0x67, 0xb0, 0x67, 0x33, 0xf3, 0x70, 0x44, 0x9e, 0xdb, 0x63, 0x12, 0x27, 0x7f, 0x59,
0xca, 0x82, 0x35, 0xb9, 0x10, 0x9d, 0xc0, 0xca, 0xa1, 0x3d, 0x13, 0xa4, 0xe9, 0x95, 0xa7, 0x68, 0x3a, 0xbb, 0x12, 0x95, 0xda, 0xc1, 0x45, 0xb9, 0x1d, 0xd4, 0x77, 0xa0, 0x2a, 0x58, 0x53, 0x08,
0x6a, 0x21, 0x65, 0x6a, 0x0b, 0x2a, 0xd2, 0x39, 0xb9, 0x8c, 0xfd, 0x15, 0xf1, 0x1e, 0x36, 0x56, 0xd1, 0x11, 0xac, 0xbd, 0x70, 0xe6, 0x82, 0x34, 0xbb, 0x26, 0x15, 0x4d, 0x2d, 0x65, 0x4c, 0xed,
0xc3, 0x43, 0x80, 0x7c, 0xc1, 0x51, 0xce, 0x0b, 0x3e, 0x1d, 0x5d, 0xc2, 0x4b, 0x41, 0xe2, 0xe5, 0x40, 0x4d, 0x3a, 0xa7, 0x90, 0xb1, 0xbf, 0x20, 0xde, 0xdd, 0x26, 0x6a, 0x78, 0x70, 0x90, 0xaf,
0x5d, 0xa8, 0x71, 0x57, 0x8e, 0xad, 0xda, 0x1f, 0x8f, 0x42, 0x1f, 0x57, 0x27, 0xf4, 0x9f, 0x10, 0x3e, 0x2a, 0x78, 0xf5, 0x67, 0xa3, 0x4b, 0x79, 0x29, 0x49, 0xbc, 0xbc, 0x0b, 0x0d, 0xee, 0xca,
0x14, 0x63, 0x41, 0xfe, 0x1e, 0xe6, 0x21, 0x54, 0xb7, 0xc9, 0xc0, 0xb2, 0x55, 0x0f, 0x53, 0xe4, 0x89, 0x55, 0x4f, 0x27, 0xe3, 0xc8, 0xc7, 0xd5, 0x09, 0xfd, 0x27, 0x04, 0xe5, 0x44, 0x50, 0xbc,
0xbe, 0x2f, 0x3e, 0x93, 0x7d, 0x31, 0x00, 0x90, 0x92, 0xea, 0x7f, 0x21, 0xa8, 0xa5, 0xd8, 0xcd, 0xbb, 0xb9, 0x0b, 0xf5, 0x5d, 0x32, 0xb4, 0x1d, 0xd5, 0xc3, 0x14, 0x79, 0xe0, 0x8b, 0x8f, 0x64,
0xf5, 0x44, 0xd0, 0x04, 0x48, 0x74, 0x84, 0x01, 0xa6, 0x12, 0xec, 0x48, 0x1c, 0x40, 0x58, 0xf2, 0x5f, 0x0c, 0x01, 0x64, 0xa4, 0xfa, 0x5f, 0x08, 0x1a, 0x19, 0x76, 0x0b, 0x3d, 0x1e, 0xb4, 0x01,
0xa6, 0x82, 0x8c, 0x16, 0x90, 0x29, 0xc4, 0x98, 0x78, 0xbc, 0xf9, 0xdb, 0x52, 0x10, 0x81, 0xf1, 0x52, 0x1d, 0x51, 0x80, 0xa9, 0x85, 0x3b, 0x52, 0x07, 0x10, 0x96, 0xbc, 0xa9, 0x20, 0xa3, 0x85,
0x47, 0x71, 0xfe, 0xe0, 0x3c, 0xde, 0x08, 0xec, 0x92, 0xbb, 0x6a, 0xed, 0x66, 0x86, 0x94, 0x51, 0x64, 0x0a, 0x31, 0x26, 0x19, 0x6f, 0xff, 0xb6, 0x12, 0x46, 0x60, 0xfc, 0x51, 0x92, 0x59, 0x38,
0xdc, 0x82, 0x15, 0xb9, 0xf5, 0xc3, 0x6b, 0xc1, 0x42, 0xa5, 0x39, 0xd5, 0xea, 0xd9, 0x13, 0x8c, 0x8f, 0x57, 0x42, 0xbb, 0xe4, 0x7e, 0x5b, 0xbb, 0x9a, 0x23, 0x65, 0x14, 0x77, 0x60, 0x4d, 0x6e,
0xe2, 0x2f, 0x61, 0x6d, 0x42, 0xcb, 0x85, 0xd7, 0x83, 0x4d, 0x93, 0xbb, 0x42, 0xed, 0xde, 0x94, 0x0a, 0xf1, 0x46, 0xb8, 0x50, 0x69, 0x5b, 0xb5, 0x66, 0xfe, 0x04, 0xa3, 0xf8, 0x4b, 0xd8, 0x98,
0x15, 0x8c, 0xe2, 0x4f, 0x78, 0x7a, 0x88, 0x9f, 0x79, 0x70, 0x82, 0x45, 0x7c, 0x4b, 0xd2, 0x56, 0xd2, 0x8c, 0xe1, 0xcd, 0x70, 0xd3, 0xf4, 0x7e, 0x51, 0xbb, 0x35, 0x63, 0x05, 0xa3, 0xf8, 0x13,
0xb3, 0xc4, 0xc1, 0x76, 0xf1, 0x95, 0x23, 0xda, 0x9e, 0x7a, 0xd3, 0x89, 0xb6, 0x2b, 0xcf, 0x2d, 0x9e, 0x1e, 0x92, 0x07, 0x20, 0x9c, 0x62, 0x11, 0x5f, 0x99, 0xb4, 0xf5, 0x3c, 0x71, 0xb8, 0x5d,
0xcf, 0xf9, 0x83, 0x81, 0xd4, 0xbb, 0xd5, 0xe3, 0x93, 0x52, 0x3d, 0x81, 0x76, 0x6b, 0xc2, 0x0c, 0x7c, 0xff, 0x88, 0xb7, 0x67, 0x5e, 0x7b, 0xe2, 0xed, 0xca, 0x43, 0xcc, 0x63, 0xfe, 0x94, 0x20,
0xa3, 0xd8, 0xe0, 0x75, 0x73, 0xba, 0x8c, 0xc3, 0x77, 0x44, 0xab, 0xd3, 0xf5, 0x94, 0xf6, 0xbf, 0x75, 0x75, 0xcd, 0xe4, 0xa4, 0x4c, 0xb7, 0xa0, 0x5d, 0x9b, 0x32, 0xc3, 0x28, 0x36, 0x78, 0x45,
0x4b, 0x66, 0x19, 0xc5, 0xbb, 0x3c, 0x78, 0xc8, 0x0a, 0xb3, 0x4d, 0xe0, 0xda, 0xb4, 0x49, 0x53, 0x9d, 0x2d, 0xf0, 0xf0, 0x0d, 0xd1, 0xea, 0x6c, 0xa5, 0xa5, 0xfd, 0xef, 0x9c, 0x59, 0x46, 0xf1,
0x8c, 0xe2, 0xcf, 0xe0, 0x66, 0x66, 0x1d, 0x84, 0xef, 0x86, 0x7e, 0x3e, 0xa1, 0xe4, 0xd3, 0xfe, 0x3e, 0x0f, 0x1e, 0xb2, 0xc2, 0x7c, 0x13, 0xb8, 0x36, 0x6d, 0xda, 0x14, 0xa3, 0xf8, 0x33, 0xb8,
0x7f, 0xe9, 0x7c, 0x40, 0x60, 0x37, 0x9b, 0xc0, 0xee, 0x44, 0x02, 0xb3, 0x9a, 0xd9, 0xa7, 0x50, 0x9a, 0x5b, 0x21, 0xe1, 0x9b, 0x91, 0x9f, 0x4f, 0x29, 0x06, 0xb5, 0xff, 0x9f, 0x3b, 0x1f, 0x12,
0x96, 0xba, 0x39, 0xbc, 0x1a, 0xaf, 0x95, 0xda, 0x55, 0x6d, 0x2d, 0x53, 0xce, 0x28, 0x7e, 0x04, 0xd8, 0xcf, 0x27, 0xb0, 0x3f, 0x95, 0xc0, 0xbc, 0x36, 0xf7, 0x21, 0x54, 0xa5, 0x3e, 0x0f, 0xaf,
0x4b, 0x51, 0x9d, 0x81, 0x6b, 0xd2, 0x85, 0xe0, 0x48, 0x70, 0x5a, 0xc4, 0x28, 0x6e, 0xc0, 0x62, 0x27, 0x6b, 0xa5, 0x46, 0x56, 0xdb, 0xc8, 0x95, 0x33, 0x8a, 0xef, 0xc1, 0x4a, 0x5c, 0x67, 0xe0,
0x98, 0x5f, 0x71, 0x18, 0x22, 0x92, 0xbc, 0xae, 0xd5, 0x52, 0x12, 0x46, 0xf1, 0x07, 0x62, 0x2c, 0x86, 0x74, 0x21, 0x38, 0x12, 0x9c, 0x15, 0x31, 0x8a, 0x5b, 0xb0, 0x1c, 0xe5, 0x57, 0x1c, 0x85,
0xc4, 0xe9, 0x10, 0x41, 0xce, 0xb4, 0xeb, 0x8a, 0x8c, 0x51, 0xff, 0x0a, 0x0b, 0xa9, 0x24, 0xba, 0x88, 0x34, 0xaf, 0x6b, 0x8d, 0x8c, 0x84, 0x51, 0xfc, 0x81, 0x18, 0x0b, 0x71, 0x36, 0x44, 0x90,
0xc2, 0x72, 0x16, 0x8b, 0xae, 0x70, 0x3a, 0xe7, 0x3c, 0x85, 0xb2, 0x14, 0xe2, 0x70, 0x72, 0x0f, 0x13, 0xed, 0xb2, 0x22, 0x63, 0x34, 0xb8, 0xc2, 0x42, 0x2a, 0x89, 0xaf, 0xb0, 0x9c, 0xc5, 0xe2,
0xa4, 0xac, 0x12, 0xd1, 0xa2, 0xc4, 0xc3, 0xed, 0xf2, 0xe7, 0xa5, 0x06, 0x7f, 0x43, 0xfe, 0xd8, 0x2b, 0x9c, 0xcd, 0x39, 0x0f, 0xa1, 0x2a, 0x85, 0x38, 0x9c, 0xde, 0x03, 0x29, 0xab, 0xc4, 0xb4,
0xff, 0x39, 0xbe, 0xc6, 0x5f, 0x7b, 0xdf, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x87, 0x2d, 0x47, 0x28, 0xf1, 0x70, 0xb7, 0xfa, 0x79, 0xa5, 0xc5, 0x5f, 0x97, 0x3f, 0x0e, 0x7e, 0x0e, 0x2f, 0xf1,
0x32, 0x5c, 0x16, 0x00, 0x00, 0x77, 0xe0, 0xf7, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x65, 0xf2, 0xe5, 0x1f, 0x76, 0x16, 0x00,
0x00,
} }

@ -139,6 +139,7 @@ message GetUsersReq {
server_api_params.RequestPagination pagination = 2; server_api_params.RequestPagination pagination = 2;
string userName = 3; string userName = 3;
string userID = 4; string userID = 4;
string content = 5;
} }
message CmsUser { message CmsUser {

Loading…
Cancel
Save