callback update

pull/329/head
Gordon 2 years ago
parent 86fc0e4101
commit a7f44b6ce7

@ -1,6 +1,7 @@
package msg
import (
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db"
"Open_IM/pkg/common/log"
"Open_IM/pkg/proto/msg"
@ -17,6 +18,40 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S
var rResp msg.SetMessageReactionExtensionsResp
rResp.ClientMsgID = req.ClientMsgID
rResp.MsgFirstModifyTime = req.MsgFirstModifyTime
callbackResp := callbackSetMessageReactionExtensions(req)
if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 {
rResp.ErrCode = int32(callbackResp.ErrCode)
rResp.ErrMsg = callbackResp.ErrMsg
for _, value := range req.ReactionExtensionList {
temp := new(msg.KeyValueResp)
temp.KeyValue = value
temp.ErrMsg = callbackResp.ErrMsg
temp.ErrCode = 100
rResp.Result = append(rResp.Result, temp)
}
return &rResp, nil
}
//if ExternalExtension
if req.IsExternalExtensions {
var isHistory bool
if req.IsReact {
isHistory = false
} else {
isHistory = true
}
rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime
rResp.Result = callbackResp.ResultReactionExtensionList
ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false)
return &rResp, nil
}
for _, v := range callbackResp.ResultReactionExtensionList {
if v.ErrCode == 0 {
req.ReactionExtensionList[v.KeyValue.TypeKey] = v.KeyValue
} else {
delete(req.ReactionExtensionList, v.KeyValue.TypeKey)
rResp.Result = append(rResp.Result, v)
}
}
isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType)
if err != nil {
rResp.ErrCode = 100
@ -243,6 +278,38 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M
func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) {
log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String())
var rResp msg.DeleteMessageListReactionExtensionsResp
callbackResp := callbackDeleteMessageReactionExtensions(req)
if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 {
rResp.ErrCode = int32(callbackResp.ErrCode)
rResp.ErrMsg = callbackResp.ErrMsg
for _, value := range req.ReactionExtensionList {
temp := new(msg.KeyValueResp)
temp.KeyValue = value
temp.ErrMsg = callbackResp.ErrMsg
temp.ErrCode = 100
rResp.Result = append(rResp.Result, temp)
}
return &rResp, nil
}
//if ExternalExtension
if req.IsExternalExtensions {
rResp.Result = callbackResp.ResultReactionExtensionList
ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false)
return &rResp, nil
}
for _, v := range callbackResp.ResultReactionExtensionList {
if v.ErrCode != 0 {
func(req *[]*server_api_params.KeyValue, typeKey string) {
for i := 0; i < len(*req); i++ {
if (*req)[i].TypeKey == typeKey {
*req = append((*req)[:i], (*req)[i+1:]...)
}
}
}(&req.ReactionExtensionList, v.KeyValue.TypeKey)
rResp.Result = append(rResp.Result, v)
}
}
isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType)
if err != nil {
rResp.ErrCode = 100

@ -25,6 +25,10 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin
keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue
}
}
if len(keyMap) == 0 {
log.NewWarn(operationID, "all key set failed can not send notification", *req)
return
}
m.SuccessReactionExtensionList = keyMap
m.ClientMsgID = req.ClientMsgID
m.IsReact = resp.IsReact
@ -44,6 +48,10 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string
keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue
}
}
if len(keyMap) == 0 {
log.NewWarn(operationID, "all key set failed can not send notification", *req)
return
}
m.SuccessReactionExtensionList = keyMap
m.ClientMsgID = req.ClientMsgID
m.MsgFirstModifyTime = req.MsgFirstModifyTime

@ -2,6 +2,7 @@ package msg
import (
cbApi "Open_IM/pkg/call_back_struct"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/http"
"Open_IM/pkg/common/log"
@ -10,58 +11,50 @@ import (
http2 "net/http"
)
func callbackSetMessageReactionExtensions(req *msg.SetMessageReactionExtensionsReq) cbApi.CommonCallbackResp {
callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID}
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String())
}
func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) {
}
func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp {
callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID}
if !config.Config.Callback.CallbackAfterSendGroupMsg.Enable {
return callbackResp
}
log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg)
commonCallbackReq := copyCallbackCommonReqStruct(msg)
commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand
req := cbApi.CallbackAfterSendGroupMsgReq{
CommonCallbackReq: commonCallbackReq,
GroupID: msg.MsgData.GroupID,
func callbackSetMessageReactionExtensions(setReq *msg.SetMessageReactionExtensionsReq) *cbApi.CallbackBeforeSetMessageReactionExtResp {
callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID}
log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String())
req := cbApi.CallbackBeforeSetMessageReactionExtReq{
OperationID: setReq.OperationID,
CallbackCommand: constant.CallbackBeforeSetMessageReactionExtensionCommand,
SourceID: setReq.SourceID,
OpUserID: setReq.OpUserID,
SessionType: setReq.SessionType,
ReactionExtensionList: setReq.ReactionExtensionList,
ClientMsgID: setReq.ClientMsgID,
IsReact: setReq.IsReact,
IsExternalExtensions: setReq.IsExternalExtensions,
MsgFirstModifyTime: setReq.MsgFirstModifyTime,
}
resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp}
defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp)
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil {
resp := &cbApi.CallbackBeforeSetMessageReactionExtResp{CommonCallbackResp: &callbackResp}
defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp)
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSetMessageReactionExtensionCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil {
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()
return callbackResp
}
return callbackResp
return resp
}
func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp {
commonCallbackReq.CallbackCommand = constant.CallbackBeforeSendSingleMsgCommand
req := cbApi.CallbackBeforeSendSingleMsgReq{
CommonCallbackReq: commonCallbackReq,
RecvID: msg.MsgData.RecvID,
}
resp := &cbApi.CallbackBeforeSendSingleMsgResp{
CommonCallbackResp: &callbackResp,
func callbackDeleteMessageReactionExtensions(setReq *msg.DeleteMessageListReactionExtensionsReq) *cbApi.CallbackDeleteMessageReactionExtResp {
callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID}
log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String())
req := cbApi.CallbackDeleteMessageReactionExtReq{
OperationID: setReq.OperationID,
CallbackCommand: constant.CallbackBeforeDeleteMessageReactionExtensionsCommand,
SourceID: setReq.SourceID,
OpUserID: setReq.OpUserID,
SessionType: setReq.SessionType,
ReactionExtensionList: setReq.ReactionExtensionList,
ClientMsgID: setReq.ClientMsgID,
IsExternalExtensions: setReq.IsExternalExtensions,
MsgFirstModifyTime: setReq.MsgFirstModifyTime,
}
//utils.CopyStructFields(req, msg.MsgData)
defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp)
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackTimeOut); err != nil {
resp := &cbApi.CallbackDeleteMessageReactionExtResp{CommonCallbackResp: &callbackResp}
defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp)
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeDeleteMessageReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil {
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()
if !config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackFailedContinue {
callbackResp.ActionCode = constant.ActionForbidden
return callbackResp
} else {
callbackResp.ActionCode = constant.ActionAllow
return callbackResp
}
}
return callbackResp
return resp
}

