send msg file modify

This commit is contained in:
Gordon 2021-12-23 17:35:07 +08:00
parent 5f09d6a26f
commit 743715fa73

View File

@ -37,7 +37,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} }
func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) ProtoMessage() {}
func (*MsgDataToMQ) Descriptor() ([]byte, []int) { func (*MsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{0} return fileDescriptor_chat_d22d2bd62db4e275, []int{0}
} }
func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b)
@ -80,6 +80,7 @@ func (m *MsgDataToMQ) GetMsgData() *sdk_ws.MsgData {
type MsgDataToDB struct { type MsgDataToDB struct {
MsgData *sdk_ws.MsgData `protobuf:"bytes,1,opt,name=msgData" json:"msgData,omitempty"` MsgData *sdk_ws.MsgData `protobuf:"bytes,1,opt,name=msgData" json:"msgData,omitempty"`
OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,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:"-"`
@ -89,7 +90,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} }
func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) }
func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) ProtoMessage() {}
func (*MsgDataToDB) Descriptor() ([]byte, []int) { func (*MsgDataToDB) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{1} return fileDescriptor_chat_d22d2bd62db4e275, []int{1}
} }
func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b)
@ -116,6 +117,13 @@ func (m *MsgDataToDB) GetMsgData() *sdk_ws.MsgData {
return nil return nil
} }
func (m *MsgDataToDB) GetOperationID() string {
if m != nil {
return m.OperationID
}
return ""
}
type PushMsgDataToMQ struct { type PushMsgDataToMQ struct {
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"` MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"`
@ -128,7 +136,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} }
func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) }
func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) ProtoMessage() {}
func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{2} return fileDescriptor_chat_d22d2bd62db4e275, []int{2}
} }
func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b)
@ -176,7 +184,7 @@ func (m *PullMessageReq) Reset() { *m = PullMessageReq{} }
func (m *PullMessageReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageReq) ProtoMessage() {} func (*PullMessageReq) ProtoMessage() {}
func (*PullMessageReq) Descriptor() ([]byte, []int) { func (*PullMessageReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{3} return fileDescriptor_chat_d22d2bd62db4e275, []int{3}
} }
func (m *PullMessageReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageReq.Unmarshal(m, b)
@ -240,7 +248,7 @@ func (m *PullMessageResp) Reset() { *m = PullMessageResp{} }
func (m *PullMessageResp) String() string { return proto.CompactTextString(m) } func (m *PullMessageResp) String() string { return proto.CompactTextString(m) }
func (*PullMessageResp) ProtoMessage() {} func (*PullMessageResp) ProtoMessage() {}
func (*PullMessageResp) Descriptor() ([]byte, []int) { func (*PullMessageResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{4} return fileDescriptor_chat_d22d2bd62db4e275, []int{4}
} }
func (m *PullMessageResp) XXX_Unmarshal(b []byte) error { func (m *PullMessageResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageResp.Unmarshal(m, b) return xxx_messageInfo_PullMessageResp.Unmarshal(m, b)
@ -315,7 +323,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq
func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) }
func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) ProtoMessage() {}
func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{5} return fileDescriptor_chat_d22d2bd62db4e275, []int{5}
} }
func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b)
@ -368,7 +376,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} }
func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) ProtoMessage() {}
func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{6} return fileDescriptor_chat_d22d2bd62db4e275, []int{6}
} }
func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b)
@ -416,7 +424,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} }
func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) }
func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) ProtoMessage() {}
func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{7} return fileDescriptor_chat_d22d2bd62db4e275, []int{7}
} }
func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b)
@ -478,7 +486,7 @@ func (m *GatherFormat) Reset() { *m = GatherFormat{} }
func (m *GatherFormat) String() string { return proto.CompactTextString(m) } func (m *GatherFormat) String() string { return proto.CompactTextString(m) }
func (*GatherFormat) ProtoMessage() {} func (*GatherFormat) ProtoMessage() {}
func (*GatherFormat) Descriptor() ([]byte, []int) { func (*GatherFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{8} return fileDescriptor_chat_d22d2bd62db4e275, []int{8}
} }
func (m *GatherFormat) XXX_Unmarshal(b []byte) error { func (m *GatherFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GatherFormat.Unmarshal(m, b) return xxx_messageInfo_GatherFormat.Unmarshal(m, b)
@ -546,7 +554,7 @@ func (m *MsgFormat) Reset() { *m = MsgFormat{} }
func (m *MsgFormat) String() string { return proto.CompactTextString(m) } func (m *MsgFormat) String() string { return proto.CompactTextString(m) }
func (*MsgFormat) ProtoMessage() {} func (*MsgFormat) ProtoMessage() {}
func (*MsgFormat) Descriptor() ([]byte, []int) { func (*MsgFormat) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{9} return fileDescriptor_chat_d22d2bd62db4e275, []int{9}
} }
func (m *MsgFormat) XXX_Unmarshal(b []byte) error { func (m *MsgFormat) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MsgFormat.Unmarshal(m, b) return xxx_messageInfo_MsgFormat.Unmarshal(m, b)
@ -663,7 +671,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} }
func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) }
func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) ProtoMessage() {}
func (*SendMsgReq) Descriptor() ([]byte, []int) { func (*SendMsgReq) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{10} return fileDescriptor_chat_d22d2bd62db4e275, []int{10}
} }
func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { func (m *SendMsgReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) return xxx_messageInfo_SendMsgReq.Unmarshal(m, b)
@ -707,7 +715,6 @@ func (m *SendMsgReq) GetMsgData() *sdk_ws.MsgData {
type SendMsgResp struct { type SendMsgResp struct {
ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"` ErrCode int32 `protobuf:"varint,1,opt,name=ErrCode" json:"ErrCode,omitempty"`
ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=ErrMsg" json:"ErrMsg,omitempty"`
ReqIdentifier int32 `protobuf:"varint,3,opt,name=ReqIdentifier" json:"ReqIdentifier,omitempty"`
ServerMsgID string `protobuf:"bytes,4,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"` ServerMsgID string `protobuf:"bytes,4,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"`
ClientMsgID string `protobuf:"bytes,5,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"` ClientMsgID string `protobuf:"bytes,5,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"`
SendTime int64 `protobuf:"varint,6,opt,name=sendTime" json:"sendTime,omitempty"` SendTime int64 `protobuf:"varint,6,opt,name=sendTime" json:"sendTime,omitempty"`
@ -720,7 +727,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} }
func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) }
func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) ProtoMessage() {}
func (*SendMsgResp) Descriptor() ([]byte, []int) { func (*SendMsgResp) Descriptor() ([]byte, []int) {
return fileDescriptor_chat_e46047b47969b559, []int{11} return fileDescriptor_chat_d22d2bd62db4e275, []int{11}
} }
func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { func (m *SendMsgResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) return xxx_messageInfo_SendMsgResp.Unmarshal(m, b)
@ -754,13 +761,6 @@ func (m *SendMsgResp) GetErrMsg() string {
return "" return ""
} }
func (m *SendMsgResp) GetReqIdentifier() int32 {
if m != nil {
return m.ReqIdentifier
}
return 0
}
func (m *SendMsgResp) GetServerMsgID() string { func (m *SendMsgResp) GetServerMsgID() string {
if m != nil { if m != nil {
return m.ServerMsgID return m.ServerMsgID
@ -810,7 +810,7 @@ const _ = grpc.SupportPackageIsVersion4
type ChatClient interface { type ChatClient interface {
GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error) GetMaxAndMinSeq(ctx context.Context, in *GetMaxAndMinSeqReq, opts ...grpc.CallOption) (*GetMaxAndMinSeqResp, error)
PullMessage(ctx context.Context, in *PullMessageReq, opts ...grpc.CallOption) (*PullMessageResp, error) PullMessage(ctx context.Context, in *PullMessageReq, opts ...grpc.CallOption) (*PullMessageResp, error)
PullMessageBySeqList(ctx context.Context, in *PullMessageBySeqListReq, opts ...grpc.CallOption) (*PullMessageResp, error) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error)
} }
@ -840,8 +840,8 @@ func (c *chatClient) PullMessage(ctx context.Context, in *PullMessageReq, opts .
return out, nil return out, nil
} }
func (c *chatClient) PullMessageBySeqList(ctx context.Context, in *PullMessageBySeqListReq, opts ...grpc.CallOption) (*PullMessageResp, error) { func (c *chatClient) PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) {
out := new(PullMessageResp) out := new(sdk_ws.PullMessageBySeqListResp)
err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessageBySeqList", in, out, c.cc, opts...) err := grpc.Invoke(ctx, "/pbChat.Chat/PullMessageBySeqList", in, out, c.cc, opts...)
if err != nil { if err != nil {
return nil, err return nil, err
@ -863,7 +863,7 @@ func (c *chatClient) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.C
type ChatServer interface { type ChatServer interface {
GetMaxAndMinSeq(context.Context, *GetMaxAndMinSeqReq) (*GetMaxAndMinSeqResp, error) GetMaxAndMinSeq(context.Context, *GetMaxAndMinSeqReq) (*GetMaxAndMinSeqResp, error)
PullMessage(context.Context, *PullMessageReq) (*PullMessageResp, error) PullMessage(context.Context, *PullMessageReq) (*PullMessageResp, error)
PullMessageBySeqList(context.Context, *PullMessageBySeqListReq) (*PullMessageResp, error) PullMessageBySeqList(context.Context, *sdk_ws.PullMessageBySeqListReq) (*sdk_ws.PullMessageBySeqListResp, error)
SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error) SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error)
} }
@ -908,7 +908,7 @@ func _Chat_PullMessage_Handler(srv interface{}, ctx context.Context, dec func(in
} }
func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PullMessageBySeqListReq) in := new(sdk_ws.PullMessageBySeqListReq)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
@ -920,7 +920,7 @@ func _Chat_PullMessageBySeqList_Handler(srv interface{}, ctx context.Context, de
FullMethod: "/pbChat.Chat/PullMessageBySeqList", FullMethod: "/pbChat.Chat/PullMessageBySeqList",
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ChatServer).PullMessageBySeqList(ctx, req.(*PullMessageBySeqListReq)) return srv.(ChatServer).PullMessageBySeqList(ctx, req.(*sdk_ws.PullMessageBySeqListReq))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
@ -968,56 +968,56 @@ var _Chat_serviceDesc = grpc.ServiceDesc{
Metadata: "chat/chat.proto", Metadata: "chat/chat.proto",
} }
func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_e46047b47969b559) } func init() { proto.RegisterFile("chat/chat.proto", fileDescriptor_chat_d22d2bd62db4e275) }
var fileDescriptor_chat_e46047b47969b559 = []byte{ var fileDescriptor_chat_d22d2bd62db4e275 = []byte{
// 766 bytes of a gzipped FileDescriptorProto // 754 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcb, 0x4e, 0xdb, 0x40,
0x14, 0x56, 0xec, 0x38, 0x81, 0x13, 0x42, 0xb8, 0x03, 0x02, 0x2b, 0x77, 0x71, 0x73, 0x2d, 0xee, 0x14, 0x55, 0xec, 0x3c, 0xe0, 0x06, 0x08, 0x1d, 0x10, 0x58, 0xee, 0x26, 0xb5, 0xa0, 0x42, 0x5d,
0x15, 0xea, 0x22, 0x91, 0xe8, 0xa6, 0x6a, 0xd5, 0x4a, 0x0d, 0x09, 0x28, 0x15, 0x86, 0xd4, 0x81, 0x24, 0x12, 0xdd, 0x54, 0xad, 0x54, 0xa9, 0x21, 0x01, 0xa5, 0xc2, 0x40, 0x1d, 0xd8, 0x74, 0x13,
0x4d, 0x37, 0xc8, 0xc4, 0x83, 0x63, 0x25, 0xfe, 0xc9, 0xcc, 0x84, 0x9f, 0x4d, 0x9f, 0xa3, 0x2f, 0x99, 0x78, 0xea, 0x58, 0x89, 0x1f, 0x99, 0x99, 0xf0, 0xd8, 0xf4, 0x57, 0xfa, 0x01, 0xfd, 0xb2,
0xd4, 0x87, 0xe9, 0x43, 0x54, 0xaa, 0x66, 0xc6, 0x0e, 0x93, 0x18, 0x10, 0x6a, 0x25, 0x36, 0x28, 0x7e, 0x44, 0xa5, 0x6a, 0x66, 0xec, 0x30, 0x89, 0x81, 0xa2, 0x56, 0x62, 0x13, 0xe5, 0x9c, 0xb9,
0xdf, 0x37, 0xe7, 0xf7, 0x3b, 0x67, 0xc6, 0x40, 0x6d, 0x38, 0x72, 0x59, 0x8b, 0xff, 0x69, 0x26, 0xcf, 0x73, 0xef, 0x8c, 0x0c, 0xb5, 0xc1, 0xd0, 0x65, 0x4d, 0xfe, 0xd3, 0x48, 0x48, 0xcc, 0x62,
0x24, 0x66, 0x31, 0x2a, 0x25, 0x97, 0x07, 0x23, 0x97, 0xd5, 0xff, 0x3d, 0x4d, 0x70, 0x74, 0xd1, 0x54, 0x4e, 0x2e, 0x0f, 0x86, 0x2e, 0x33, 0x5f, 0x9d, 0x26, 0x38, 0xea, 0x77, 0xed, 0x66, 0x32,
0xb3, 0x5b, 0xc9, 0xd8, 0x6f, 0x89, 0xa3, 0x16, 0xf5, 0xc6, 0x17, 0x37, 0xb4, 0x75, 0x43, 0xa5, 0xf2, 0x9b, 0xe2, 0xa8, 0x49, 0xbd, 0x51, 0xff, 0x9a, 0x36, 0xaf, 0xa9, 0x34, 0xb5, 0xa6, 0x50,
0xa9, 0x35, 0x83, 0x8a, 0x4d, 0xfd, 0x8e, 0xcb, 0xdc, 0xb3, 0xd8, 0xfe, 0x8c, 0xb6, 0xc0, 0x60, 0xb5, 0xa9, 0xdf, 0x76, 0x99, 0x7b, 0x1e, 0xdb, 0x5f, 0xd0, 0x26, 0x94, 0x58, 0x3c, 0xc2, 0x91,
0xf1, 0x18, 0x47, 0x66, 0xa1, 0x51, 0xd8, 0x5b, 0x75, 0x24, 0x40, 0x0d, 0xa8, 0xc4, 0x09, 0x26, 0x51, 0xa8, 0x17, 0xf6, 0x96, 0x1d, 0x09, 0x50, 0x1d, 0xaa, 0x71, 0x82, 0x89, 0xcb, 0x82, 0x38,
0x2e, 0x0b, 0xe2, 0xa8, 0xd7, 0x31, 0x35, 0x71, 0xa6, 0x52, 0xa8, 0x09, 0xe5, 0x50, 0x86, 0x31, 0xea, 0xb6, 0x0d, 0x4d, 0x9c, 0xa9, 0x14, 0x6a, 0x40, 0x25, 0x94, 0x61, 0x0c, 0xbd, 0x5e, 0xd8,
0xf5, 0x46, 0x61, 0xaf, 0xb2, 0xbf, 0xd5, 0x8c, 0x79, 0xee, 0x20, 0xbc, 0xa0, 0xde, 0xb8, 0x99, 0xab, 0xee, 0x6f, 0x36, 0x62, 0x9e, 0x3b, 0x08, 0xfb, 0xd4, 0x1b, 0x35, 0xd2, 0x14, 0x4e, 0x66,
0xa6, 0x70, 0x32, 0x23, 0xeb, 0xbd, 0x92, 0xb6, 0xd3, 0x56, 0xdd, 0x0b, 0xcf, 0x71, 0x1f, 0x42, 0x64, 0xf5, 0x95, 0xb4, 0xed, 0x96, 0xea, 0x5e, 0x78, 0x82, 0xfb, 0xdf, 0x0b, 0xb2, 0x06, 0x50,
0xad, 0x3f, 0xa3, 0x23, 0xb5, 0xf2, 0x06, 0x54, 0x4e, 0x95, 0x1a, 0x65, 0xfd, 0x2a, 0xa5, 0x26, 0x3b, 0x9b, 0xd2, 0xa1, 0xda, 0x5b, 0x1d, 0xaa, 0xa7, 0x8a, 0x93, 0xec, 0x50, 0xa5, 0xd4, 0x32,
0xd1, 0x9e, 0x93, 0xe4, 0x2b, 0xac, 0xf7, 0x67, 0x93, 0x89, 0x8d, 0x29, 0x75, 0x7d, 0xec, 0xe0, 0xb4, 0xa7, 0x74, 0xf1, 0x1d, 0xd6, 0xce, 0xa6, 0xe3, 0xb1, 0x8d, 0x29, 0x75, 0x7d, 0xec, 0xe0,
0x29, 0xda, 0x86, 0xd2, 0x39, 0xc5, 0x64, 0x1e, 0x3e, 0x45, 0xa8, 0x0e, 0x2b, 0x03, 0x3c, 0x6d, 0x09, 0xda, 0x82, 0xf2, 0x05, 0xc5, 0x64, 0x16, 0x3e, 0x45, 0xc8, 0x84, 0xa5, 0x1e, 0x9e, 0xb4,
0x63, 0x3f, 0x88, 0x44, 0x68, 0xdd, 0x99, 0x63, 0xee, 0x33, 0xc0, 0xd3, 0x6e, 0xe4, 0x09, 0x61, 0xb0, 0x1f, 0x44, 0x22, 0xb4, 0xee, 0xcc, 0x30, 0xf7, 0xe9, 0xe1, 0x49, 0x27, 0xf2, 0x84, 0x74,
0x74, 0x27, 0x45, 0xcb, 0xf5, 0x16, 0x73, 0xf5, 0x5a, 0x3f, 0x0a, 0xbc, 0x4b, 0xa5, 0x00, 0x9a, 0xba, 0x93, 0xa2, 0xc5, 0x7a, 0x8b, 0xb9, 0x7a, 0xad, 0x5f, 0x05, 0xde, 0xa5, 0x52, 0x00, 0x4d,
0x20, 0x13, 0xca, 0x5d, 0x42, 0x0e, 0x62, 0x0f, 0x8b, 0x12, 0x0c, 0x27, 0x83, 0x3c, 0x4f, 0x97, 0x90, 0x01, 0x95, 0x0e, 0x21, 0x07, 0xb1, 0x87, 0x45, 0x09, 0x25, 0x27, 0x83, 0x3c, 0x4f, 0x87,
0x10, 0x9b, 0xfa, 0xe9, 0x78, 0x52, 0xc4, 0x79, 0xdb, 0xbd, 0x1d, 0xe0, 0x69, 0x96, 0x5f, 0x22, 0x10, 0x9b, 0xfa, 0xa9, 0x5e, 0x29, 0xe2, 0xbc, 0xed, 0xde, 0xf4, 0xf0, 0x24, 0xcb, 0x2f, 0x91,
0xc1, 0x07, 0x11, 0xe7, 0x8b, 0x29, 0x2f, 0x10, 0x7a, 0x0b, 0xd5, 0x41, 0x10, 0xf9, 0x13, 0xcc, 0xe0, 0x83, 0x88, 0xf3, 0xc5, 0x94, 0x17, 0x08, 0xbd, 0x87, 0xd5, 0x5e, 0x10, 0xf9, 0x63, 0xcc,
0x7b, 0xe3, 0xe1, 0x8c, 0x86, 0x2e, 0xb4, 0x92, 0x3b, 0xd5, 0x3c, 0x72, 0xd9, 0x08, 0x93, 0xc3, 0x7b, 0xe3, 0xe1, 0x4a, 0x75, 0x5d, 0x68, 0x25, 0xb7, 0xae, 0x71, 0xe4, 0xb2, 0x21, 0x26, 0x87,
0x98, 0x84, 0x2e, 0x73, 0x16, 0x4d, 0xd1, 0x1b, 0x58, 0x3b, 0x22, 0xf1, 0x2c, 0xc9, 0x5c, 0x4b, 0x31, 0x09, 0x5d, 0xe6, 0xcc, 0x9b, 0xa2, 0x77, 0xb0, 0x72, 0x44, 0xe2, 0x69, 0x92, 0xb9, 0x96,
0x4f, 0xb8, 0x2e, 0x58, 0x5a, 0x21, 0xec, 0x28, 0xad, 0xb6, 0xef, 0x06, 0x78, 0x7a, 0x1c, 0x50, 0x1f, 0x71, 0x9d, 0xb3, 0xb4, 0x42, 0xd8, 0x56, 0x5a, 0x6d, 0xdd, 0xf6, 0xf0, 0xe4, 0x38, 0xa0,
0xf6, 0x94, 0xe8, 0x4b, 0x02, 0x6a, 0xf9, 0x81, 0x9b, 0x50, 0xa6, 0x32, 0x8e, 0xa9, 0x37, 0xf4, 0xec, 0x31, 0xd1, 0x17, 0x04, 0xd4, 0xf2, 0x03, 0x37, 0xa0, 0x42, 0x65, 0x1c, 0x43, 0xaf, 0xeb,
0x3d, 0xdd, 0xc9, 0xa0, 0x75, 0x02, 0xe8, 0x08, 0x33, 0xdb, 0xbd, 0xfd, 0x18, 0x79, 0xb2, 0xef, 0x7b, 0xba, 0x93, 0x41, 0xeb, 0x04, 0xd0, 0x11, 0x66, 0xb6, 0x7b, 0xf3, 0x29, 0xf2, 0x64, 0xdf,
0x3f, 0xca, 0x64, 0xdd, 0xc0, 0x66, 0x2e, 0xde, 0x4b, 0x4c, 0xcb, 0xea, 0xc2, 0x9a, 0xaa, 0x2a, 0xff, 0x95, 0xc9, 0xba, 0x86, 0x8d, 0x5c, 0xbc, 0xe7, 0x98, 0x96, 0xd5, 0x81, 0x15, 0x55, 0x55,
0x5a, 0x07, 0x6d, 0x5e, 0xbe, 0xd6, 0xeb, 0xa0, 0xff, 0xa0, 0x28, 0xfa, 0xd7, 0xc4, 0x24, 0xfe, 0xb4, 0x06, 0xda, 0xac, 0x7c, 0xad, 0xdb, 0x46, 0xbb, 0x50, 0x14, 0xfd, 0x6b, 0x62, 0x12, 0x2f,
0xca, 0x26, 0x61, 0x53, 0x3f, 0x1d, 0x83, 0x38, 0xb6, 0x7e, 0x6a, 0xb0, 0x3a, 0xe7, 0xe4, 0xca, 0xb2, 0x49, 0xd8, 0xd4, 0x4f, 0xc7, 0x20, 0x8e, 0xad, 0xdf, 0x1a, 0x2c, 0xcf, 0x38, 0xb9, 0xb2,
0x46, 0xde, 0xbd, 0x0e, 0x12, 0x71, 0xde, 0xc1, 0xc3, 0xeb, 0xb9, 0x04, 0x29, 0xe2, 0x6d, 0x72, 0x91, 0x77, 0xa7, 0x83, 0x44, 0x9c, 0x77, 0xf0, 0xe0, 0x6a, 0x26, 0x41, 0x8a, 0x78, 0x9b, 0xdc,
0x67, 0x12, 0x87, 0xa2, 0x6a, 0xc3, 0xc9, 0x20, 0x57, 0xee, 0x20, 0x8e, 0x18, 0x8e, 0xd8, 0xd9, 0x99, 0xc4, 0xa1, 0xa8, 0xba, 0xe4, 0x64, 0x90, 0x2b, 0x77, 0x10, 0x47, 0x0c, 0x47, 0xec, 0xfc,
0x5d, 0x82, 0x45, 0xed, 0x86, 0xa3, 0x52, 0xdc, 0x62, 0x80, 0xc9, 0xb5, 0xd8, 0x82, 0x5e, 0xc7, 0x36, 0xc1, 0xa2, 0xf6, 0x92, 0xa3, 0x52, 0xdc, 0xa2, 0x87, 0xc9, 0x95, 0xd8, 0x82, 0x6e, 0xdb,
0x34, 0xa4, 0xb6, 0x0a, 0xc5, 0xa3, 0xa7, 0x0e, 0x66, 0x49, 0x9c, 0x66, 0x10, 0x6d, 0x80, 0xce, 0x28, 0x49, 0x6d, 0x15, 0x8a, 0x47, 0x4f, 0x1d, 0x8c, 0xb2, 0x38, 0xcd, 0x20, 0x5a, 0x07, 0x9d,
0x15, 0x29, 0x0b, 0x45, 0xf8, 0x4f, 0x79, 0x11, 0x23, 0xef, 0x2c, 0x08, 0xb1, 0xb9, 0x92, 0x5d, 0x2b, 0x52, 0x11, 0x8a, 0xf0, 0xbf, 0xf2, 0x22, 0x46, 0xde, 0x79, 0x10, 0x62, 0x63, 0x29, 0xbb,
0x44, 0x89, 0xd1, 0x2b, 0xd8, 0xe0, 0xbf, 0x31, 0xe9, 0x4f, 0x5c, 0x76, 0x15, 0x93, 0xb0, 0xd7, 0x88, 0x12, 0xa3, 0x37, 0xb0, 0xce, 0xff, 0x63, 0x72, 0x36, 0x76, 0xd9, 0xb7, 0x98, 0x84, 0xdd,
0x31, 0x57, 0x45, 0x41, 0x39, 0x1e, 0xfd, 0x0f, 0xeb, 0x92, 0x3b, 0x09, 0x86, 0xe3, 0x13, 0x37, 0xb6, 0xb1, 0x2c, 0x0a, 0xca, 0xf1, 0xe8, 0x35, 0xac, 0x49, 0xee, 0x24, 0x18, 0x8c, 0x4e, 0xdc,
0xc4, 0x26, 0x88, 0xd4, 0x4b, 0x2c, 0xda, 0x85, 0xaa, 0x64, 0x0e, 0xdd, 0x21, 0x3e, 0x77, 0x8e, 0x10, 0x1b, 0x20, 0x52, 0x2f, 0xb0, 0x68, 0x07, 0x56, 0x25, 0x73, 0xe8, 0x0e, 0xf0, 0x85, 0x73,
0xcd, 0x8a, 0x30, 0x5b, 0x24, 0x85, 0x0a, 0x93, 0x00, 0x47, 0x4c, 0xf6, 0xb8, 0x26, 0x7b, 0x54, 0x6c, 0x54, 0x85, 0xd9, 0x3c, 0x29, 0x54, 0x18, 0x07, 0x38, 0x62, 0xb2, 0xc7, 0x15, 0xd9, 0xa3,
0x28, 0x8b, 0x01, 0x70, 0x17, 0x9b, 0xfa, 0x7c, 0x0f, 0x5f, 0xea, 0x11, 0xfe, 0x5e, 0xe0, 0xe2, 0x42, 0x59, 0x0c, 0x80, 0xbb, 0xd8, 0xd4, 0xe7, 0x7b, 0xf8, 0x5c, 0xcf, 0xf4, 0x8f, 0x02, 0x17,
0xa7, 0x69, 0x7f, 0x6b, 0x5d, 0x77, 0xa1, 0xea, 0xe0, 0x69, 0xcf, 0xc3, 0x11, 0x0b, 0xae, 0x02, 0x3f, 0x4d, 0xfb, 0x4f, 0xeb, 0xba, 0x30, 0xbd, 0x62, 0x7e, 0x7a, 0x0b, 0xbd, 0x97, 0x72, 0xbd,
0x4c, 0xd2, 0xf9, 0x2f, 0x92, 0xcb, 0x33, 0x2e, 0xe6, 0x67, 0xbc, 0xa4, 0x90, 0x91, 0x53, 0x88, 0xf3, 0x99, 0xd1, 0x6c, 0x66, 0x65, 0x39, 0xb3, 0x0c, 0xef, 0xff, 0xd4, 0xa0, 0xc8, 0x17, 0x16,
0x4f, 0x96, 0x66, 0x93, 0x2d, 0xc9, 0xc9, 0x66, 0x78, 0xff, 0x9b, 0x06, 0x45, 0xbe, 0xd6, 0xe8, 0x7d, 0x86, 0xda, 0xc2, 0x05, 0x43, 0xe6, 0xec, 0x59, 0xc9, 0xdd, 0x64, 0xf3, 0xe5, 0x83, 0x67,
0x13, 0xd4, 0x96, 0xae, 0x21, 0xaa, 0xcf, 0x1f, 0x9f, 0xdc, 0x7d, 0xaf, 0xff, 0xfd, 0xe8, 0x19, 0x34, 0x41, 0x1f, 0xa1, 0xaa, 0xbc, 0x35, 0x68, 0x2b, 0xb3, 0x9d, 0x7f, 0xec, 0xcd, 0xed, 0x7b,
0x4d, 0xd0, 0x07, 0xa8, 0x28, 0x2f, 0x12, 0xda, 0xce, 0x6c, 0x17, 0x3f, 0x09, 0xf5, 0x9d, 0x07, 0x79, 0x9a, 0xa0, 0x01, 0x6c, 0xde, 0xf7, 0x56, 0xa1, 0x9d, 0x39, 0xb5, 0x1f, 0x78, 0xce, 0xcc,
0x79, 0x9a, 0xa0, 0x3e, 0x6c, 0x3d, 0xf4, 0xa2, 0xa1, 0x7f, 0x1e, 0x70, 0x50, 0xdf, 0xbb, 0xc7, 0xdd, 0x27, 0x58, 0xd1, 0x04, 0xed, 0x43, 0x25, 0x1d, 0x0d, 0x42, 0x59, 0x21, 0x77, 0x2b, 0x62,
0x23, 0xee, 0x43, 0x39, 0x9d, 0x16, 0x42, 0x99, 0xcd, 0xfd, 0xd6, 0xd4, 0x37, 0x73, 0x1c, 0x4d, 0x6e, 0xe4, 0x38, 0x9a, 0xb4, 0x6a, 0x5f, 0x57, 0x1b, 0xe2, 0x43, 0xe1, 0x83, 0x3c, 0xbc, 0x2c,
0xda, 0xb5, 0x2f, 0xd5, 0xa6, 0xf8, 0xcf, 0xe0, 0x9d, 0x3c, 0xbc, 0x2c, 0x89, 0xcf, 0xfe, 0xeb, 0x8b, 0xaf, 0x80, 0xb7, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xcb, 0x2c, 0x3b, 0x8f, 0x43, 0x08,
0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x48, 0x7f, 0xf6, 0xd7, 0x34, 0x08, 0x00, 0x00, 0x00, 0x00,
} }