// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.30.0 // protoc v4.22.3 // source: wcf.proto package wcf import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Functions int32 const ( Functions_FUNC_RESERVED Functions = 0 Functions_FUNC_IS_LOGIN Functions = 1 Functions_FUNC_GET_SELF_WXID Functions = 16 Functions_FUNC_GET_MSG_TYPES Functions = 17 Functions_FUNC_GET_CONTACTS Functions = 18 Functions_FUNC_GET_DB_NAMES Functions = 19 Functions_FUNC_GET_DB_TABLES Functions = 20 Functions_FUNC_GET_USER_INFO Functions = 21 Functions_FUNC_SEND_TXT Functions = 32 Functions_FUNC_SEND_IMG Functions = 33 Functions_FUNC_SEND_FILE Functions = 34 Functions_FUNC_SEND_XML Functions = 35 Functions_FUNC_SEND_EMOTION Functions = 36 Functions_FUNC_ENABLE_RECV_TXT Functions = 48 Functions_FUNC_DISABLE_RECV_TXT Functions = 64 Functions_FUNC_EXEC_DB_QUERY Functions = 80 Functions_FUNC_ACCEPT_FRIEND Functions = 81 Functions_FUNC_ADD_ROOM_MEMBERS Functions = 82 Functions_FUNC_RECV_TRANSFER Functions = 83 Functions_FUNC_DECRYPT_IMAGE Functions = 96 ) // Enum value maps for Functions. var ( Functions_name = map[int32]string{ 0: "FUNC_RESERVED", 1: "FUNC_IS_LOGIN", 16: "FUNC_GET_SELF_WXID", 17: "FUNC_GET_MSG_TYPES", 18: "FUNC_GET_CONTACTS", 19: "FUNC_GET_DB_NAMES", 20: "FUNC_GET_DB_TABLES", 21: "FUNC_GET_USER_INFO", 32: "FUNC_SEND_TXT", 33: "FUNC_SEND_IMG", 34: "FUNC_SEND_FILE", 35: "FUNC_SEND_XML", 36: "FUNC_SEND_EMOTION", 48: "FUNC_ENABLE_RECV_TXT", 64: "FUNC_DISABLE_RECV_TXT", 80: "FUNC_EXEC_DB_QUERY", 81: "FUNC_ACCEPT_FRIEND", 82: "FUNC_ADD_ROOM_MEMBERS", 83: "FUNC_RECV_TRANSFER", 96: "FUNC_DECRYPT_IMAGE", } Functions_value = map[string]int32{ "FUNC_RESERVED": 0, "FUNC_IS_LOGIN": 1, "FUNC_GET_SELF_WXID": 16, "FUNC_GET_MSG_TYPES": 17, "FUNC_GET_CONTACTS": 18, "FUNC_GET_DB_NAMES": 19, "FUNC_GET_DB_TABLES": 20, "FUNC_GET_USER_INFO": 21, "FUNC_SEND_TXT": 32, "FUNC_SEND_IMG": 33, "FUNC_SEND_FILE": 34, "FUNC_SEND_XML": 35, "FUNC_SEND_EMOTION": 36, "FUNC_ENABLE_RECV_TXT": 48, "FUNC_DISABLE_RECV_TXT": 64, "FUNC_EXEC_DB_QUERY": 80, "FUNC_ACCEPT_FRIEND": 81, "FUNC_ADD_ROOM_MEMBERS": 82, "FUNC_RECV_TRANSFER": 83, "FUNC_DECRYPT_IMAGE": 96, } ) func (x Functions) Enum() *Functions { p := new(Functions) *p = x return p } func (x Functions) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Functions) Descriptor() protoreflect.EnumDescriptor { return file_wcf_proto_enumTypes[0].Descriptor() } func (Functions) Type() protoreflect.EnumType { return &file_wcf_proto_enumTypes[0] } func (x Functions) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use Functions.Descriptor instead. func (Functions) EnumDescriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{0} } type Request struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Func Functions `protobuf:"varint,1,opt,name=func,proto3,enum=wcf.Functions" json:"func,omitempty"` // Types that are assignable to Msg: // // *Request_Empty // *Request_Str // *Request_Txt // *Request_File // *Request_Query // *Request_V // *Request_M // *Request_Xml // *Request_Dec // *Request_Tf Msg isRequest_Msg `protobuf_oneof:"msg"` } func (x *Request) Reset() { *x = Request{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Request) String() string { return protoimpl.X.MessageStringOf(x) } func (*Request) ProtoMessage() {} func (x *Request) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Request.ProtoReflect.Descriptor instead. func (*Request) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{0} } func (x *Request) GetFunc() Functions { if x != nil { return x.Func } return Functions_FUNC_RESERVED } func (m *Request) GetMsg() isRequest_Msg { if m != nil { return m.Msg } return nil } func (x *Request) GetEmpty() *Empty { if x, ok := x.GetMsg().(*Request_Empty); ok { return x.Empty } return nil } func (x *Request) GetStr() string { if x, ok := x.GetMsg().(*Request_Str); ok { return x.Str } return "" } func (x *Request) GetTxt() *TextMsg { if x, ok := x.GetMsg().(*Request_Txt); ok { return x.Txt } return nil } func (x *Request) GetFile() *PathMsg { if x, ok := x.GetMsg().(*Request_File); ok { return x.File } return nil } func (x *Request) GetQuery() *DbQuery { if x, ok := x.GetMsg().(*Request_Query); ok { return x.Query } return nil } func (x *Request) GetV() *Verification { if x, ok := x.GetMsg().(*Request_V); ok { return x.V } return nil } func (x *Request) GetM() *AddMembers { if x, ok := x.GetMsg().(*Request_M); ok { return x.M } return nil } func (x *Request) GetXml() *XmlMsg { if x, ok := x.GetMsg().(*Request_Xml); ok { return x.Xml } return nil } func (x *Request) GetDec() *DecPath { if x, ok := x.GetMsg().(*Request_Dec); ok { return x.Dec } return nil } func (x *Request) GetTf() *Transfer { if x, ok := x.GetMsg().(*Request_Tf); ok { return x.Tf } return nil } type isRequest_Msg interface { isRequest_Msg() } type Request_Empty struct { Empty *Empty `protobuf:"bytes,2,opt,name=empty,proto3,oneof"` } type Request_Str struct { Str string `protobuf:"bytes,3,opt,name=str,proto3,oneof"` } type Request_Txt struct { Txt *TextMsg `protobuf:"bytes,4,opt,name=txt,proto3,oneof"` } type Request_File struct { File *PathMsg `protobuf:"bytes,5,opt,name=file,proto3,oneof"` } type Request_Query struct { Query *DbQuery `protobuf:"bytes,6,opt,name=query,proto3,oneof"` } type Request_V struct { V *Verification `protobuf:"bytes,7,opt,name=v,proto3,oneof"` } type Request_M struct { M *AddMembers `protobuf:"bytes,8,opt,name=m,proto3,oneof"` } type Request_Xml struct { Xml *XmlMsg `protobuf:"bytes,9,opt,name=xml,proto3,oneof"` } type Request_Dec struct { Dec *DecPath `protobuf:"bytes,10,opt,name=dec,proto3,oneof"` } type Request_Tf struct { Tf *Transfer `protobuf:"bytes,11,opt,name=tf,proto3,oneof"` } func (*Request_Empty) isRequest_Msg() {} func (*Request_Str) isRequest_Msg() {} func (*Request_Txt) isRequest_Msg() {} func (*Request_File) isRequest_Msg() {} func (*Request_Query) isRequest_Msg() {} func (*Request_V) isRequest_Msg() {} func (*Request_M) isRequest_Msg() {} func (*Request_Xml) isRequest_Msg() {} func (*Request_Dec) isRequest_Msg() {} func (*Request_Tf) isRequest_Msg() {} type Response struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Func Functions `protobuf:"varint,1,opt,name=func,proto3,enum=wcf.Functions" json:"func,omitempty"` // Types that are assignable to Msg: // // *Response_Status // *Response_Str // *Response_Wxmsg // *Response_Types // *Response_Contacts // *Response_Dbs // *Response_Tables // *Response_Rows // *Response_Ui Msg isResponse_Msg `protobuf_oneof:"msg"` } func (x *Response) Reset() { *x = Response{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Response) String() string { return protoimpl.X.MessageStringOf(x) } func (*Response) ProtoMessage() {} func (x *Response) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Response.ProtoReflect.Descriptor instead. func (*Response) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{1} } func (x *Response) GetFunc() Functions { if x != nil { return x.Func } return Functions_FUNC_RESERVED } func (m *Response) GetMsg() isResponse_Msg { if m != nil { return m.Msg } return nil } func (x *Response) GetStatus() int32 { if x, ok := x.GetMsg().(*Response_Status); ok { return x.Status } return 0 } func (x *Response) GetStr() string { if x, ok := x.GetMsg().(*Response_Str); ok { return x.Str } return "" } func (x *Response) GetWxmsg() *WxMsg { if x, ok := x.GetMsg().(*Response_Wxmsg); ok { return x.Wxmsg } return nil } func (x *Response) GetTypes() *MsgTypes { if x, ok := x.GetMsg().(*Response_Types); ok { return x.Types } return nil } func (x *Response) GetContacts() *RpcContacts { if x, ok := x.GetMsg().(*Response_Contacts); ok { return x.Contacts } return nil } func (x *Response) GetDbs() *DbNames { if x, ok := x.GetMsg().(*Response_Dbs); ok { return x.Dbs } return nil } func (x *Response) GetTables() *DbTables { if x, ok := x.GetMsg().(*Response_Tables); ok { return x.Tables } return nil } func (x *Response) GetRows() *DbRows { if x, ok := x.GetMsg().(*Response_Rows); ok { return x.Rows } return nil } func (x *Response) GetUi() *UserInfo { if x, ok := x.GetMsg().(*Response_Ui); ok { return x.Ui } return nil } type isResponse_Msg interface { isResponse_Msg() } type Response_Status struct { Status int32 `protobuf:"varint,2,opt,name=status,proto3,oneof"` // Int 状态,通用 } type Response_Str struct { Str string `protobuf:"bytes,3,opt,name=str,proto3,oneof"` // 字符串 } type Response_Wxmsg struct { Wxmsg *WxMsg `protobuf:"bytes,4,opt,name=wxmsg,proto3,oneof"` // 微信消息 } type Response_Types struct { Types *MsgTypes `protobuf:"bytes,5,opt,name=types,proto3,oneof"` // 消息类型 } type Response_Contacts struct { Contacts *RpcContacts `protobuf:"bytes,6,opt,name=contacts,proto3,oneof"` // 联系人 } type Response_Dbs struct { Dbs *DbNames `protobuf:"bytes,7,opt,name=dbs,proto3,oneof"` // 数据库列表 } type Response_Tables struct { Tables *DbTables `protobuf:"bytes,8,opt,name=tables,proto3,oneof"` // 表列表 } type Response_Rows struct { Rows *DbRows `protobuf:"bytes,9,opt,name=rows,proto3,oneof"` // 行列表 } type Response_Ui struct { Ui *UserInfo `protobuf:"bytes,10,opt,name=ui,proto3,oneof"` // 个人信息 } func (*Response_Status) isResponse_Msg() {} func (*Response_Str) isResponse_Msg() {} func (*Response_Wxmsg) isResponse_Msg() {} func (*Response_Types) isResponse_Msg() {} func (*Response_Contacts) isResponse_Msg() {} func (*Response_Dbs) isResponse_Msg() {} func (*Response_Tables) isResponse_Msg() {} func (*Response_Rows) isResponse_Msg() {} func (*Response_Ui) isResponse_Msg() {} type Empty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Empty) String() string { return protoimpl.X.MessageStringOf(x) } func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{2} } type WxMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsSelf bool `protobuf:"varint,1,opt,name=is_self,json=isSelf,proto3" json:"is_self,omitempty"` // 是否自己发送的 IsGroup bool `protobuf:"varint,2,opt,name=is_group,json=isGroup,proto3" json:"is_group,omitempty"` // 是否群消息 Type int32 `protobuf:"varint,3,opt,name=type,proto3" json:"type,omitempty"` // 消息类型 Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` // 消息 id Xml string `protobuf:"bytes,5,opt,name=xml,proto3" json:"xml,omitempty"` // 消息 xml Sender string `protobuf:"bytes,6,opt,name=sender,proto3" json:"sender,omitempty"` // 消息发送者 Roomid string `protobuf:"bytes,7,opt,name=roomid,proto3" json:"roomid,omitempty"` // 群 id(如果是群消息的话) Content string `protobuf:"bytes,8,opt,name=content,proto3" json:"content,omitempty"` // 消息内容 Thumb string `protobuf:"bytes,9,opt,name=thumb,proto3" json:"thumb,omitempty"` // 缩略图 Extra string `protobuf:"bytes,10,opt,name=extra,proto3" json:"extra,omitempty"` // 附加内容 } func (x *WxMsg) Reset() { *x = WxMsg{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *WxMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*WxMsg) ProtoMessage() {} func (x *WxMsg) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WxMsg.ProtoReflect.Descriptor instead. func (*WxMsg) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{3} } func (x *WxMsg) GetIsSelf() bool { if x != nil { return x.IsSelf } return false } func (x *WxMsg) GetIsGroup() bool { if x != nil { return x.IsGroup } return false } func (x *WxMsg) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *WxMsg) GetId() string { if x != nil { return x.Id } return "" } func (x *WxMsg) GetXml() string { if x != nil { return x.Xml } return "" } func (x *WxMsg) GetSender() string { if x != nil { return x.Sender } return "" } func (x *WxMsg) GetRoomid() string { if x != nil { return x.Roomid } return "" } func (x *WxMsg) GetContent() string { if x != nil { return x.Content } return "" } func (x *WxMsg) GetThumb() string { if x != nil { return x.Thumb } return "" } func (x *WxMsg) GetExtra() string { if x != nil { return x.Extra } return "" } type TextMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` // 要发送的消息内容 Receiver string `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` // 消息接收人,当为群时可@ Aters string `protobuf:"bytes,3,opt,name=aters,proto3" json:"aters,omitempty"` // 要@的人列表,逗号分隔 } func (x *TextMsg) Reset() { *x = TextMsg{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *TextMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*TextMsg) ProtoMessage() {} func (x *TextMsg) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TextMsg.ProtoReflect.Descriptor instead. func (*TextMsg) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{4} } func (x *TextMsg) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *TextMsg) GetReceiver() string { if x != nil { return x.Receiver } return "" } func (x *TextMsg) GetAters() string { if x != nil { return x.Aters } return "" } type PathMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` // 要发送的图片的路径 Receiver string `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` // 消息接收人 } func (x *PathMsg) Reset() { *x = PathMsg{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PathMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*PathMsg) ProtoMessage() {} func (x *PathMsg) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PathMsg.ProtoReflect.Descriptor instead. func (*PathMsg) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{5} } func (x *PathMsg) GetPath() string { if x != nil { return x.Path } return "" } func (x *PathMsg) GetReceiver() string { if x != nil { return x.Receiver } return "" } type XmlMsg struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Receiver string `protobuf:"bytes,1,opt,name=receiver,proto3" json:"receiver,omitempty"` // 消息接收人 Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` // xml 内容 Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` // 图片路径 Type int32 `protobuf:"varint,4,opt,name=type,proto3" json:"type,omitempty"` // 消息类型 } func (x *XmlMsg) Reset() { *x = XmlMsg{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *XmlMsg) String() string { return protoimpl.X.MessageStringOf(x) } func (*XmlMsg) ProtoMessage() {} func (x *XmlMsg) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use XmlMsg.ProtoReflect.Descriptor instead. func (*XmlMsg) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{6} } func (x *XmlMsg) GetReceiver() string { if x != nil { return x.Receiver } return "" } func (x *XmlMsg) GetContent() string { if x != nil { return x.Content } return "" } func (x *XmlMsg) GetPath() string { if x != nil { return x.Path } return "" } func (x *XmlMsg) GetType() int32 { if x != nil { return x.Type } return 0 } type MsgTypes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Types map[int32]string `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *MsgTypes) Reset() { *x = MsgTypes{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MsgTypes) String() string { return protoimpl.X.MessageStringOf(x) } func (*MsgTypes) ProtoMessage() {} func (x *MsgTypes) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MsgTypes.ProtoReflect.Descriptor instead. func (*MsgTypes) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{7} } func (x *MsgTypes) GetTypes() map[int32]string { if x != nil { return x.Types } return nil } type RpcContact struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Wxid string `protobuf:"bytes,1,opt,name=wxid,proto3" json:"wxid,omitempty"` // 微信 id Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` // 微信号 Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark,omitempty"` // 备注 Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // 微信昵称 Country string `protobuf:"bytes,5,opt,name=country,proto3" json:"country,omitempty"` // 国家 Province string `protobuf:"bytes,6,opt,name=province,proto3" json:"province,omitempty"` // 省/州 City string `protobuf:"bytes,7,opt,name=city,proto3" json:"city,omitempty"` // 城市 Gender int32 `protobuf:"varint,8,opt,name=gender,proto3" json:"gender,omitempty"` // 性别 } func (x *RpcContact) Reset() { *x = RpcContact{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RpcContact) String() string { return protoimpl.X.MessageStringOf(x) } func (*RpcContact) ProtoMessage() {} func (x *RpcContact) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RpcContact.ProtoReflect.Descriptor instead. func (*RpcContact) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{8} } func (x *RpcContact) GetWxid() string { if x != nil { return x.Wxid } return "" } func (x *RpcContact) GetCode() string { if x != nil { return x.Code } return "" } func (x *RpcContact) GetRemark() string { if x != nil { return x.Remark } return "" } func (x *RpcContact) GetName() string { if x != nil { return x.Name } return "" } func (x *RpcContact) GetCountry() string { if x != nil { return x.Country } return "" } func (x *RpcContact) GetProvince() string { if x != nil { return x.Province } return "" } func (x *RpcContact) GetCity() string { if x != nil { return x.City } return "" } func (x *RpcContact) GetGender() int32 { if x != nil { return x.Gender } return 0 } type RpcContacts struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Contacts []*RpcContact `protobuf:"bytes,1,rep,name=contacts,proto3" json:"contacts,omitempty"` } func (x *RpcContacts) Reset() { *x = RpcContacts{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RpcContacts) String() string { return protoimpl.X.MessageStringOf(x) } func (*RpcContacts) ProtoMessage() {} func (x *RpcContacts) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RpcContacts.ProtoReflect.Descriptor instead. func (*RpcContacts) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{9} } func (x *RpcContacts) GetContacts() []*RpcContact { if x != nil { return x.Contacts } return nil } type DbNames struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` } func (x *DbNames) Reset() { *x = DbNames{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbNames) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbNames) ProtoMessage() {} func (x *DbNames) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbNames.ProtoReflect.Descriptor instead. func (*DbNames) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{10} } func (x *DbNames) GetNames() []string { if x != nil { return x.Names } return nil } type DbTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 表名 Sql string `protobuf:"bytes,2,opt,name=sql,proto3" json:"sql,omitempty"` // 建表 SQL } func (x *DbTable) Reset() { *x = DbTable{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbTable) ProtoMessage() {} func (x *DbTable) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbTable.ProtoReflect.Descriptor instead. func (*DbTable) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{11} } func (x *DbTable) GetName() string { if x != nil { return x.Name } return "" } func (x *DbTable) GetSql() string { if x != nil { return x.Sql } return "" } type DbTables struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tables []*DbTable `protobuf:"bytes,1,rep,name=tables,proto3" json:"tables,omitempty"` } func (x *DbTables) Reset() { *x = DbTables{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbTables) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbTables) ProtoMessage() {} func (x *DbTables) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbTables.ProtoReflect.Descriptor instead. func (*DbTables) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{12} } func (x *DbTables) GetTables() []*DbTable { if x != nil { return x.Tables } return nil } type DbQuery struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Db string `protobuf:"bytes,1,opt,name=db,proto3" json:"db,omitempty"` // 目标数据库 Sql string `protobuf:"bytes,2,opt,name=sql,proto3" json:"sql,omitempty"` // 查询 SQL } func (x *DbQuery) Reset() { *x = DbQuery{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbQuery) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbQuery) ProtoMessage() {} func (x *DbQuery) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbQuery.ProtoReflect.Descriptor instead. func (*DbQuery) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{13} } func (x *DbQuery) GetDb() string { if x != nil { return x.Db } return "" } func (x *DbQuery) GetSql() string { if x != nil { return x.Sql } return "" } type DbField struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // 字段类型 Column string `protobuf:"bytes,2,opt,name=column,proto3" json:"column,omitempty"` // 字段名称 Content []byte `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` // 字段内容 } func (x *DbField) Reset() { *x = DbField{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbField) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbField) ProtoMessage() {} func (x *DbField) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbField.ProtoReflect.Descriptor instead. func (*DbField) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{14} } func (x *DbField) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *DbField) GetColumn() string { if x != nil { return x.Column } return "" } func (x *DbField) GetContent() []byte { if x != nil { return x.Content } return nil } type DbRow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Fields []*DbField `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty"` } func (x *DbRow) Reset() { *x = DbRow{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbRow) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbRow) ProtoMessage() {} func (x *DbRow) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbRow.ProtoReflect.Descriptor instead. func (*DbRow) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{15} } func (x *DbRow) GetFields() []*DbField { if x != nil { return x.Fields } return nil } type DbRows struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Rows []*DbRow `protobuf:"bytes,1,rep,name=rows,proto3" json:"rows,omitempty"` } func (x *DbRows) Reset() { *x = DbRows{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DbRows) String() string { return protoimpl.X.MessageStringOf(x) } func (*DbRows) ProtoMessage() {} func (x *DbRows) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DbRows.ProtoReflect.Descriptor instead. func (*DbRows) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{16} } func (x *DbRows) GetRows() []*DbRow { if x != nil { return x.Rows } return nil } type Verification struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields V3 string `protobuf:"bytes,1,opt,name=v3,proto3" json:"v3,omitempty"` V4 string `protobuf:"bytes,2,opt,name=v4,proto3" json:"v4,omitempty"` } func (x *Verification) Reset() { *x = Verification{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Verification) String() string { return protoimpl.X.MessageStringOf(x) } func (*Verification) ProtoMessage() {} func (x *Verification) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Verification.ProtoReflect.Descriptor instead. func (*Verification) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{17} } func (x *Verification) GetV3() string { if x != nil { return x.V3 } return "" } func (x *Verification) GetV4() string { if x != nil { return x.V4 } return "" } type AddMembers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Roomid string `protobuf:"bytes,1,opt,name=roomid,proto3" json:"roomid,omitempty"` // 要加的群ID Wxids string `protobuf:"bytes,2,opt,name=wxids,proto3" json:"wxids,omitempty"` // 要加群的人列表,逗号分隔 } func (x *AddMembers) Reset() { *x = AddMembers{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddMembers) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddMembers) ProtoMessage() {} func (x *AddMembers) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AddMembers.ProtoReflect.Descriptor instead. func (*AddMembers) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{18} } func (x *AddMembers) GetRoomid() string { if x != nil { return x.Roomid } return "" } func (x *AddMembers) GetWxids() string { if x != nil { return x.Wxids } return "" } type UserInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Wxid string `protobuf:"bytes,1,opt,name=wxid,proto3" json:"wxid,omitempty"` // 微信ID Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 昵称 Mobile string `protobuf:"bytes,3,opt,name=mobile,proto3" json:"mobile,omitempty"` // 手机号 Home string `protobuf:"bytes,4,opt,name=home,proto3" json:"home,omitempty"` // 文件/图片等父路径 } func (x *UserInfo) Reset() { *x = UserInfo{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{19} } func (x *UserInfo) GetWxid() string { if x != nil { return x.Wxid } return "" } func (x *UserInfo) GetName() string { if x != nil { return x.Name } return "" } func (x *UserInfo) GetMobile() string { if x != nil { return x.Mobile } return "" } func (x *UserInfo) GetHome() string { if x != nil { return x.Home } return "" } type DecPath struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Src string `protobuf:"bytes,1,opt,name=src,proto3" json:"src,omitempty"` // 源路径 Dst string `protobuf:"bytes,2,opt,name=dst,proto3" json:"dst,omitempty"` // 目标路径 } func (x *DecPath) Reset() { *x = DecPath{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DecPath) String() string { return protoimpl.X.MessageStringOf(x) } func (*DecPath) ProtoMessage() {} func (x *DecPath) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DecPath.ProtoReflect.Descriptor instead. func (*DecPath) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{20} } func (x *DecPath) GetSrc() string { if x != nil { return x.Src } return "" } func (x *DecPath) GetDst() string { if x != nil { return x.Dst } return "" } type Transfer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Wxid string `protobuf:"bytes,1,opt,name=wxid,proto3" json:"wxid,omitempty"` // 转账人 Tid string `protobuf:"bytes,2,opt,name=tid,proto3" json:"tid,omitempty"` // 转账id transferid } func (x *Transfer) Reset() { *x = Transfer{} if protoimpl.UnsafeEnabled { mi := &file_wcf_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Transfer) String() string { return protoimpl.X.MessageStringOf(x) } func (*Transfer) ProtoMessage() {} func (x *Transfer) ProtoReflect() protoreflect.Message { mi := &file_wcf_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Transfer.ProtoReflect.Descriptor instead. func (*Transfer) Descriptor() ([]byte, []int) { return file_wcf_proto_rawDescGZIP(), []int{21} } func (x *Transfer) GetWxid() string { if x != nil { return x.Wxid } return "" } func (x *Transfer) GetTid() string { if x != nil { return x.Tid } return "" } var File_wcf_proto protoreflect.FileDescriptor var file_wcf_proto_rawDesc = []byte{ 0x0a, 0x09, 0x77, 0x63, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x77, 0x63, 0x66, 0x22, 0x80, 0x03, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x22, 0x0a, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x20, 0x0a, 0x03, 0x74, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x74, 0x78, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x01, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x01, 0x76, 0x12, 0x1f, 0x0a, 0x01, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x01, 0x6d, 0x12, 0x1f, 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x58, 0x6d, 0x6c, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x03, 0x78, 0x6d, 0x6c, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x65, 0x63, 0x50, 0x61, 0x74, 0x68, 0x48, 0x00, 0x52, 0x03, 0x64, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x02, 0x74, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x02, 0x74, 0x66, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xed, 0x02, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x66, 0x75, 0x6e, 0x63, 0x12, 0x18, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x22, 0x0a, 0x05, 0x77, 0x78, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x57, 0x78, 0x4d, 0x73, 0x67, 0x48, 0x00, 0x52, 0x05, 0x77, 0x78, 0x6d, 0x73, 0x67, 0x12, 0x25, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x03, 0x64, 0x62, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x48, 0x00, 0x52, 0x03, 0x64, 0x62, 0x73, 0x12, 0x27, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x73, 0x48, 0x00, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x12, 0x1f, 0x0a, 0x02, 0x75, 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x02, 0x75, 0x69, 0x42, 0x05, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0xe7, 0x01, 0x0a, 0x05, 0x57, 0x78, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x78, 0x6d, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x78, 0x6d, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x4d, 0x0a, 0x07, 0x54, 0x65, 0x78, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x74, 0x65, 0x72, 0x73, 0x22, 0x39, 0x0a, 0x07, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x06, 0x58, 0x6d, 0x6c, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x74, 0x0a, 0x08, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x38, 0x0a, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc2, 0x01, 0x0a, 0x0a, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x22, 0x3a, 0x0a, 0x0b, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x52, 0x70, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x73, 0x22, 0x1f, 0x0a, 0x07, 0x44, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x07, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x30, 0x0a, 0x08, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x07, 0x44, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x64, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x71, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x71, 0x6c, 0x22, 0x4f, 0x0a, 0x07, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x2d, 0x0a, 0x05, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x12, 0x24, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x28, 0x0a, 0x06, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x73, 0x12, 0x1e, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x77, 0x63, 0x66, 0x2e, 0x44, 0x62, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0x2e, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x33, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x76, 0x34, 0x22, 0x3a, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x78, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x77, 0x78, 0x69, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x07, 0x44, 0x65, 0x63, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x72, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x73, 0x74, 0x22, 0x30, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x77, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x77, 0x78, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x69, 0x64, 0x2a, 0xd3, 0x03, 0x0a, 0x09, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x49, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x57, 0x58, 0x49, 0x44, 0x10, 0x10, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x4d, 0x53, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x43, 0x54, 0x53, 0x10, 0x12, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x42, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x10, 0x13, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x42, 0x5f, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x53, 0x10, 0x14, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x47, 0x45, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x20, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x4d, 0x47, 0x10, 0x21, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x22, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x58, 0x4d, 0x4c, 0x10, 0x23, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x45, 0x4d, 0x4f, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x24, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x30, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x58, 0x54, 0x10, 0x40, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x44, 0x42, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x50, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x46, 0x52, 0x49, 0x45, 0x4e, 0x44, 0x10, 0x51, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x53, 0x10, 0x52, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x52, 0x45, 0x43, 0x56, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x10, 0x53, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x43, 0x5f, 0x44, 0x45, 0x43, 0x52, 0x59, 0x50, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x60, 0x42, 0x14, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x2e, 0x69, 0x61, 0x6d, 0x74, 0x65, 0x65, 0x72, 0x5a, 0x05, 0x2e, 0x2f, 0x77, 0x63, 0x66, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_wcf_proto_rawDescOnce sync.Once file_wcf_proto_rawDescData = file_wcf_proto_rawDesc ) func file_wcf_proto_rawDescGZIP() []byte { file_wcf_proto_rawDescOnce.Do(func() { file_wcf_proto_rawDescData = protoimpl.X.CompressGZIP(file_wcf_proto_rawDescData) }) return file_wcf_proto_rawDescData } var file_wcf_proto_enumTypes = make([]protoimpl.EnumInfo, 1) var file_wcf_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_wcf_proto_goTypes = []interface{}{ (Functions)(0), // 0: wcf.Functions (*Request)(nil), // 1: wcf.Request (*Response)(nil), // 2: wcf.Response (*Empty)(nil), // 3: wcf.Empty (*WxMsg)(nil), // 4: wcf.WxMsg (*TextMsg)(nil), // 5: wcf.TextMsg (*PathMsg)(nil), // 6: wcf.PathMsg (*XmlMsg)(nil), // 7: wcf.XmlMsg (*MsgTypes)(nil), // 8: wcf.MsgTypes (*RpcContact)(nil), // 9: wcf.RpcContact (*RpcContacts)(nil), // 10: wcf.RpcContacts (*DbNames)(nil), // 11: wcf.DbNames (*DbTable)(nil), // 12: wcf.DbTable (*DbTables)(nil), // 13: wcf.DbTables (*DbQuery)(nil), // 14: wcf.DbQuery (*DbField)(nil), // 15: wcf.DbField (*DbRow)(nil), // 16: wcf.DbRow (*DbRows)(nil), // 17: wcf.DbRows (*Verification)(nil), // 18: wcf.Verification (*AddMembers)(nil), // 19: wcf.AddMembers (*UserInfo)(nil), // 20: wcf.UserInfo (*DecPath)(nil), // 21: wcf.DecPath (*Transfer)(nil), // 22: wcf.Transfer nil, // 23: wcf.MsgTypes.TypesEntry } var file_wcf_proto_depIdxs = []int32{ 0, // 0: wcf.Request.func:type_name -> wcf.Functions 3, // 1: wcf.Request.empty:type_name -> wcf.Empty 5, // 2: wcf.Request.txt:type_name -> wcf.TextMsg 6, // 3: wcf.Request.file:type_name -> wcf.PathMsg 14, // 4: wcf.Request.query:type_name -> wcf.DbQuery 18, // 5: wcf.Request.v:type_name -> wcf.Verification 19, // 6: wcf.Request.m:type_name -> wcf.AddMembers 7, // 7: wcf.Request.xml:type_name -> wcf.XmlMsg 21, // 8: wcf.Request.dec:type_name -> wcf.DecPath 22, // 9: wcf.Request.tf:type_name -> wcf.Transfer 0, // 10: wcf.Response.func:type_name -> wcf.Functions 4, // 11: wcf.Response.wxmsg:type_name -> wcf.WxMsg 8, // 12: wcf.Response.types:type_name -> wcf.MsgTypes 10, // 13: wcf.Response.contacts:type_name -> wcf.RpcContacts 11, // 14: wcf.Response.dbs:type_name -> wcf.DbNames 13, // 15: wcf.Response.tables:type_name -> wcf.DbTables 17, // 16: wcf.Response.rows:type_name -> wcf.DbRows 20, // 17: wcf.Response.ui:type_name -> wcf.UserInfo 23, // 18: wcf.MsgTypes.types:type_name -> wcf.MsgTypes.TypesEntry 9, // 19: wcf.RpcContacts.contacts:type_name -> wcf.RpcContact 12, // 20: wcf.DbTables.tables:type_name -> wcf.DbTable 15, // 21: wcf.DbRow.fields:type_name -> wcf.DbField 16, // 22: wcf.DbRows.rows:type_name -> wcf.DbRow 23, // [23:23] is the sub-list for method output_type 23, // [23:23] is the sub-list for method input_type 23, // [23:23] is the sub-list for extension type_name 23, // [23:23] is the sub-list for extension extendee 0, // [0:23] is the sub-list for field type_name } func init() { file_wcf_proto_init() } func file_wcf_proto_init() { if File_wcf_proto != nil { return } if !protoimpl.UnsafeEnabled { file_wcf_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Request); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Response); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Empty); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WxMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TextMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XmlMsg); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MsgTypes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RpcContact); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RpcContacts); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbNames); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbTables); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbQuery); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbField); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbRow); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DbRows); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Verification); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddMembers); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DecPath); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_wcf_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Transfer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } file_wcf_proto_msgTypes[0].OneofWrappers = []interface{}{ (*Request_Empty)(nil), (*Request_Str)(nil), (*Request_Txt)(nil), (*Request_File)(nil), (*Request_Query)(nil), (*Request_V)(nil), (*Request_M)(nil), (*Request_Xml)(nil), (*Request_Dec)(nil), (*Request_Tf)(nil), } file_wcf_proto_msgTypes[1].OneofWrappers = []interface{}{ (*Response_Status)(nil), (*Response_Str)(nil), (*Response_Wxmsg)(nil), (*Response_Types)(nil), (*Response_Contacts)(nil), (*Response_Dbs)(nil), (*Response_Tables)(nil), (*Response_Rows)(nil), (*Response_Ui)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_wcf_proto_rawDesc, NumEnums: 1, NumMessages: 23, NumExtensions: 0, NumServices: 0, }, GoTypes: file_wcf_proto_goTypes, DependencyIndexes: file_wcf_proto_depIdxs, EnumInfos: file_wcf_proto_enumTypes, MessageInfos: file_wcf_proto_msgTypes, }.Build() File_wcf_proto = out.File file_wcf_proto_rawDesc = nil file_wcf_proto_goTypes = nil file_wcf_proto_depIdxs = nil }