@ -110,6 +110,7 @@ type DeleteMessageReactionExtensionsReq struct {
SourceID string `json:"sourceID" binding:"required"`
SessionType int32 `json:"sessionType" binding:"required"`
ClientMsgID string `json:"clientMsgID" binding:"required"`
IsExternalExtensions bool `json:"isExternalExtensions"`
MsgFirstModifyTime int64 `json:"msgFirstModifyTime" binding:"required"`
ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList" binding:"required"`
}

@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{0}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{0}
}
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{1}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{1}
}
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{2}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{2}
}
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} }
func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMongoByMQ) ProtoMessage() {}
func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{3}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{3}
}
func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b)
@ -273,7 +273,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{4}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{4}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -321,7 +321,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{5}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{5}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{6}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{6}
}
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{7}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{7}
}
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} }
func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) }
func (*ClearMsgReq) ProtoMessage() {}
func (*ClearMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{8}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{8}
}
func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b)
@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} }
func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) }
func (*ClearMsgResp) ProtoMessage() {}
func (*ClearMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{9}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{9}
}
func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b)
@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} }
func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqReq) ProtoMessage() {}
func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{10}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{10}
}
func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b)
@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} }
func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*SetMsgMinSeqResp) ProtoMessage() {}
func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{11}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{11}
}
func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b)
@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} }
func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusReq) ProtoMessage() {}
func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{12}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{12}
}
func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b)
@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} }
func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*SetSendMsgStatusResp) ProtoMessage() {}
func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{13}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{13}
}
func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b)
@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} }
func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusReq) ProtoMessage() {}
func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{14}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{14}
}
func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b)
@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} }
func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) }
func (*GetSendMsgStatusResp) ProtoMessage() {}
func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{15}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{15}
}
func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b)
@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} }
func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgReq) ProtoMessage() {}
func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{16}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{16}
}
func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b)
@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} }
func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*DelSuperGroupMsgResp) ProtoMessage() {}
func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{17}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{17}
}
func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b)
@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} }
func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgReq) ProtoMessage() {}
func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{18}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{18}
}
func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b)
@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} }
func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetSuperGroupMsgResp) ProtoMessage() {}
func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{19}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{19}
}
func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b)
@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} }
func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgReq) ProtoMessage() {}
func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{20}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{20}
}
func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b)
@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} }
func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) }
func (*GetWriteDiffMsgResp) ProtoMessage() {}
func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{21}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{21}
}
func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b)
@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag
func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{22}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{22}
}
func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact
func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsReq) ProtoMessage() {}
func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{23}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{23}
}
func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b)
@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac
func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*SetMessageReactionExtensionsResp) ProtoMessage() {}
func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{24}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{24}
}
func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL
func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsReq) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{25}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{25}
}
func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string
}
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {}
func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{25, 0}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{25, 0}
}
func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b)
@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage
func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*GetMessageListReactionExtensionsResp) ProtoMessage() {}
func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{26}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{26}
}
func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten
func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) }
func (*SingleMessageExtensionResult) ProtoMessage() {}
func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{27}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{27}
}
func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b)
@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa
func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {}
func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{28}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{28}
}
func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b)
@ -1827,8 +1827,9 @@ type DeleteMessageListReactionExtensionsReq struct {
SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"`
SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,7,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"`
IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"`
MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"`
ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -1840,7 +1841,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() {
func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{29}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{29}
}
func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b)
@ -1895,6 +1896,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetClientMsgID() string {
return ""
}
func (m *DeleteMessageListReactionExtensionsReq) GetIsExternalExtensions() bool {
if m != nil {
return m.IsExternalExtensions
}
return false
}
func (m *DeleteMessageListReactionExtensionsReq) GetMsgFirstModifyTime() int64 {
if m != nil {
return m.MsgFirstModifyTime
@ -1924,7 +1932,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() {
func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) }
func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {}
func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{30}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{30}
}
func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b)
@ -1978,7 +1986,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} }
func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) }
func (*ExtendMsgResp) ProtoMessage() {}
func (*ExtendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{31}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{31}
}
func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b)
@ -2034,7 +2042,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} }
func (m *ExtendMsg) String() string { return proto.CompactTextString(m) }
func (*ExtendMsg) ProtoMessage() {}
func (*ExtendMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{32}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{32}
}
func (m *ExtendMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ExtendMsg.Unmarshal(m, b)
@ -2102,7 +2110,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} }
func (m *KeyValueResp) String() string { return proto.CompactTextString(m) }
func (*KeyValueResp) ProtoMessage() {}
func (*KeyValueResp) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{33}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{33}
}
func (m *KeyValueResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyValueResp.Unmarshal(m, b)
@ -2156,7 +2164,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} }
func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToModifyByMQ) ProtoMessage() {}
func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_msg_6246423db34ea762, []int{34}
return fileDescriptor_msg_4f5a59ae8be91efc, []int{34}
}
func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b)
@ -2776,113 +2784,113 @@ var _Msg_serviceDesc = grpc.ServiceDesc{
Metadata: "msg/msg.proto",
}
func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6246423db34ea762) }
func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_4f5a59ae8be91efc) }
var fileDescriptor_msg_6246423db34ea762 = []byte{
// 1668 bytes of a gzipped FileDescriptorProto
var fileDescriptor_msg_4f5a59ae8be91efc = []byte{
// 1672 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6,
0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3,
0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94,
0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1,
0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x2e, 0xbb,
0x28, 0xfa, 0x20, 0x7d, 0x87, 0xa2, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x59, 0xb4, 0x5c, 0x04, 0x29,
0xd0, 0x9d, 0xce, 0xf0, 0xcc, 0x99, 0xef, 0x3b, 0xe7, 0x9b, 0xe1, 0xf0, 0x08, 0xe6, 0xbb, 0xc4,
0x5a, 0xeb, 0x12, 0xab, 0xe6, 0xf9, 0x6e, 0xe0, 0x22, 0xa5, 0x4b, 0x2c, 0xb5, 0xba, 0xed, 0x61,
0xe7, 0xee, 0x96, 0x7e, 0xb7, 0x89, 0xfd, 0x97, 0xd8, 0x5f, 0xf3, 0x0e, 0xac, 0x35, 0xf6, 0x78,
0x8d, 0xb4, 0x0f, 0xf6, 0x8e, 0xc8, 0xda, 0x11, 0xe1, 0xee, 0x6a, 0x6d, 0xac, 0xa7, 0x6f, 0x7a,
0x1e, 0xf6, 0x43, 0x7f, 0xed, 0x33, 0x28, 0xe9, 0xc4, 0xaa, 0x9b, 0x81, 0xb9, 0xeb, 0xea, 0x3b,
0x68, 0x19, 0x0a, 0x81, 0x7b, 0x80, 0x9d, 0xb2, 0x54, 0x91, 0xaa, 0xb3, 0x06, 0x37, 0x50, 0x05,
0x4a, 0xae, 0x87, 0x7d, 0x33, 0xb0, 0x5d, 0x67, 0xab, 0x5e, 0x96, 0xd9, 0x33, 0x71, 0x08, 0xfd,
0x0f, 0xa6, 0xbb, 0x3c, 0x4c, 0x59, 0xa9, 0x48, 0xd5, 0xd2, 0xba, 0x5a, 0x23, 0x0c, 0xc0, 0x9e,
0xe9, 0xd9, 0x7b, 0x9e, 0xe9, 0x9b, 0x5d, 0x52, 0x0b, 0x17, 0x32, 0x06, 0xae, 0x1a, 0x16, 0x16,
0xaf, 0x6f, 0x88, 0x41, 0xa4, 0xdc, 0x41, 0xc6, 0x83, 0xd3, 0x5e, 0x49, 0xb0, 0xf0, 0xb4, 0x47,
0x5e, 0x88, 0x44, 0x2b, 0x50, 0xda, 0x16, 0x66, 0x71, 0xba, 0xe2, 0x90, 0x88, 0x46, 0xce, 0x8f,
0x46, 0x83, 0x39, 0xaf, 0x47, 0x5e, 0xec, 0xba, 0x1f, 0x10, 0xec, 0x6f, 0xd5, 0x59, 0x36, 0x66,
0x8d, 0xc8, 0x98, 0xf6, 0xa3, 0x04, 0x68, 0x84, 0xc5, 0x75, 0x2c, 0x77, 0xa3, 0xaf, 0xef, 0xa0,
0x32, 0x4c, 0x77, 0x4c, 0x12, 0x34, 0xf1, 0x21, 0x83, 0x33, 0x65, 0x0c, 0x4c, 0x74, 0x0d, 0xe6,
0x4d, 0xcb, 0xf2, 0xb1, 0x15, 0x25, 0x19, 0x1d, 0x44, 0xeb, 0x50, 0xea, 0x62, 0x42, 0x4c, 0x0b,
0xbf, 0x67, 0x93, 0xa0, 0xac, 0x54, 0x94, 0x6a, 0x69, 0x7d, 0xb1, 0x46, 0xa5, 0x24, 0x30, 0x37,
0x44, 0x27, 0xb4, 0x0a, 0xb3, 0x81, 0x6f, 0x5b, 0x16, 0xc3, 0x3a, 0xc5, 0xa2, 0x8e, 0x06, 0xb4,
0xf7, 0x01, 0x35, 0x70, 0xa0, 0x9b, 0xc7, 0x0f, 0x9d, 0xb6, 0x6e, 0x3b, 0x4d, 0x7c, 0x68, 0xe0,
0x43, 0xb4, 0x02, 0xc5, 0x90, 0x1c, 0xcf, 0x5a, 0x68, 0xc5, 0x53, 0x2a, 0x27, 0x52, 0xaa, 0x1d,
0xc1, 0x52, 0x22, 0x1e, 0xf1, 0x28, 0xf1, 0x4d, 0xdf, 0x7f, 0xe4, 0xb6, 0x31, 0x8b, 0x58, 0x30,
0x06, 0x26, 0x5d, 0x6a, 0xd3, 0xf7, 0x75, 0x62, 0x85, 0xd1, 0x42, 0x8b, 0x8e, 0xeb, 0xe6, 0x31,
0xcd, 0x14, 0xcd, 0xef, 0xbc, 0x11, 0x5a, 0x6c, 0x9c, 0xc5, 0x65, 0x5c, 0xe8, 0x38, 0xb3, 0xb4,
0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x3e, 0x40,
0xd1, 0x07, 0xe9, 0x33, 0xb4, 0x28, 0x66, 0x86, 0x92, 0x86, 0x7f, 0x16, 0x2d, 0x17, 0x41, 0x0a,
0x74, 0xa7, 0x99, 0x39, 0x73, 0xe6, 0xfb, 0xce, 0xf9, 0xe6, 0x87, 0x47, 0x30, 0xdf, 0x25, 0xd6,
0x5a, 0x97, 0x58, 0x35, 0xcf, 0x77, 0x03, 0x17, 0x29, 0x5d, 0x62, 0xa9, 0xd5, 0x6d, 0x0f, 0x3b,
0x77, 0xb7, 0xf4, 0xbb, 0x4d, 0xec, 0xbf, 0xc4, 0xfe, 0x9a, 0x77, 0x60, 0xad, 0xb1, 0xe1, 0x35,
0xd2, 0x3e, 0xd8, 0x3b, 0x22, 0x6b, 0x47, 0x84, 0x9b, 0xab, 0xb5, 0xb1, 0x96, 0xbe, 0xe9, 0x79,
0xd8, 0x0f, 0xed, 0xb5, 0xcf, 0xa0, 0xa4, 0x13, 0xab, 0x6e, 0x06, 0xe6, 0xae, 0xab, 0xef, 0xa0,
0x65, 0x28, 0x04, 0xee, 0x01, 0x76, 0xca, 0x52, 0x45, 0xaa, 0xce, 0x1a, 0xbc, 0x81, 0x2a, 0x50,
0x72, 0x3d, 0xec, 0x9b, 0x81, 0xed, 0x3a, 0x5b, 0xf5, 0xb2, 0xcc, 0xc6, 0xc4, 0x2e, 0xf4, 0x3f,
0x98, 0xee, 0x72, 0x37, 0x65, 0xa5, 0x22, 0x55, 0x4b, 0xeb, 0x6a, 0x8d, 0x30, 0x00, 0x7b, 0xa6,
0x67, 0xef, 0x79, 0xa6, 0x6f, 0x76, 0x49, 0x2d, 0x5c, 0xc8, 0x18, 0x98, 0x6a, 0x58, 0x58, 0xbc,
0xbe, 0x21, 0x3a, 0x91, 0x72, 0x3b, 0x19, 0x0f, 0x4e, 0x7b, 0x25, 0xc1, 0xc2, 0xd3, 0x1e, 0x79,
0x21, 0x12, 0xad, 0x40, 0x69, 0x5b, 0x98, 0xc5, 0xe9, 0x8a, 0x5d, 0x22, 0x1a, 0x39, 0x3f, 0x1a,
0x0d, 0xe6, 0xbc, 0x1e, 0x79, 0xb1, 0xeb, 0x7e, 0x40, 0xb0, 0xbf, 0x55, 0x67, 0xd1, 0x98, 0x35,
0x22, 0x7d, 0xda, 0x8f, 0x12, 0xa0, 0x11, 0x16, 0xd7, 0xb1, 0xdc, 0x8d, 0xbe, 0xbe, 0x83, 0xca,
0x30, 0xdd, 0x31, 0x49, 0xd0, 0xc4, 0x87, 0x0c, 0xce, 0x94, 0x31, 0x68, 0xa2, 0x6b, 0x30, 0x6f,
0x5a, 0x96, 0x8f, 0xad, 0x28, 0xc9, 0x68, 0x27, 0x5a, 0x87, 0x52, 0x17, 0x13, 0x62, 0x5a, 0xf8,
0x3d, 0x9b, 0x04, 0x65, 0xa5, 0xa2, 0x54, 0x4b, 0xeb, 0x8b, 0x35, 0x2a, 0x25, 0x81, 0xb9, 0x21,
0x1a, 0xa1, 0x55, 0x98, 0x0d, 0x7c, 0xdb, 0xb2, 0x18, 0xd6, 0x29, 0xe6, 0x75, 0xd4, 0xa1, 0xbd,
0x0f, 0xa8, 0x81, 0x03, 0xdd, 0x3c, 0x7e, 0xe8, 0xb4, 0x75, 0xdb, 0x69, 0xe2, 0x43, 0x03, 0x1f,
0xa2, 0x15, 0x28, 0x86, 0xe4, 0x78, 0xd4, 0xc2, 0x56, 0x3c, 0xa4, 0x72, 0x22, 0xa4, 0xda, 0x11,
0x2c, 0x25, 0xfc, 0x11, 0x8f, 0x12, 0xdf, 0xf4, 0xfd, 0x47, 0x6e, 0x1b, 0x33, 0x8f, 0x05, 0x63,
0xd0, 0xa4, 0x4b, 0x6d, 0xfa, 0xbe, 0x4e, 0xac, 0xd0, 0x5b, 0xd8, 0xa2, 0xfd, 0xba, 0x79, 0x4c,
0x23, 0x45, 0xe3, 0x3b, 0x6f, 0x84, 0x2d, 0xd6, 0xcf, 0xfc, 0x32, 0x2e, 0xb4, 0x9f, 0xb5, 0xb4,
0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34,
0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0x72, 0x8b, 0x22, 0xe3, 0xeb,
0xe8, 0xc4, 0x1a, 0x96, 0x49, 0x1c, 0xa2, 0x1e, 0xad, 0x8e, 0x8d, 0x9d, 0x80, 0x7b, 0x14, 0xb8,
0x87, 0x30, 0x84, 0x54, 0x98, 0x21, 0xd8, 0x69, 0xef, 0xda, 0x5d, 0x5c, 0x2e, 0x56, 0xa4, 0xaa,
0x62, 0x0c, 0x6d, 0xad, 0x05, 0xa5, 0x47, 0x1d, 0x6c, 0xfa, 0x61, 0x7a, 0x56, 0xa0, 0xd8, 0x8b,
0xd4, 0x97, 0x5b, 0x34, 0x84, 0xeb, 0x85, 0x95, 0xe7, 0x00, 0x87, 0x76, 0x3c, 0x79, 0x4a, 0x72,
0x13, 0x3e, 0x80, 0xb9, 0xd1, 0x22, 0x93, 0xa4, 0x41, 0xfb, 0x5e, 0x82, 0x85, 0x26, 0xa6, 0x7c,
0x22, 0x5a, 0x4c, 0xc5, 0x5a, 0x86, 0x69, 0xcb, 0x77, 0x7b, 0xde, 0x10, 0xea, 0xc0, 0xa4, 0x33,
0xba, 0x5c, 0x22, 0xa1, 0x74, 0xb8, 0x15, 0x67, 0x30, 0x95, 0x2c, 0xbf, 0xc8, 0xbf, 0x10, 0xe5,
0xaf, 0xd5, 0x61, 0x31, 0x0a, 0x6d, 0x22, 0x86, 0xdb, 0xb0, 0xd4, 0xc4, 0x41, 0x28, 0x96, 0x66,
0x60, 0x06, 0x3d, 0x62, 0x24, 0xa1, 0x49, 0x49, 0x68, 0x2b, 0x50, 0x24, 0xcc, 0x9d, 0x05, 0x2c,
0x18, 0xa1, 0xa5, 0x3d, 0x86, 0xe5, 0x64, 0xc0, 0x89, 0xa0, 0xdd, 0x63, 0x5b, 0xf7, 0xf4, 0xd0,
0xb4, 0x67, 0xb0, 0xdc, 0xf8, 0x4b, 0x20, 0x08, 0x24, 0x95, 0x08, 0xc9, 0xaf, 0x24, 0x58, 0xaa,
0xe3, 0x4e, 0xb3, 0xe7, 0x61, 0xbf, 0x41, 0xab, 0x1c, 0xea, 0x58, 0xac, 0x97, 0x14, 0xd3, 0xeb,
0x48, 0x37, 0x72, 0x96, 0x6e, 0x94, 0xa8, 0x6e, 0xc6, 0xea, 0x83, 0x26, 0x3b, 0x09, 0x63, 0xa2,
0x64, 0xb7, 0x78, 0xb2, 0xe3, 0x84, 0xc6, 0xeb, 0x60, 0x11, 0x14, 0xaa, 0x6c, 0x99, 0x29, 0x9b,
0xfe, 0xcc, 0x26, 0xa4, 0x7d, 0xc9, 0x0b, 0x73, 0x76, 0xb8, 0x13, 0x9e, 0x8b, 0x8f, 0xd9, 0xcb,
0xe5, 0x23, 0xdf, 0x0e, 0x70, 0xdd, 0xde, 0xdf, 0x9f, 0x9c, 0xa3, 0xf6, 0x05, 0x4b, 0x57, 0x34,
0xd2, 0x6b, 0x24, 0xf2, 0x5d, 0x01, 0x34, 0xdd, 0x6d, 0xdb, 0xfb, 0x7d, 0x9d, 0xbf, 0x59, 0x0d,
0x6c, 0xb6, 0x28, 0xd8, 0xcd, 0xe3, 0x00, 0x3b, 0xc4, 0x76, 0x9d, 0x9c, 0xbb, 0x98, 0x9e, 0xd1,
0x6e, 0xcf, 0x6f, 0xe1, 0xd1, 0x01, 0x3b, 0xb0, 0x23, 0x62, 0x56, 0x92, 0x87, 0x2f, 0xc1, 0x84,
0x2e, 0xb4, 0xdb, 0xf7, 0x30, 0x93, 0x66, 0xc1, 0x10, 0x87, 0xd0, 0x31, 0x5c, 0xf0, 0xe3, 0xa0,
0xd8, 0x25, 0xa1, 0xc0, 0x2e, 0x09, 0x1b, 0xfc, 0x92, 0x30, 0x96, 0x43, 0xcd, 0x48, 0x0b, 0xb2,
0xe9, 0x04, 0x7e, 0xdf, 0x48, 0x5f, 0x20, 0xfe, 0x66, 0x2a, 0x26, 0xdf, 0x4c, 0x77, 0x40, 0xc6,
0xc7, 0xe5, 0x69, 0x96, 0xef, 0xd5, 0x9a, 0xe5, 0xba, 0x56, 0x07, 0xf3, 0xcb, 0xe9, 0xf3, 0xde,
0x7e, 0xad, 0x19, 0xf8, 0xb6, 0x63, 0x7d, 0x68, 0x76, 0x7a, 0xd8, 0x90, 0xf1, 0x31, 0x7a, 0x00,
0x73, 0x66, 0x10, 0x98, 0xad, 0x17, 0xb8, 0xbd, 0xe5, 0xec, 0xbb, 0xe5, 0x99, 0x1c, 0xf3, 0x22,
0x33, 0xa8, 0x2c, 0x6c, 0xc2, 0x88, 0x94, 0x67, 0x2b, 0x52, 0x75, 0xc6, 0x18, 0x98, 0x68, 0x1d,
0x96, 0x6d, 0x42, 0xe1, 0xfb, 0x8e, 0xd9, 0x19, 0x11, 0x2f, 0x03, 0x73, 0x4b, 0x7d, 0x86, 0x6a,
0x80, 0xba, 0xc4, 0x7a, 0xd7, 0xf6, 0x49, 0xc0, 0xf3, 0xc7, 0xde, 0xb0, 0x25, 0xf6, 0x86, 0x4d,
0x79, 0xa2, 0x62, 0x50, 0xb3, 0x93, 0x48, 0xb5, 0x7d, 0x80, 0xfb, 0xa1, 0x36, 0xe8, 0x4f, 0xf4,
0x1f, 0x28, 0xbc, 0xa4, 0x24, 0xc2, 0x3b, 0xe8, 0xa5, 0x14, 0x41, 0x3e, 0xc1, 0x7d, 0xce, 0x93,
0x7b, 0xbe, 0x25, 0xff, 0x5f, 0xd2, 0xbe, 0x2d, 0xc0, 0x65, 0xfa, 0x42, 0x7a, 0x53, 0x05, 0xd9,
0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x5d,
0x82, 0xca, 0xc9, 0xc5, 0x9c, 0xf4, 0x5e, 0x2c, 0x56, 0x53, 0x49, 0x56, 0x33, 0x3d, 0x1f, 0x53,
0x59, 0xf9, 0x10, 0xab, 0x51, 0x88, 0x56, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c,
0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x0e, 0xda, 0x1f, 0x32, 0x5c,
0x6d, 0x0c, 0xd9, 0xd2, 0x74, 0x9e, 0x61, 0xff, 0x65, 0xde, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6,
0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xad, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46,
0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x08, 0x63, 0x64, 0x84, 0x56, 0xf7, 0x01, 0x25, 0xbd, 0xe3, 0x55,
0x94, 0xf2, 0x56, 0x51, 0xce, 0xaa, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72,
0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0xf2, 0x16, 0x45, 0xc6, 0xd7,
0xd1, 0x89, 0x35, 0x4c, 0x93, 0xd8, 0x45, 0x2d, 0x5a, 0x1d, 0x1b, 0x3b, 0x01, 0xb7, 0x28, 0x70,
0x0b, 0xa1, 0x0b, 0xa9, 0x30, 0x43, 0xb0, 0xd3, 0xde, 0xb5, 0xbb, 0xb8, 0x5c, 0xac, 0x48, 0x55,
0xc5, 0x18, 0xb6, 0xb5, 0x16, 0x94, 0x1e, 0x75, 0xb0, 0xe9, 0x87, 0xe1, 0x59, 0x81, 0x62, 0x2f,
0x92, 0x5f, 0xde, 0xa2, 0x2e, 0x5c, 0x2f, 0xcc, 0x3c, 0x07, 0x38, 0x6c, 0xc7, 0x83, 0xa7, 0x24,
0x37, 0xe1, 0x03, 0x98, 0x1b, 0x2d, 0x32, 0x49, 0x18, 0xb4, 0xef, 0x25, 0x58, 0x68, 0x62, 0xca,
0x27, 0xa2, 0xc5, 0x54, 0xac, 0x65, 0x98, 0xb6, 0x7c, 0xb7, 0xe7, 0x0d, 0xa1, 0x0e, 0x9a, 0x74,
0x46, 0x97, 0x4b, 0x24, 0x94, 0x0e, 0x6f, 0xc5, 0x19, 0x4c, 0x25, 0xd3, 0x2f, 0xf2, 0x2f, 0x44,
0xf9, 0x6b, 0x75, 0x58, 0x8c, 0x42, 0x9b, 0x88, 0xe1, 0x36, 0x2c, 0x35, 0x71, 0x10, 0x8a, 0xa5,
0x19, 0x98, 0x41, 0x8f, 0x18, 0x49, 0x68, 0x52, 0x12, 0xda, 0x0a, 0x14, 0x09, 0x33, 0x67, 0x0e,
0x0b, 0x46, 0xd8, 0xd2, 0x1e, 0xc3, 0x72, 0xd2, 0xe1, 0x44, 0xd0, 0xee, 0xb1, 0xad, 0x7b, 0x7a,
0x68, 0xda, 0x33, 0x58, 0x6e, 0xfc, 0x25, 0x10, 0x04, 0x92, 0x4a, 0x84, 0xe4, 0x57, 0x12, 0x2c,
0xd5, 0x71, 0xa7, 0xd9, 0xf3, 0xb0, 0xdf, 0xa0, 0x59, 0x0e, 0x75, 0x2c, 0xe6, 0x4b, 0x8a, 0xe9,
0x75, 0xa4, 0x1b, 0x39, 0x4b, 0x37, 0x4a, 0x54, 0x37, 0x63, 0xf5, 0x41, 0x83, 0x9d, 0x84, 0x31,
0x51, 0xb0, 0x5b, 0x3c, 0xd8, 0x71, 0x42, 0xe3, 0x75, 0xb0, 0x08, 0x0a, 0x55, 0xb6, 0xcc, 0x94,
0x4d, 0x7f, 0x66, 0x13, 0xd2, 0xbe, 0xe4, 0x89, 0x39, 0x3b, 0xdc, 0x09, 0xcf, 0xc5, 0xc7, 0xec,
0x72, 0xf9, 0xc8, 0xb7, 0x03, 0x5c, 0xb7, 0xf7, 0xf7, 0x27, 0xe7, 0xa8, 0x7d, 0xc1, 0xc2, 0x15,
0xf5, 0xf4, 0x1a, 0x89, 0x7c, 0x57, 0x00, 0x4d, 0x77, 0xdb, 0xf6, 0x7e, 0x5f, 0xe7, 0x37, 0xab,
0x81, 0xcd, 0x16, 0x05, 0xbb, 0x79, 0x1c, 0x60, 0x87, 0xd8, 0xae, 0x93, 0x73, 0x17, 0xd3, 0x33,
0xda, 0xed, 0xf9, 0x2d, 0x3c, 0x3a, 0x60, 0x07, 0xed, 0x88, 0x98, 0x95, 0xe4, 0xe1, 0x4b, 0x30,
0xa1, 0x0b, 0xed, 0xf6, 0x3d, 0xcc, 0xa4, 0x59, 0x30, 0xc4, 0x2e, 0x74, 0x0c, 0x17, 0xfc, 0x38,
0x28, 0xf6, 0x48, 0x28, 0xb0, 0x47, 0xc2, 0x06, 0x7f, 0x24, 0x8c, 0xe5, 0x50, 0x33, 0xd2, 0x9c,
0x6c, 0x3a, 0x81, 0xdf, 0x37, 0xd2, 0x17, 0x88, 0xdf, 0x4c, 0xc5, 0xe4, 0xcd, 0x74, 0x07, 0x64,
0x7c, 0x5c, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x59, 0xae, 0x6b, 0x75, 0x30, 0x7f, 0x9c, 0x3e, 0xef,
0xed, 0xd7, 0x9a, 0x81, 0x6f, 0x3b, 0xd6, 0x87, 0x66, 0xa7, 0x87, 0x0d, 0x19, 0x1f, 0xa3, 0x07,
0x30, 0x67, 0x06, 0x81, 0xd9, 0x7a, 0x81, 0xdb, 0x5b, 0xce, 0xbe, 0x5b, 0x9e, 0xc9, 0x31, 0x2f,
0x32, 0x83, 0xca, 0xc2, 0x26, 0x8c, 0x48, 0x79, 0xb6, 0x22, 0x55, 0x67, 0x8c, 0x41, 0x13, 0xad,
0xc3, 0xb2, 0x4d, 0x28, 0x7c, 0xdf, 0x31, 0x3b, 0x23, 0xe2, 0x65, 0x60, 0x66, 0xa9, 0x63, 0xa8,
0x06, 0xa8, 0x4b, 0xac, 0x77, 0x6d, 0x9f, 0x04, 0x3c, 0x7e, 0xec, 0x86, 0x2d, 0xb1, 0x1b, 0x36,
0x65, 0x44, 0xc5, 0xa0, 0x66, 0x07, 0x91, 0x6a, 0xfb, 0x00, 0xf7, 0x43, 0x6d, 0xd0, 0x9f, 0xe8,
0x3f, 0x50, 0x78, 0x49, 0x49, 0x84, 0x6f, 0xd0, 0x4b, 0x29, 0x82, 0x7c, 0x82, 0xfb, 0x9c, 0x27,
0xb7, 0x7c, 0x4b, 0xfe, 0xbf, 0xa4, 0x7d, 0x5b, 0x80, 0xcb, 0xf4, 0x42, 0x7a, 0x53, 0x05, 0xd9,
0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x4d,
0x82, 0xca, 0xc9, 0xc9, 0x9c, 0xf4, 0x5d, 0x2c, 0x66, 0x53, 0x49, 0x66, 0x33, 0x3d, 0x1e, 0x53,
0x59, 0xf1, 0x10, 0xb3, 0x51, 0x88, 0x66, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c,
0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x06, 0xda, 0x1f, 0x32, 0x5c,
0x6d, 0x0c, 0xd9, 0xd2, 0x70, 0x9e, 0x61, 0xff, 0x65, 0xbe, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6,
0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xcd, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46,
0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x70, 0x63, 0x64, 0xb8, 0x56, 0xf7, 0x01, 0x25, 0xad, 0xe3, 0x59,
0x94, 0xf2, 0x66, 0x51, 0xce, 0xca, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72,
0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f,
0x2d, 0xf1, 0xf9, 0x70, 0x41, 0xee, 0x68, 0xa4, 0xcd, 0xd6, 0x7e, 0x95, 0x61, 0xf5, 0xa4, 0x59,
0x13, 0xe0, 0xf4, 0xb3, 0xce, 0x57, 0x8e, 0xf4, 0xed, 0xb1, 0x48, 0xcf, 0x7e, 0xb8, 0x4e, 0x25,
0x0a, 0xf9, 0xba, 0x8e, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, 0xe1, 0x05, 0xb1, 0x44,
0x7a, 0xad, 0x16, 0x26, 0x44, 0x48, 0x26, 0x62, 0xc9, 0x64, 0xb1, 0x07, 0x1f, 0xf9, 0x86, 0xe8,
0x86, 0xd6, 0x01, 0xf6, 0x4d, 0xbb, 0x83, 0xdb, 0x6c, 0xd2, 0x54, 0xe6, 0x24, 0xc1, 0x4b, 0xfb,
0x45, 0x86, 0x1b, 0x75, 0xdc, 0xc1, 0x01, 0x7e, 0xa3, 0xcf, 0x91, 0xf1, 0x8d, 0x87, 0xf4, 0xcd,
0x5b, 0xcc, 0x3c, 0x82, 0x77, 0xb2, 0x94, 0x3b, 0xcd, 0xf2, 0x76, 0xa2, 0x06, 0xd2, 0x67, 0x6a,
0x5f, 0x4b, 0x70, 0x33, 0x57, 0x2e, 0x27, 0xd2, 0xc4, 0x29, 0xde, 0x0c, 0x2e, 0xcc, 0x47, 0x2a,
0x8e, 0xee, 0xc0, 0x2c, 0x1e, 0x0c, 0x84, 0x3d, 0xcf, 0x73, 0x31, 0x61, 0x8c, 0x1c, 0x44, 0x6c,
0x72, 0x16, 0x36, 0x25, 0xf2, 0x21, 0xf9, 0x9b, 0x0c, 0xb3, 0xc3, 0x50, 0x68, 0x2f, 0x2b, 0xb5,
0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x00, 0x39, 0xaf, 0x1a, 0x94, 0x4c, 0x35, 0x68,
0xb1, 0x0b, 0x16, 0x3f, 0x54, 0xa2, 0x57, 0xa8, 0x73, 0xec, 0xca, 0xc6, 0xa5, 0x27, 0xe3, 0x63,
0xf5, 0x93, 0x53, 0x9e, 0x32, 0x37, 0xa3, 0xa7, 0x4c, 0x4a, 0xfd, 0x84, 0xb3, 0xa5, 0x0f, 0x73,
0xe2, 0x23, 0x74, 0x0f, 0x66, 0x0e, 0x42, 0x3b, 0x2c, 0xe0, 0x89, 0x0a, 0x1d, 0x3a, 0x4f, 0x50,
0xcc, 0x57, 0x12, 0x2c, 0x09, 0x6d, 0x63, 0x9a, 0x23, 0xd6, 0x37, 0x4e, 0x74, 0x87, 0xa5, 0x1c,
0xdd, 0x61, 0xf9, 0xd4, 0xdd, 0x61, 0x25, 0xd6, 0x1d, 0x5e, 0xff, 0x06, 0x40, 0xe9, 0x12, 0x0b,
0x3d, 0x83, 0x85, 0x58, 0x57, 0x17, 0x5d, 0x4f, 0xc9, 0x41, 0xb2, 0x93, 0xac, 0xde, 0xc8, 0xe3,
0x46, 0x3c, 0xe4, 0xc2, 0xf2, 0xd3, 0x5e, 0xa7, 0x13, 0xee, 0xde, 0x8d, 0x7e, 0x13, 0x1f, 0x32,
0x7c, 0xff, 0x4e, 0x99, 0x9f, 0xe6, 0x48, 0xd7, 0xba, 0x9d, 0xdb, 0x97, 0xed, 0xcb, 0xe9, 0xb0,
0x63, 0x85, 0x16, 0xc2, 0x4f, 0x91, 0x41, 0xf7, 0x58, 0x5d, 0x8c, 0x0e, 0x10, 0x0f, 0xed, 0x00,
0xd4, 0x71, 0x47, 0x27, 0x16, 0xdf, 0x04, 0x29, 0x0b, 0x8d, 0x1e, 0xd3, 0x08, 0x57, 0xc6, 0x78,
0x10, 0x0f, 0x35, 0x60, 0x31, 0xde, 0x4b, 0x42, 0x65, 0xb6, 0x70, 0x4a, 0xa7, 0x4b, 0xbd, 0x98,
0xf1, 0x84, 0x78, 0x68, 0x0d, 0x66, 0x06, 0x6d, 0x57, 0xc4, 0x91, 0x0b, 0xad, 0x5e, 0xf5, 0x7c,
0x6c, 0x84, 0x78, 0xe8, 0x3e, 0xcc, 0x89, 0x9d, 0x4c, 0xb4, 0x3c, 0xfc, 0x14, 0x13, 0xfa, 0xae,
0xea, 0x85, 0x94, 0x51, 0x0e, 0x3b, 0xde, 0x6f, 0x0c, 0x61, 0xa7, 0xf4, 0x35, 0x43, 0xd8, 0xa9,
0x0d, 0xca, 0x06, 0x2c, 0x36, 0xd2, 0x03, 0x35, 0x32, 0x03, 0x35, 0x4e, 0x08, 0x94, 0x92, 0xc8,
0x94, 0x0e, 0x9b, 0x10, 0x28, 0x91, 0xc8, 0x3a, 0x53, 0xb9, 0xd8, 0x64, 0x42, 0xff, 0x1a, 0x78,
0xc7, 0x9a, 0x58, 0x6a, 0x39, 0xfd, 0x01, 0xf1, 0xd0, 0x01, 0xac, 0x9e, 0xf4, 0x21, 0x84, 0xae,
0xe5, 0xf9, 0xf0, 0x55, 0xaf, 0xe7, 0xf0, 0x22, 0x1e, 0x3a, 0x82, 0xca, 0xb8, 0x6b, 0x30, 0xaa,
0xe6, 0xbd, 0xe8, 0xab, 0xb7, 0x72, 0x7a, 0x12, 0x0f, 0x1d, 0xc2, 0xea, 0xc3, 0x76, 0x3b, 0x9b,
0xe5, 0xcd, 0x9c, 0xfd, 0x26, 0xb5, 0x9a, 0xcf, 0x91, 0x78, 0xe8, 0x73, 0xb8, 0x1c, 0x79, 0xc5,
0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x5c, 0xaa, 0xd4, 0x3b, 0xf9, 0x9d, 0x89, 0xb7, 0x71,
0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x0f, 0xd7, 0x2e, 0xb1, 0xee, 0x77,
0x89, 0xf5, 0xbc, 0xc8, 0xcc, 0xff, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x17, 0x83, 0x0e,
0xd9, 0x1d, 0x00, 0x00,
0x2d, 0x71, 0x7c, 0xb8, 0x20, 0x37, 0x34, 0xd2, 0x66, 0x6b, 0xbf, 0xc8, 0xb0, 0x7a, 0xd2, 0xac,
0x09, 0x70, 0xfa, 0x59, 0xe7, 0x2b, 0x47, 0xfa, 0xf6, 0x58, 0xa4, 0x67, 0x3f, 0x5c, 0xa7, 0x12,
0x89, 0x7c, 0x5d, 0xc7, 0xcd, 0xcf, 0x12, 0x5c, 0x1d, 0xfb, 0x98, 0x99, 0xf0, 0x81, 0x58, 0x22,
0xbd, 0x56, 0x0b, 0x13, 0x22, 0x04, 0x13, 0xb1, 0x60, 0x32, 0xdf, 0x83, 0x8f, 0x7c, 0x43, 0x34,
0x43, 0xeb, 0x00, 0xfb, 0xa6, 0xdd, 0xc1, 0x6d, 0x36, 0x69, 0x2a, 0x73, 0x92, 0x60, 0xa5, 0xfd,
0x2e, 0xc3, 0x8d, 0x3a, 0xee, 0xe0, 0x00, 0xbf, 0xd1, 0xe7, 0xc8, 0xf8, 0xc2, 0x43, 0xd6, 0x35,
0x56, 0x3c, 0xf5, 0x35, 0x36, 0x9d, 0x79, 0x6c, 0xef, 0x64, 0xa9, 0x7d, 0x86, 0xc5, 0xfa, 0x44,
0xdd, 0xa4, 0xcf, 0xd4, 0xbe, 0x96, 0xe0, 0x66, 0xae, 0xf8, 0x4f, 0xa4, 0xa3, 0x53, 0xdc, 0x26,
0x2e, 0xcc, 0x47, 0x54, 0x82, 0xee, 0xc0, 0x2c, 0x1e, 0x74, 0x84, 0x75, 0xd2, 0x73, 0x31, 0x31,
0x8d, 0x0c, 0x44, 0x6c, 0x72, 0x16, 0x36, 0x25, 0xf2, 0xf1, 0xf9, 0xab, 0x0c, 0xb3, 0x43, 0x57,
0x68, 0x2f, 0x2b, 0xb4, 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x0d, 0x39, 0xef, 0xf1,
0xaf, 0x64, 0xaa, 0x41, 0x8b, 0x3d, 0xca, 0xf8, 0x41, 0x14, 0x7d, 0x76, 0x9d, 0x63, 0xcf, 0x3c,
0x2e, 0x57, 0x19, 0x1f, 0xab, 0x9f, 0x9c, 0xf2, 0x64, 0xba, 0x19, 0x3d, 0x99, 0x52, 0xf2, 0x27,
0x9c, 0x47, 0x7d, 0x98, 0x13, 0x87, 0xd0, 0x3d, 0x98, 0x39, 0x08, 0xdb, 0x61, 0x02, 0x4f, 0x54,
0xe8, 0xd0, 0x78, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x28, 0x35, 0xd3, 0x18, 0xb1, 0x5a, 0x73,
0xa2, 0xa2, 0x2c, 0xe5, 0xa8, 0x28, 0xcb, 0xa7, 0xae, 0x28, 0x2b, 0xb1, 0x8a, 0xf2, 0xfa, 0x37,
0x00, 0x4a, 0x97, 0x58, 0xe8, 0x19, 0x2c, 0xc4, 0x2a, 0xc1, 0xe8, 0x7a, 0x4a, 0x0c, 0x92, 0xd5,
0x67, 0xf5, 0x46, 0x1e, 0x33, 0xe2, 0x21, 0x17, 0x96, 0x9f, 0xf6, 0x3a, 0x9d, 0x70, 0xf7, 0x6e,
0xf4, 0x9b, 0xf8, 0x90, 0xe1, 0xfb, 0x77, 0xca, 0xfc, 0x34, 0x43, 0xba, 0xd6, 0xed, 0xdc, 0xb6,
0x6c, 0x5f, 0x4e, 0x87, 0x55, 0x2e, 0xb4, 0x10, 0x7e, 0xbe, 0x0c, 0x2a, 0xce, 0xea, 0x62, 0xb4,
0x83, 0x78, 0x68, 0x07, 0xa0, 0x8e, 0x3b, 0x3a, 0xb1, 0xf8, 0x26, 0x48, 0x59, 0x68, 0x34, 0x4c,
0x3d, 0x5c, 0x19, 0x63, 0x41, 0x3c, 0xd4, 0x80, 0xc5, 0x78, 0xfd, 0x09, 0x95, 0xd9, 0xc2, 0x29,
0xd5, 0x31, 0xf5, 0x62, 0xc6, 0x08, 0xf1, 0xd0, 0x1a, 0xcc, 0x0c, 0x4a, 0xb5, 0x88, 0x23, 0x17,
0xca, 0xc3, 0xea, 0xf9, 0x58, 0x0f, 0xf1, 0xd0, 0x7d, 0x98, 0x13, 0xab, 0x9f, 0x68, 0x79, 0xf8,
0xf9, 0x26, 0xd4, 0x6a, 0xd5, 0x0b, 0x29, 0xbd, 0x1c, 0x76, 0xbc, 0x46, 0x19, 0xc2, 0x4e, 0xa9,
0x85, 0x86, 0xb0, 0x53, 0x8b, 0x9a, 0x0d, 0x58, 0x6c, 0xa4, 0x3b, 0x6a, 0x64, 0x3a, 0x6a, 0x9c,
0xe0, 0x28, 0x25, 0x90, 0x29, 0x55, 0x39, 0xc1, 0x51, 0x22, 0x90, 0x75, 0xa6, 0x72, 0xb1, 0x30,
0x85, 0xfe, 0x35, 0xb0, 0x8e, 0x15, 0xbe, 0xd4, 0x72, 0xfa, 0x00, 0xf1, 0xd0, 0x01, 0xac, 0x9e,
0xf4, 0xf1, 0x84, 0xae, 0xe5, 0xf9, 0x58, 0x56, 0xaf, 0xe7, 0xb0, 0x22, 0x1e, 0x3a, 0x82, 0xca,
0xb8, 0xa7, 0x33, 0xaa, 0xe6, 0xfd, 0x38, 0x50, 0x6f, 0xe5, 0xb4, 0x24, 0x1e, 0x3a, 0x84, 0xd5,
0x87, 0xed, 0x76, 0x36, 0xcb, 0x9b, 0x39, 0x6b, 0x54, 0x6a, 0x35, 0x9f, 0x21, 0xf1, 0xd0, 0xe7,
0x70, 0x39, 0x72, 0xc5, 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x3c, 0xc4, 0xd4, 0x3b, 0xf9,
0x8d, 0x89, 0xb7, 0x71, 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x4f, 0xda,
0x2e, 0xb1, 0xee, 0x77, 0x89, 0xf5, 0xbc, 0xc8, 0x9a, 0xff, 0xfd, 0x33, 0x00, 0x00, 0xff, 0xff,
0xd4, 0xae, 0xa9, 0xee, 0x0d, 0x1e, 0x00, 0x00,
}

@ -228,8 +228,9 @@ message DeleteMessageListReactionExtensionsReq {
string sourceID = 3;
int32 sessionType = 4;
string clientMsgID = 5;
int64 msgFirstModifyTime = 6;
repeated server_api_params.KeyValue reactionExtensionList = 7;
bool isExternalExtensions = 6;
int64 msgFirstModifyTime = 7;
repeated server_api_params.KeyValue reactionExtensionList = 8;
}
message DeleteMessageListReactionExtensionsResp {

Loading…
Cancel
Save