notification

This commit is contained in:
wenxu12345
2021-12-21 21:40:50 +08:00
parent 2876e77a08
commit 75e1e2e678
25 changed files with 2237 additions and 955 deletions
+139 -438
View File
@@ -1,16 +1,12 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: chat/chat.proto
// source: chat.proto
package pbChat // import "./chat"
package pbChat
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
import sdk_ws "Open_IM/pkg/proto/sdk_ws"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
@@ -50,7 +46,7 @@ func (m *WSToMsgSvrChatMsg) Reset() { *m = WSToMsgSvrChatMsg{} }
func (m *WSToMsgSvrChatMsg) String() string { return proto.CompactTextString(m) }
func (*WSToMsgSvrChatMsg) ProtoMessage() {}
func (*WSToMsgSvrChatMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{0}
return fileDescriptor_chat_955d1f0dcca586dd, []int{0}
}
func (m *WSToMsgSvrChatMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WSToMsgSvrChatMsg.Unmarshal(m, b)
@@ -215,7 +211,7 @@ func (m *MsgSvrToPushSvrChatMsg) Reset() { *m = MsgSvrToPushSvrChatMsg{}
func (m *MsgSvrToPushSvrChatMsg) String() string { return proto.CompactTextString(m) }
func (*MsgSvrToPushSvrChatMsg) ProtoMessage() {}
func (*MsgSvrToPushSvrChatMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{1}
return fileDescriptor_chat_955d1f0dcca586dd, []int{1}
}
func (m *MsgSvrToPushSvrChatMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgSvrToPushSvrChatMsg.Unmarshal(m, b)
@@ -361,7 +357,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage() {}
func (*PullMessageReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{2}
return fileDescriptor_chat_955d1f0dcca586dd, []int{2}
}
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
@@ -425,7 +421,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage() {}
func (*PullMessageResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{3}
return fileDescriptor_chat_955d1f0dcca586dd, []int{3}
}
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
@@ -500,7 +496,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{4}
return fileDescriptor_chat_955d1f0dcca586dd, []int{4}
}
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@@ -553,7 +549,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_chat_163a8d226aa6edb5, []int{5}
return fileDescriptor_chat_955d1f0dcca586dd, []int{5}
}
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@@ -601,7 +597,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_chat_163a8d226aa6edb5, []int{6}
return fileDescriptor_chat_955d1f0dcca586dd, []int{6}
}
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@@ -651,9 +647,9 @@ func (m *GetMaxAndMinSeqResp) GetMinSeq() int64 {
type GatherFormat struct {
// @inject_tag: json:"id"
ID string `protobuf:"bytes,1,opt,name=ID" json:"id"`
ID string `protobuf:"bytes,1,opt,name=ID" json:"ID,omitempty"`
// @inject_tag: json:"list"
List []*MsgFormat `protobuf:"bytes,2,rep,name=List" json:"list"`
List []*MsgFormat `protobuf:"bytes,2,rep,name=List" json:"List,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -663,7 +659,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{7}
return fileDescriptor_chat_955d1f0dcca586dd, []int{7}
}
func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@@ -699,29 +695,29 @@ func (m *GatherFormat) GetList() []*MsgFormat {
type MsgFormat struct {
// @inject_tag: json:"sendID"
SendID string `protobuf:"bytes,1,opt,name=SendID" json:"sendID"`
SendID string `protobuf:"bytes,1,opt,name=SendID" json:"SendID,omitempty"`
// @inject_tag: json:"recvID"
RecvID string `protobuf:"bytes,2,opt,name=RecvID" json:"recvID"`
RecvID string `protobuf:"bytes,2,opt,name=RecvID" json:"RecvID,omitempty"`
// @inject_tag: json:"msgFrom"
MsgFrom int32 `protobuf:"varint,3,opt,name=MsgFrom" json:"msgFrom"`
MsgFrom int32 `protobuf:"varint,3,opt,name=MsgFrom" json:"MsgFrom,omitempty"`
// @inject_tag: json:"contentType"
ContentType int32 `protobuf:"varint,4,opt,name=ContentType" json:"contentType"`
ContentType int32 `protobuf:"varint,4,opt,name=ContentType" json:"ContentType,omitempty"`
// @inject_tag: json:"serverMsgID"
ServerMsgID string `protobuf:"bytes,5,opt,name=ServerMsgID" json:"serverMsgID"`
ServerMsgID string `protobuf:"bytes,5,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"`
// @inject_tag: json:"content"
Content string `protobuf:"bytes,6,opt,name=Content" json:"content"`
Content string `protobuf:"bytes,6,opt,name=Content" json:"Content,omitempty"`
// @inject_tag: json:"seq"
Seq int64 `protobuf:"varint,7,opt,name=Seq" json:"seq"`
Seq int64 `protobuf:"varint,7,opt,name=Seq" json:"Seq,omitempty"`
// @inject_tag: json:"sendTime"
SendTime int64 `protobuf:"varint,8,opt,name=SendTime" json:"sendTime"`
SendTime int64 `protobuf:"varint,8,opt,name=SendTime" json:"SendTime,omitempty"`
// @inject_tag: json:"senderPlatformID"
SenderPlatformID int32 `protobuf:"varint,9,opt,name=SenderPlatformID" json:"senderPlatformID"`
SenderPlatformID int32 `protobuf:"varint,9,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"`
// @inject_tag: json:"senderNickName"
SenderNickName string `protobuf:"bytes,10,opt,name=SenderNickName" json:"senderNickName"`
SenderNickName string `protobuf:"bytes,10,opt,name=SenderNickName" json:"SenderNickName,omitempty"`
// @inject_tag: json:"senderFaceUrl"
SenderFaceURL string `protobuf:"bytes,11,opt,name=SenderFaceURL" json:"senderFaceUrl"`
SenderFaceURL string `protobuf:"bytes,11,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"`
// @inject_tag: json:"clientMsgID"
ClientMsgID string `protobuf:"bytes,12,opt,name=ClientMsgID" json:"clientMsgID"`
ClientMsgID string `protobuf:"bytes,12,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -731,7 +727,7 @@ func (m *MsgFormat) Reset() { *m = MsgFormat{} }
func (m *MsgFormat) String() string { return proto.CompactTextString(m) }
func (*MsgFormat) ProtoMessage() {}
func (*MsgFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{8}
return fileDescriptor_chat_955d1f0dcca586dd, []int{8}
}
func (m *MsgFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgFormat.Unmarshal(m, b)
@@ -835,181 +831,61 @@ func (m *MsgFormat) GetClientMsgID() string {
return ""
}
type UserSendMsgReq struct {
ReqIdentifier int32 `protobuf:"varint,1,opt,name=ReqIdentifier" json:"ReqIdentifier,omitempty"`
Token string `protobuf:"bytes,2,opt,name=Token" json:"Token,omitempty"`
SendID string `protobuf:"bytes,3,opt,name=SendID" json:"SendID,omitempty"`
OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"`
SenderNickName string `protobuf:"bytes,5,opt,name=SenderNickName" json:"SenderNickName,omitempty"`
SenderFaceURL string `protobuf:"bytes,6,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"`
PlatformID int32 `protobuf:"varint,7,opt,name=PlatformID" json:"PlatformID,omitempty"`
SessionType int32 `protobuf:"varint,8,opt,name=SessionType" json:"SessionType,omitempty"`
MsgFrom int32 `protobuf:"varint,9,opt,name=MsgFrom" json:"MsgFrom,omitempty"`
ContentType int32 `protobuf:"varint,10,opt,name=ContentType" json:"ContentType,omitempty"`
RecvID string `protobuf:"bytes,11,opt,name=RecvID" json:"RecvID,omitempty"`
ForceList []string `protobuf:"bytes,12,rep,name=ForceList" json:"ForceList,omitempty"`
Content string `protobuf:"bytes,13,opt,name=Content" json:"Content,omitempty"`
Options string `protobuf:"bytes,14,opt,name=Options" json:"Options,omitempty"`
ClientMsgID string `protobuf:"bytes,15,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"`
OffLineInfo string `protobuf:"bytes,16,opt,name=OffLineInfo" json:"OffLineInfo,omitempty"`
Ex string `protobuf:"bytes,17,opt,name=Ex" json:"Ex,omitempty"`
SendTime int64 `protobuf:"varint,18,opt,name=sendTime" json:"sendTime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
type SendMsgReq struct {
Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"`
MsgData *sdk_ws.MsgData `protobuf:"bytes,3,opt,name=msgData" json:"msgData,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserSendMsgReq) Reset() { *m = UserSendMsgReq{} }
func (m *UserSendMsgReq) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgReq) ProtoMessage() {}
func (*UserSendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{9}
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_chat_955d1f0dcca586dd, []int{9}
}
func (m *UserSendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgReq.Unmarshal(m, b)
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
}
func (m *UserSendMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserSendMsgReq.Marshal(b, m, deterministic)
func (m *SendMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SendMsgReq.Marshal(b, m, deterministic)
}
func (dst *UserSendMsgReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserSendMsgReq.Merge(dst, src)
func (dst *SendMsgReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_SendMsgReq.Merge(dst, src)
}
func (m *UserSendMsgReq) XXX_Size() int {
return xxx_messageInfo_UserSendMsgReq.Size(m)
func (m *SendMsgReq) XXX_Size() int {
return xxx_messageInfo_SendMsgReq.Size(m)
}
func (m *UserSendMsgReq) XXX_DiscardUnknown() {
xxx_messageInfo_UserSendMsgReq.DiscardUnknown(m)
func (m *SendMsgReq) XXX_DiscardUnknown() {
xxx_messageInfo_SendMsgReq.DiscardUnknown(m)
}
var xxx_messageInfo_UserSendMsgReq proto.InternalMessageInfo
var xxx_messageInfo_SendMsgReq proto.InternalMessageInfo
func (m *UserSendMsgReq) GetReqIdentifier() int32 {
if m != nil {
return m.ReqIdentifier
}
return 0
}
func (m *UserSendMsgReq) GetToken() string {
func (m *SendMsgReq) GetToken() string {
if m != nil {
return m.Token
}
return ""
}
func (m *UserSendMsgReq) GetSendID() string {
if m != nil {
return m.SendID
}
return ""
}
func (m *UserSendMsgReq) GetOperationID() string {
func (m *SendMsgReq) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
func (m *UserSendMsgReq) GetSenderNickName() string {
func (m *SendMsgReq) GetMsgData() *sdk_ws.MsgData {
if m != nil {
return m.SenderNickName
}
return ""
}
func (m *UserSendMsgReq) GetSenderFaceURL() string {
if m != nil {
return m.SenderFaceURL
}
return ""
}
func (m *UserSendMsgReq) GetPlatformID() int32 {
if m != nil {
return m.PlatformID
}
return 0
}
func (m *UserSendMsgReq) GetSessionType() int32 {
if m != nil {
return m.SessionType
}
return 0
}
func (m *UserSendMsgReq) GetMsgFrom() int32 {
if m != nil {
return m.MsgFrom
}
return 0
}
func (m *UserSendMsgReq) GetContentType() int32 {
if m != nil {
return m.ContentType
}
return 0
}
func (m *UserSendMsgReq) GetRecvID() string {
if m != nil {
return m.RecvID
}
return ""
}
func (m *UserSendMsgReq) GetForceList() []string {
if m != nil {
return m.ForceList
return m.MsgData
}
return nil
}
func (m *UserSendMsgReq) GetContent() string {
if m != nil {
return m.Content
}
return ""
}
func (m *UserSendMsgReq) GetOptions() string {
if m != nil {
return m.Options
}
return ""
}
func (m *UserSendMsgReq) GetClientMsgID() string {
if m != nil {
return m.ClientMsgID
}
return ""
}
func (m *UserSendMsgReq) GetOffLineInfo() string {
if m != nil {
return m.OffLineInfo
}
return ""
}
func (m *UserSendMsgReq) GetEx() string {
if m != nil {
return m.Ex
}
return ""
}
func (m *UserSendMsgReq) GetSendTime() int64 {
if m != nil {
return m.SendTime
}
return 0
}
type UserSendMsgResp struct {
type SendMsgResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"`
ReqIdentifier int32 `protobuf:"varint,3,opt,name=ReqIdentifier" json:"ReqIdentifier,omitempty"`
@@ -1021,66 +897,66 @@ type UserSendMsgResp struct {
XXX_sizecache int32 `json:"-"`
}
func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} }
func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) }
func (*UserSendMsgResp) ProtoMessage() {}
func (*UserSendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_163a8d226aa6edb5, []int{10}
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_chat_955d1f0dcca586dd, []int{10}
}
func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b)
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
}
func (m *UserSendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserSendMsgResp.Marshal(b, m, deterministic)
func (m *SendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SendMsgResp.Marshal(b, m, deterministic)
}
func (dst *UserSendMsgResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserSendMsgResp.Merge(dst, src)
func (dst *SendMsgResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_SendMsgResp.Merge(dst, src)
}
func (m *UserSendMsgResp) XXX_Size() int {
return xxx_messageInfo_UserSendMsgResp.Size(m)
func (m *SendMsgResp) XXX_Size() int {
return xxx_messageInfo_SendMsgResp.Size(m)
}
func (m *UserSendMsgResp) XXX_DiscardUnknown() {
xxx_messageInfo_UserSendMsgResp.DiscardUnknown(m)
func (m *SendMsgResp) XXX_DiscardUnknown() {
xxx_messageInfo_SendMsgResp.DiscardUnknown(m)
}
var xxx_messageInfo_UserSendMsgResp proto.InternalMessageInfo
var xxx_messageInfo_SendMsgResp proto.InternalMessageInfo
func (m *UserSendMsgResp) GetErrCode() int32 {
func (m *SendMsgResp) GetErrCode() int32 {
if m != nil {
return m.ErrCode
}
return 0
}
func (m *UserSendMsgResp) GetErrMsg() string {
func (m *SendMsgResp) GetErrMsg() string {
if m != nil {
return m.ErrMsg
}
return ""
}
func (m *UserSendMsgResp) GetReqIdentifier() int32 {
func (m *SendMsgResp) GetReqIdentifier() int32 {
if m != nil {
return m.ReqIdentifier
}
return 0
}
func (m *UserSendMsgResp) GetServerMsgID() string {
func (m *SendMsgResp) GetServerMsgID() string {
if m != nil {
return m.ServerMsgID
}
return ""
}
func (m *UserSendMsgResp) GetClientMsgID() string {
func (m *SendMsgResp) GetClientMsgID() string {
if m != nil {
return m.ClientMsgID
}
return ""
}
func (m *UserSendMsgResp) GetSendTime() int64 {
func (m *SendMsgResp) GetSendTime() int64 {
if m != nil {
return m.SendTime
}
@@ -1097,245 +973,70 @@ func init() {
proto.RegisterType((*GetMaxAndMinSeqResp)(nil), "pbChat.GetMaxAndMinSeqResp")
proto.RegisterType((*GatherFormat)(nil), "pbChat.GatherFormat")
proto.RegisterType((*MsgFormat)(nil), "pbChat.MsgFormat")
proto.RegisterType((*UserSendMsgReq)(nil), "pbChat.UserSendMsgReq")
proto.RegisterType((*UserSendMsgResp)(nil), "pbChat.UserSendMsgResp")
proto.RegisterType((*SendMsgReq)(nil), "pbChat.SendMsgReq")
proto.RegisterType((*SendMsgResp)(nil), "pbChat.SendMsgResp")
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
func init() { proto.RegisterFile("chat.proto", fileDescriptor_chat_955d1f0dcca586dd) }
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4
// Client API for Chat service
type ChatClient interface {
GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error)
PullMessage(ctx context.Context, in *PullMessageReq, opts ...grpc.CallOption) (*PullMessageResp, error)
PullMessageBySeqList(ctx context.Context, in *PullMessageBySeqListReq, opts ...grpc.CallOption) (*PullMessageResp, error)
UserSendMsg(ctx context.Context, in *UserSendMsgReq, opts ...grpc.CallOption) (*UserSendMsgResp, error)
}
type chatClient struct {
cc *grpc.ClientConn
}
func NewChatClient(cc *grpc.ClientConn) ChatClient {
return &chatClient{cc}
}
func (c *chatClient) GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error) {
out := new(GetMaxAndMinSeqResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/GetMaxAndMinSeq", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) PullMessage(ctx context.Context, in *PullMessageReq, opts ...grpc.CallOption) (*PullMessageResp, error) {
out := new(PullMessageResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessage", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) PullMessageBySeqList(ctx context.Context, in *PullMessageBySeqListReq, opts ...grpc.CallOption) (*PullMessageResp, error) {
out := new(PullMessageResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessageBySeqList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *chatClient) UserSendMsg(ctx context.Context, in *UserSendMsgReq, opts ...grpc.CallOption) (*UserSendMsgResp, error) {
out := new(UserSendMsgResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/UserSendMsg", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Chat service
type ChatServer interface {
GetMaxAndMinSeq(context.Context, *GetMaxAndMinSeqReq) (*GetMaxAndMinSeqResp, error)
PullMessage(context.Context, *PullMessageReq) (*PullMessageResp, error)
PullMessageBySeqList(context.Context, *PullMessageBySeqListReq) (*PullMessageResp, error)
UserSendMsg(context.Context, *UserSendMsgReq) (*UserSendMsgResp, error)
}
func RegisterChatServer(s *grpc.Server, srv ChatServer) {
s.RegisterService(&_Chat_serviceDesc, srv)
}
func _Chat_GetMaxAndMinSeq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMaxAndMinSeqReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).GetMaxAndMinSeq(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/GetMaxAndMinSeq",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).GetMaxAndMinSeq(ctx, req.(*GetMaxAndMinSeqReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_PullMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PullMessageReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).PullMessage(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/PullMessage",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).PullMessage(ctx, req.(*PullMessageReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PullMessageBySeqListReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).PullMessageBySeqList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/PullMessageBySeqList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).PullMessageBySeqList(ctx, req.(*PullMessageBySeqListReq))
}
return interceptor(ctx, in, info, handler)
}
func _Chat_UserSendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UserSendMsgReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ChatServer).UserSendMsg(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/pbChat.Chat/UserSendMsg",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).UserSendMsg(ctx, req.(*UserSendMsgReq))
}
return interceptor(ctx, in, info, handler)
}
var _Chat_serviceDesc = grpc.ServiceDesc{
ServiceName: "pbChat.Chat",
HandlerType: (*ChatServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetMaxAndMinSeq",
Handler: _Chat_GetMaxAndMinSeq_Handler,
},
{
MethodName: "PullMessage",
Handler: _Chat_PullMessage_Handler,
},
{
MethodName: "PullMessageBySeqList",
Handler: _Chat_PullMessageBySeqList_Handler,
},
{
MethodName: "UserSendMsg",
Handler: _Chat_UserSendMsg_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "chat/chat.proto",
}
func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_163a8d226aa6edb5) }
var fileDescriptor_chat_163a8d226aa6edb5 = []byte{
// 981 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xdd, 0x6a, 0xe3, 0x46,
0x14, 0xc6, 0x92, 0x2d, 0xdb, 0xc7, 0xbf, 0x99, 0x86, 0xec, 0x90, 0x96, 0xd6, 0x88, 0x6d, 0x31,
0xbd, 0x48, 0x61, 0x7b, 0x53, 0x5a, 0x58, 0x68, 0x62, 0x27, 0xa8, 0x44, 0xd9, 0x20, 0x7b, 0x29,
0xf4, 0x4e, 0x6b, 0x8f, 0x15, 0xb1, 0xb6, 0x24, 0xcf, 0x28, 0x69, 0xf6, 0xa6, 0xaf, 0xd0, 0x97,
0xe8, 0x65, 0x5f, 0xa4, 0x8f, 0xd2, 0x57, 0x28, 0x14, 0xca, 0xcc, 0x48, 0xd6, 0xe8, 0xc7, 0x49,
0xd8, 0xb2, 0x7b, 0x13, 0x38, 0x9f, 0xce, 0xfc, 0x9c, 0xf3, 0x7d, 0xf3, 0x1d, 0x07, 0x06, 0x8b,
0x1b, 0x37, 0xfe, 0x86, 0xff, 0x39, 0x89, 0x68, 0x18, 0x87, 0xc8, 0x88, 0xde, 0x9c, 0xdd, 0xb8,
0xb1, 0xf9, 0x7b, 0x1d, 0x0e, 0x7e, 0x9e, 0xcd, 0x43, 0x9b, 0x79, 0xb3, 0x3b, 0xca, 0x21, 0x9b,
0x79, 0xe8, 0x08, 0x8c, 0x19, 0x09, 0x96, 0xd6, 0x04, 0xd7, 0x46, 0xb5, 0x71, 0xdb, 0x49, 0x22,
0x8e, 0x3b, 0x64, 0x71, 0x67, 0x4d, 0xb0, 0x26, 0x71, 0x19, 0x21, 0x0c, 0xcd, 0xb3, 0x30, 0x88,
0x49, 0x10, 0x63, 0x5d, 0x7c, 0x48, 0x43, 0x74, 0x0c, 0x2d, 0xbe, 0x76, 0xee, 0x6f, 0x08, 0xae,
0x8f, 0x6a, 0x63, 0xdd, 0xd9, 0xc5, 0x7c, 0x95, 0xcd, 0xbc, 0x73, 0x1a, 0x6e, 0x70, 0x63, 0x54,
0x1b, 0x37, 0x9c, 0x34, 0x44, 0x5f, 0x41, 0x9f, 0x67, 0x11, 0x7a, 0xe5, 0x2f, 0xde, 0x5e, 0xb9,
0x1b, 0x82, 0x0d, 0xb1, 0x6d, 0x01, 0x45, 0xcf, 0xa1, 0x27, 0x91, 0x73, 0x77, 0x41, 0x5e, 0x3b,
0x97, 0xb8, 0x29, 0xd2, 0xf2, 0x20, 0x1a, 0x41, 0x27, 0xb9, 0xce, 0xfc, 0x5d, 0x44, 0x70, 0x4b,
0x9c, 0xa5, 0x42, 0x3c, 0x63, 0x46, 0x18, 0xf3, 0xc3, 0x40, 0x64, 0xb4, 0x65, 0x86, 0x02, 0xf1,
0x8c, 0x57, 0x11, 0xa1, 0x6e, 0xec, 0x87, 0x81, 0x35, 0xc1, 0x20, 0xce, 0x51, 0x21, 0x74, 0x08,
0x0d, 0x9b, 0x79, 0xd6, 0x04, 0x77, 0xc4, 0x37, 0x19, 0x70, 0x74, 0x1e, 0xbe, 0x25, 0x01, 0xee,
0x4a, 0x54, 0x04, 0x62, 0xb7, 0xd5, 0x6a, 0xed, 0x07, 0xc4, 0x0a, 0x56, 0x21, 0xee, 0x25, 0xbb,
0x65, 0x10, 0xef, 0xcd, 0xab, 0x88, 0xef, 0xcc, 0x70, 0x5f, 0x76, 0x34, 0x09, 0xd1, 0xe7, 0x00,
0xd7, 0x6b, 0x37, 0x5e, 0x85, 0x74, 0x63, 0x4d, 0xf0, 0x40, 0x5c, 0x55, 0x41, 0xd0, 0x67, 0xd0,
0x3e, 0x0f, 0xe9, 0x82, 0x5c, 0xfa, 0x2c, 0xc6, 0xc3, 0x91, 0x3e, 0x6e, 0x3b, 0x19, 0x20, 0x7a,
0xb1, 0xf6, 0x49, 0x10, 0xcb, 0xbb, 0x1e, 0xc8, 0x93, 0x15, 0xc8, 0xfc, 0x47, 0x87, 0x23, 0xa9,
0x86, 0x79, 0x78, 0x7d, 0xcb, 0x6e, 0x3e, 0x88, 0x2c, 0x30, 0x34, 0x79, 0xce, 0x8c, 0x6c, 0x13,
0x55, 0xa4, 0x61, 0x4e, 0x30, 0x8d, 0xfd, 0x82, 0x31, 0x1e, 0x13, 0x4c, 0xf3, 0x69, 0x82, 0x69,
0x3d, 0x41, 0x30, 0xed, 0x47, 0x05, 0x03, 0x8f, 0x0a, 0xa6, 0xf3, 0x80, 0x60, 0xba, 0xaa, 0x60,
0x3e, 0xa4, 0x34, 0x0a, 0xe4, 0x0f, 0xcb, 0xe4, 0xff, 0x06, 0xfd, 0xeb, 0xdb, 0xf5, 0xda, 0x26,
0x8c, 0xb9, 0x1e, 0x71, 0xc8, 0x96, 0x73, 0xfb, 0x9a, 0x11, 0x9a, 0x71, 0x2e, 0x23, 0xc9, 0xd3,
0xf6, 0x94, 0x78, 0x7e, 0x20, 0x58, 0x17, 0x3c, 0xc9, 0x58, 0xea, 0x64, 0x3b, 0x0d, 0x96, 0x82,
0x76, 0xdd, 0x49, 0xa2, 0x62, 0x4f, 0xea, 0xa5, 0x9e, 0x98, 0x7f, 0xd7, 0x60, 0x90, 0xbb, 0x00,
0x8b, 0x78, 0xbd, 0x53, 0x4a, 0xcf, 0xc2, 0x25, 0x11, 0x57, 0x68, 0x38, 0x69, 0xc8, 0xcf, 0x99,
0x52, 0x6a, 0x33, 0x2f, 0xd5, 0x9d, 0x8c, 0x38, 0x6e, 0xbb, 0xf7, 0x5c, 0x5c, 0xc9, 0xf9, 0x32,
0x12, 0xb8, 0x1f, 0x64, 0xa2, 0x4b, 0x22, 0xf4, 0x3d, 0xf4, 0x66, 0x7e, 0xe0, 0xad, 0x09, 0xaf,
0x8d, 0x6f, 0xd7, 0x18, 0xe9, 0xe3, 0xce, 0x8b, 0xc3, 0x13, 0x69, 0x92, 0x27, 0x17, 0x6e, 0x7c,
0x43, 0xe8, 0x79, 0x48, 0x37, 0x6e, 0xec, 0xe4, 0x53, 0xd1, 0x77, 0xd0, 0xbd, 0xa0, 0xe1, 0x6d,
0x94, 0x2e, 0x35, 0x1e, 0x58, 0x9a, 0xcb, 0x34, 0x37, 0xf0, 0x4c, 0x29, 0xf5, 0xf4, 0xdd, 0x8c,
0x6c, 0xf9, 0x13, 0x7d, 0xa8, 0xe9, 0x85, 0x06, 0x6a, 0x65, 0x51, 0x61, 0x68, 0x32, 0xb9, 0x0f,
0xd6, 0x47, 0x3a, 0x7f, 0x58, 0x49, 0x68, 0x5e, 0x01, 0xba, 0x20, 0xb1, 0xed, 0xde, 0xff, 0x18,
0x2c, 0x65, 0xdd, 0xff, 0xeb, 0x24, 0xf3, 0x57, 0xf8, 0xa4, 0xb4, 0xdf, 0xc7, 0x60, 0xcb, 0x9c,
0x42, 0x57, 0xed, 0x2a, 0xea, 0x83, 0xb6, 0xbb, 0xbe, 0x66, 0x4d, 0xd0, 0x97, 0x50, 0x17, 0xf5,
0x6b, 0x82, 0x89, 0x83, 0x94, 0x09, 0x6e, 0x15, 0x92, 0x06, 0xf1, 0xd9, 0xfc, 0x57, 0x83, 0xf6,
0x0e, 0x7b, 0x1f, 0x6b, 0x4b, 0xad, 0x48, 0xcf, 0x5b, 0x51, 0xc1, 0x3c, 0xea, 0x7b, 0xcc, 0x83,
0xde, 0x09, 0x15, 0x58, 0x13, 0xe1, 0x72, 0x6d, 0x47, 0x85, 0x54, 0xe3, 0x34, 0xf2, 0xc6, 0x39,
0x04, 0x9d, 0x77, 0xa4, 0x29, 0x3a, 0xa2, 0x17, 0x0d, 0xb3, 0x55, 0x30, 0xcc, 0xaf, 0x61, 0x28,
0x9d, 0x4d, 0xb1, 0x05, 0xe9, 0x66, 0x25, 0xbc, 0xc2, 0x42, 0xe1, 0x69, 0x16, 0xda, 0xd9, 0x67,
0xa1, 0x8a, 0xd5, 0x74, 0xcb, 0x56, 0xf3, 0x67, 0x1d, 0xfa, 0x5c, 0x6c, 0x7c, 0x9d, 0xcd, 0x3c,
0x2e, 0xc6, 0xe7, 0xd0, 0x73, 0xc8, 0xd6, 0x5a, 0x92, 0x20, 0xf6, 0x57, 0x3e, 0xa1, 0x89, 0x82,
0xf2, 0x60, 0x36, 0x52, 0x35, 0x75, 0xa4, 0x66, 0x04, 0xea, 0x39, 0x02, 0x1f, 0xf5, 0x9c, 0x8a,
0xc2, 0x1b, 0x4f, 0x2b, 0xdc, 0xa8, 0x2a, 0x3c, 0xef, 0xc1, 0xcd, 0x2a, 0x0f, 0x56, 0x27, 0x47,
0xab, 0x3c, 0x39, 0x14, 0x69, 0xb5, 0x1f, 0x94, 0x16, 0x94, 0xa5, 0x95, 0xc9, 0xb5, 0x93, 0x93,
0x6b, 0xee, 0x47, 0x41, 0xb7, 0xf8, 0xa3, 0x40, 0x91, 0x5b, 0xaf, 0x34, 0xa7, 0xf7, 0xcc, 0x9a,
0x02, 0xc1, 0x83, 0x12, 0xc1, 0xc9, 0x24, 0xbb, 0x4c, 0x27, 0xd9, 0x70, 0x37, 0xc9, 0x52, 0x88,
0xbf, 0xdc, 0xe9, 0x7d, 0xf2, 0x1b, 0x44, 0x9b, 0xde, 0x73, 0x29, 0xb3, 0x54, 0xca, 0x48, 0x4a,
0x39, 0x8d, 0xcd, 0xbf, 0x6a, 0x30, 0xc8, 0xc9, 0xe5, 0xbd, 0xbc, 0xa6, 0xa4, 0x30, 0xbd, 0x4a,
0x61, 0x85, 0x07, 0x5a, 0x2f, 0x3f, 0xd0, 0x42, 0xf5, 0x8d, 0x72, 0xf5, 0x6a, 0x2d, 0x46, 0xbe,
0x96, 0x17, 0x7f, 0x68, 0x50, 0xe7, 0x9e, 0x84, 0x7e, 0x82, 0x41, 0xc1, 0x43, 0xd1, 0xf1, 0x6e,
0x72, 0x94, 0xcc, 0xfa, 0xf8, 0xd3, 0xbd, 0xdf, 0x58, 0x84, 0x5e, 0x42, 0x47, 0x19, 0x27, 0xe8,
0x28, 0xcd, 0xcd, 0xcf, 0xf3, 0xe3, 0x67, 0x95, 0x38, 0x8b, 0xd0, 0x35, 0x1c, 0x56, 0x8d, 0x23,
0xf4, 0x45, 0xc5, 0x02, 0x75, 0x58, 0xed, 0xdf, 0xf1, 0x25, 0x74, 0x14, 0xc6, 0xb2, 0x1b, 0xe5,
0x5f, 0x7d, 0xb6, 0xbe, 0x40, 0xef, 0xe9, 0xe0, 0x97, 0xde, 0x89, 0xf8, 0x9f, 0xe5, 0x07, 0x99,
0xf0, 0xc6, 0x10, 0xff, 0xbb, 0x7c, 0xfb, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x44, 0x4e,
0x52, 0xce, 0x0c, 0x00, 0x00,
var fileDescriptor_chat_955d1f0dcca586dd = []byte{
// 927 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcb, 0x6e, 0xe3, 0x36,
0x14, 0x85, 0x2d, 0x3f, 0xe2, 0x6b, 0xe7, 0xc5, 0x09, 0x32, 0x84, 0x5b, 0xb4, 0xae, 0x30, 0x2d,
0x8c, 0x2e, 0x12, 0x20, 0xdd, 0x14, 0x5d, 0x14, 0xe8, 0xc4, 0x49, 0xa0, 0x62, 0x94, 0x04, 0xb2,
0x07, 0x5d, 0x06, 0x1a, 0x9b, 0x56, 0x04, 0xdb, 0xa2, 0x4c, 0x32, 0xc9, 0xcc, 0xa6, 0xbf, 0xd0,
0x6d, 0x7f, 0xa8, 0x1f, 0xd3, 0x5f, 0x28, 0x50, 0xa0, 0xb8, 0xa4, 0x14, 0xeb, 0x11, 0x27, 0xc1,
0x14, 0x33, 0xcb, 0x73, 0x78, 0x79, 0x49, 0xdd, 0x73, 0x78, 0x6c, 0x80, 0xf1, 0xb5, 0xaf, 0x0e,
0x62, 0xc1, 0x15, 0x27, 0x8d, 0xf8, 0xdd, 0xf1, 0xb5, 0xaf, 0xba, 0xdf, 0x5c, 0xc4, 0x2c, 0xba,
0x72, 0xdc, 0xc3, 0x78, 0x16, 0x1c, 0xea, 0xa5, 0x43, 0x39, 0x99, 0x5d, 0xdd, 0xc9, 0xc3, 0x3b,
0x69, 0x4a, 0xed, 0x3f, 0x6a, 0xb0, 0xfb, 0xdb, 0x70, 0xc4, 0x5d, 0x19, 0x0c, 0x6f, 0x05, 0xee,
0x72, 0x65, 0x40, 0xf6, 0xa1, 0x31, 0x64, 0xd1, 0xc4, 0x19, 0xd0, 0x4a, 0xaf, 0xd2, 0x6f, 0x79,
0x09, 0x42, 0xde, 0x63, 0xe3, 0x5b, 0x67, 0x40, 0xab, 0x86, 0x37, 0x88, 0x50, 0x68, 0x1e, 0xf3,
0x48, 0xb1, 0x48, 0x51, 0x4b, 0x2f, 0xa4, 0x90, 0x74, 0x61, 0x03, 0xf7, 0x8e, 0xc2, 0x05, 0xa3,
0xb5, 0x5e, 0xa5, 0x6f, 0x79, 0xf7, 0x18, 0x77, 0xb9, 0x32, 0x38, 0x15, 0x7c, 0x41, 0xeb, 0xbd,
0x4a, 0xbf, 0xee, 0xa5, 0x90, 0x7c, 0x07, 0x5b, 0x58, 0xc5, 0xc4, 0x79, 0x38, 0x9e, 0x9d, 0xfb,
0x0b, 0x46, 0x1b, 0xba, 0x6d, 0x81, 0x25, 0xaf, 0x60, 0xd3, 0x30, 0xa7, 0xfe, 0x98, 0xbd, 0xf5,
0xde, 0xd0, 0xa6, 0x2e, 0xcb, 0x93, 0xa4, 0x07, 0xed, 0xe4, 0x3a, 0xa3, 0x0f, 0x31, 0xa3, 0x1b,
0xfa, 0xac, 0x2c, 0x85, 0x15, 0x43, 0x26, 0x65, 0xc8, 0x23, 0x5d, 0xd1, 0x32, 0x15, 0x19, 0x0a,
0x2b, 0x2e, 0x62, 0x26, 0x7c, 0x15, 0xf2, 0xc8, 0x19, 0x50, 0xd0, 0xe7, 0x64, 0x29, 0xb2, 0x07,
0x75, 0x57, 0x06, 0xce, 0x80, 0xb6, 0xf5, 0x9a, 0x01, 0xc8, 0x8e, 0xf8, 0x8c, 0x45, 0xb4, 0x63,
0x58, 0x0d, 0x74, 0xb7, 0xe9, 0x74, 0x1e, 0x46, 0xcc, 0x89, 0xa6, 0x9c, 0x6e, 0x26, 0xdd, 0x56,
0x14, 0xce, 0xe6, 0x22, 0xc6, 0xce, 0x92, 0x6e, 0x99, 0x89, 0x26, 0x90, 0x7c, 0x05, 0x70, 0x39,
0xf7, 0xd5, 0x94, 0x8b, 0x85, 0x33, 0xa0, 0xdb, 0xfa, 0xaa, 0x19, 0x86, 0x7c, 0x09, 0xad, 0x53,
0x2e, 0xc6, 0xec, 0x4d, 0x28, 0x15, 0xdd, 0xe9, 0x59, 0xfd, 0x96, 0xb7, 0x22, 0xf4, 0x2c, 0xe6,
0x21, 0x8b, 0x94, 0xb9, 0xeb, 0xae, 0x39, 0x39, 0x43, 0xd9, 0xff, 0x58, 0xb0, 0x6f, 0xdc, 0x30,
0xe2, 0x97, 0x37, 0xf2, 0xfa, 0x93, 0xd8, 0x82, 0x42, 0x13, 0x6b, 0x86, 0x6c, 0x99, 0xb8, 0x22,
0x85, 0x39, 0xc3, 0xd4, 0xd7, 0x1b, 0xa6, 0xf1, 0x94, 0x61, 0x9a, 0xcf, 0x33, 0xcc, 0xc6, 0x33,
0x0c, 0xd3, 0x7a, 0xd2, 0x30, 0xf0, 0xa4, 0x61, 0xda, 0x8f, 0x18, 0xa6, 0x93, 0x35, 0xcc, 0xa7,
0xb4, 0x46, 0x41, 0xfc, 0x9d, 0xb2, 0xf8, 0xbf, 0xc3, 0xd6, 0xe5, 0xcd, 0x7c, 0xee, 0x32, 0x29,
0xfd, 0x80, 0x79, 0x6c, 0x89, 0xda, 0xbe, 0x95, 0x4c, 0xac, 0x34, 0x37, 0xc8, 0xe8, 0xb4, 0x7c,
0xcd, 0x82, 0x30, 0xd2, 0xaa, 0x6b, 0x9d, 0x0c, 0x36, 0x3e, 0x59, 0x9e, 0x44, 0x13, 0x2d, 0xbb,
0xe5, 0x25, 0xa8, 0x38, 0x93, 0x5a, 0x69, 0x26, 0xf6, 0xdf, 0x15, 0xd8, 0xce, 0x5d, 0x40, 0xc6,
0xf8, 0xbd, 0x27, 0x42, 0x1c, 0xf3, 0x09, 0xd3, 0x57, 0xa8, 0x7b, 0x29, 0xc4, 0x73, 0x4e, 0x84,
0x70, 0x65, 0x90, 0xfa, 0xce, 0x20, 0xe4, 0x5d, 0xff, 0x3d, 0x9a, 0x2b, 0x39, 0xdf, 0x20, 0xcd,
0x87, 0xd1, 0xca, 0x74, 0x09, 0x22, 0x3f, 0xc1, 0xe6, 0x30, 0x8c, 0x82, 0x39, 0xc3, 0x6f, 0xc3,
0x76, 0xf5, 0x9e, 0xd5, 0x6f, 0x1f, 0xed, 0x1d, 0x98, 0x1c, 0x3d, 0x38, 0xf3, 0xd5, 0x35, 0x13,
0xa7, 0x5c, 0x2c, 0x7c, 0xe5, 0xe5, 0x4b, 0xc9, 0x8f, 0xd0, 0x39, 0x13, 0xfc, 0x26, 0x4e, 0xb7,
0x36, 0x1e, 0xd9, 0x9a, 0xab, 0xb4, 0x17, 0xf0, 0x32, 0xf3, 0xa9, 0xaf, 0x3f, 0x0c, 0xd9, 0x12,
0x9f, 0xe8, 0x63, 0x43, 0x2f, 0x0c, 0xb0, 0x5a, 0x36, 0x15, 0x85, 0xa6, 0x34, 0x7d, 0xa8, 0xd5,
0xb3, 0xf0, 0x61, 0x25, 0xd0, 0x3e, 0x07, 0x72, 0xc6, 0x94, 0xeb, 0xbf, 0xff, 0x25, 0x9a, 0x98,
0xef, 0xfe, 0x5f, 0x27, 0xd9, 0x77, 0xf0, 0xa2, 0xd4, 0xef, 0x73, 0xa8, 0x65, 0x9f, 0x40, 0x27,
0x3b, 0x55, 0xb2, 0x05, 0xd5, 0xfb, 0xeb, 0x57, 0x9d, 0x01, 0xf9, 0x16, 0x6a, 0xfa, 0xfb, 0xab,
0x5a, 0x89, 0xdd, 0x54, 0x09, 0x8c, 0x0a, 0x23, 0x83, 0x5e, 0xb6, 0xff, 0xad, 0x42, 0xeb, 0x9e,
0xfb, 0x98, 0x68, 0x4b, 0xa3, 0xc8, 0xca, 0x47, 0x51, 0x21, 0x3c, 0x6a, 0x6b, 0xc2, 0x43, 0xdc,
0x6a, 0x17, 0x38, 0x03, 0x9d, 0x72, 0x2d, 0x2f, 0x4b, 0x65, 0x83, 0xb3, 0x91, 0x0f, 0xce, 0x1d,
0xb0, 0x70, 0x22, 0x4d, 0x3d, 0x11, 0xab, 0x18, 0x98, 0x1b, 0x85, 0xc0, 0xfc, 0x1e, 0x76, 0x4c,
0xb2, 0x65, 0x62, 0xc1, 0xa4, 0x59, 0x89, 0x7f, 0x20, 0x42, 0xe1, 0x79, 0x11, 0xda, 0x5e, 0x17,
0xa1, 0x99, 0xa8, 0xe9, 0x94, 0xa3, 0x46, 0x01, 0xe0, 0x16, 0x57, 0x06, 0xe8, 0xc3, 0x3d, 0xa8,
0x2b, 0xfd, 0x3b, 0x69, 0xc6, 0x6f, 0x00, 0x76, 0xe1, 0x65, 0x17, 0x66, 0x28, 0x72, 0x00, 0xcd,
0x85, 0x0c, 0x06, 0xbe, 0xf2, 0xb5, 0x0e, 0xf8, 0xf2, 0x38, 0xfe, 0xe9, 0x09, 0x17, 0x57, 0x72,
0x32, 0x43, 0xd1, 0x71, 0xcd, 0x4b, 0x8b, 0xec, 0xbf, 0x2a, 0x38, 0xfc, 0xe4, 0xd8, 0x8f, 0xb2,
0xeb, 0x2b, 0xd8, 0xf4, 0xd8, 0xd2, 0x99, 0xb0, 0x48, 0x85, 0xd3, 0x90, 0x89, 0x44, 0xff, 0x3c,
0x59, 0xd4, 0xb8, 0x56, 0xd6, 0xb8, 0x30, 0xa1, 0x7a, 0x69, 0x42, 0xa8, 0xac, 0x4c, 0x95, 0x6d,
0x18, 0x65, 0x53, 0x7c, 0xf4, 0x67, 0x15, 0x6a, 0x68, 0x6b, 0xf2, 0x2b, 0x6c, 0x17, 0x9e, 0x21,
0xe9, 0xde, 0x87, 0x4f, 0xe9, 0xbd, 0x77, 0xbf, 0x58, 0xbb, 0x26, 0x63, 0xf2, 0x33, 0xb4, 0x33,
0x89, 0x44, 0xf6, 0xd3, 0xda, 0xfc, 0x4f, 0x42, 0xf7, 0xe5, 0x83, 0xbc, 0x8c, 0xc9, 0x25, 0xec,
0x3d, 0x94, 0x68, 0xe4, 0xeb, 0x07, 0x36, 0x64, 0xf3, 0x6e, 0x7d, 0xc7, 0x23, 0x68, 0x26, 0x6a,
0x11, 0x92, 0xd6, 0xac, 0x5c, 0xd3, 0x7d, 0x51, 0xe2, 0x64, 0xfc, 0xae, 0xa1, 0xff, 0xd9, 0xfe,
0xf0, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0x2f, 0xc4, 0xa9, 0x12, 0x0b, 0x00, 0x00,
}