// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.25.0
// 	protoc        v3.11.4
// source: mtp2.proto

package pb

import (
	proto "github.com/golang/protobuf/proto"
	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)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// 消息头
type MessageHead struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FunCode       *uint32 `protobuf:"varint,1,opt,name=FunCode" json:"FunCode,omitempty"`             // 功能号
	RequestID     *uint32 `protobuf:"varint,2,opt,name=RequestID" json:"RequestID,omitempty"`         // 客户端的流水ID
	AccountID     *uint64 `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`         // 账号ID
	AccessID      *uint32 `protobuf:"varint,4,opt,name=AccessID" json:"AccessID,omitempty"`           //二级分配给客户端的接入ID
	ClientTime    *int64  `protobuf:"varint,5,opt,name=ClientTime" json:"ClientTime,omitempty"`       //消息发起时间
	GoodsID       *uint32 `protobuf:"varint,6,opt,name=GoodsID" json:"GoodsID,omitempty"`             //商品ID
	UUID          *string `protobuf:"bytes,7,opt,name=UUID" json:"UUID,omitempty"`                    // 消息唯一ID
	MarketID      *uint32 `protobuf:"varint,8,opt,name=MarketID" json:"MarketID,omitempty"`           // 所属市场ID
	UserID        *uint32 `protobuf:"varint,9,opt,name=UserID" json:"UserID,omitempty"`               // 用户ID
	ResponseTopic *string `protobuf:"bytes,10,opt,name=ResponseTopic" json:"ResponseTopic,omitempty"` // 应答消息所属主题
	AccountID2    *uint64 `protobuf:"varint,11,opt,name=AccountID2" json:"AccountID2,omitempty"`      // 账号ID-币币交易使用
}

func (x *MessageHead) Reset() {
	*x = MessageHead{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MessageHead) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageHead) ProtoMessage() {}

func (x *MessageHead) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 MessageHead.ProtoReflect.Descriptor instead.
func (*MessageHead) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{0}
}

func (x *MessageHead) GetFunCode() uint32 {
	if x != nil && x.FunCode != nil {
		return *x.FunCode
	}
	return 0
}

func (x *MessageHead) GetRequestID() uint32 {
	if x != nil && x.RequestID != nil {
		return *x.RequestID
	}
	return 0
}

func (x *MessageHead) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *MessageHead) GetAccessID() uint32 {
	if x != nil && x.AccessID != nil {
		return *x.AccessID
	}
	return 0
}

func (x *MessageHead) GetClientTime() int64 {
	if x != nil && x.ClientTime != nil {
		return *x.ClientTime
	}
	return 0
}

func (x *MessageHead) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *MessageHead) GetUUID() string {
	if x != nil && x.UUID != nil {
		return *x.UUID
	}
	return ""
}

func (x *MessageHead) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *MessageHead) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *MessageHead) GetResponseTopic() string {
	if x != nil && x.ResponseTopic != nil {
		return *x.ResponseTopic
	}
	return ""
}

func (x *MessageHead) GetAccountID2() uint64 {
	if x != nil && x.AccountID2 != nil {
		return *x.AccountID2
	}
	return 0
}

// 公共通知消息头
type NotifyHead struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NtfMode        *int32   `protobuf:"varint,1,opt,name=NtfMode" json:"NtfMode,omitempty"`               // 消息通知模式(单播、组播、广播)
	ExcludeAcctIDs []uint32 `protobuf:"varint,2,rep,name=ExcludeAcctIDs" json:"ExcludeAcctIDs,omitempty"` // 排除账号集合（首先过滤此集合帐号）
	ExchIDs        []uint32 `protobuf:"varint,3,rep,name=ExchIDs" json:"ExchIDs,omitempty"`               // 目标交易所集合（若匹配所属交易所，推送）
	MemberIDs      []uint32 `protobuf:"varint,4,rep,name=MemberIDs" json:"MemberIDs,omitempty"`           // 目标会员集合（若匹配所属会员，推送）
	AccountIDs     []uint64 `protobuf:"varint,5,rep,name=AccountIDs" json:"AccountIDs,omitempty"`         // 目标账号集合（以上均不匹配时，最后检查此集合）
}

func (x *NotifyHead) Reset() {
	*x = NotifyHead{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NotifyHead) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NotifyHead) ProtoMessage() {}

func (x *NotifyHead) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 NotifyHead.ProtoReflect.Descriptor instead.
func (*NotifyHead) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{1}
}

func (x *NotifyHead) GetNtfMode() int32 {
	if x != nil && x.NtfMode != nil {
		return *x.NtfMode
	}
	return 0
}

func (x *NotifyHead) GetExcludeAcctIDs() []uint32 {
	if x != nil {
		return x.ExcludeAcctIDs
	}
	return nil
}

func (x *NotifyHead) GetExchIDs() []uint32 {
	if x != nil {
		return x.ExchIDs
	}
	return nil
}

func (x *NotifyHead) GetMemberIDs() []uint32 {
	if x != nil {
		return x.MemberIDs
	}
	return nil
}

func (x *NotifyHead) GetAccountIDs() []uint64 {
	if x != nil {
		return x.AccountIDs
	}
	return nil
}

// 资金变化通知
type MoneyChangedNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`        // 消息头
	NtfHeader *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`  // NotifyHead 公共消息头
	AccountID *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"` // uint64 交易账号
}

func (x *MoneyChangedNtf) Reset() {
	*x = MoneyChangedNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MoneyChangedNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoneyChangedNtf) ProtoMessage() {}

func (x *MoneyChangedNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 MoneyChangedNtf.ProtoReflect.Descriptor instead.
func (*MoneyChangedNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{2}
}

func (x *MoneyChangedNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MoneyChangedNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *MoneyChangedNtf) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

// 平仓单平仓明细
type ArrayCloseInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ClosedOrderID   *uint64  `protobuf:"varint,1,opt,name=ClosedOrderID" json:"ClosedOrderID,omitempty"`      // 被平持仓单ID
	ClosedQty       *uint64  `protobuf:"varint,2,opt,name=ClosedQty" json:"ClosedQty,omitempty"`              // 被平仓数量
	ClosePL         *float64 `protobuf:"fixed64,3,opt,name=ClosePL" json:"ClosePL,omitempty"`                 // 平仓盈亏
	RlsUsedMargin   *float64 `protobuf:"fixed64,4,opt,name=RlsUsedMargin" json:"RlsUsedMargin,omitempty"`     // 释放的占用保证金
	TradeCharge     *float64 `protobuf:"fixed64,5,opt,name=TradeCharge" json:"TradeCharge,omitempty"`         // 平仓手续费
	WareHouseCharge *float64 `protobuf:"fixed64,6,opt,name=WareHouseCharge" json:"WareHouseCharge,omitempty"` // 仓单服务费
	TradeAmount     *float64 `protobuf:"fixed64,7,opt,name=TradeAmount" json:"TradeAmount,omitempty"`         // 成交金额
	OpenTime        *string  `protobuf:"bytes,8,opt,name=OpenTime" json:"OpenTime,omitempty"`                 // 开仓时间(对冲接口用)
	OpenPrice       *float64 `protobuf:"fixed64,9,opt,name=OpenPrice" json:"OpenPrice,omitempty"`             // 开仓价格(对冲接口用)
	MatchAccountID  *uint64  `protobuf:"varint,10,opt,name=MatchAccountID" json:"MatchAccountID,omitempty"`   // 对手方资金账号代码
	RealClosePL     *float64 `protobuf:"fixed64,11,opt,name=RealClosePL" json:"RealClosePL,omitempty"`        // 实际盈亏
}

func (x *ArrayCloseInfo) Reset() {
	*x = ArrayCloseInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ArrayCloseInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArrayCloseInfo) ProtoMessage() {}

func (x *ArrayCloseInfo) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 ArrayCloseInfo.ProtoReflect.Descriptor instead.
func (*ArrayCloseInfo) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{3}
}

func (x *ArrayCloseInfo) GetClosedOrderID() uint64 {
	if x != nil && x.ClosedOrderID != nil {
		return *x.ClosedOrderID
	}
	return 0
}

func (x *ArrayCloseInfo) GetClosedQty() uint64 {
	if x != nil && x.ClosedQty != nil {
		return *x.ClosedQty
	}
	return 0
}

func (x *ArrayCloseInfo) GetClosePL() float64 {
	if x != nil && x.ClosePL != nil {
		return *x.ClosePL
	}
	return 0
}

func (x *ArrayCloseInfo) GetRlsUsedMargin() float64 {
	if x != nil && x.RlsUsedMargin != nil {
		return *x.RlsUsedMargin
	}
	return 0
}

func (x *ArrayCloseInfo) GetTradeCharge() float64 {
	if x != nil && x.TradeCharge != nil {
		return *x.TradeCharge
	}
	return 0
}

func (x *ArrayCloseInfo) GetWareHouseCharge() float64 {
	if x != nil && x.WareHouseCharge != nil {
		return *x.WareHouseCharge
	}
	return 0
}

func (x *ArrayCloseInfo) GetTradeAmount() float64 {
	if x != nil && x.TradeAmount != nil {
		return *x.TradeAmount
	}
	return 0
}

func (x *ArrayCloseInfo) GetOpenTime() string {
	if x != nil && x.OpenTime != nil {
		return *x.OpenTime
	}
	return ""
}

func (x *ArrayCloseInfo) GetOpenPrice() float64 {
	if x != nil && x.OpenPrice != nil {
		return *x.OpenPrice
	}
	return 0
}

func (x *ArrayCloseInfo) GetMatchAccountID() uint64 {
	if x != nil && x.MatchAccountID != nil {
		return *x.MatchAccountID
	}
	return 0
}

func (x *ArrayCloseInfo) GetRealClosePL() float64 {
	if x != nil && x.RealClosePL != nil {
		return *x.RealClosePL
	}
	return 0
}

// 委托单成交通知
type OrderDealedNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead      `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                      // 消息头
	NtfHeader       *NotifyHead       `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`                // NotifyHead 公共消息头
	OrderID         *uint64           `protobuf:"varint,3,opt,name=OrderID" json:"OrderID,omitempty"`                   // uint64 一级生成的订单号
	ClientSerialNo  *string           `protobuf:"bytes,4,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`      // string 客户端流水号
	GoodsID         *uint32           `protobuf:"varint,5,opt,name=GoodsID" json:"GoodsID,omitempty"`                   // uint32 原始委托商品代码
	TradeQty        *uint64           `protobuf:"varint,6,opt,name=TradeQty" json:"TradeQty,omitempty"`                 // uint64 成交数量
	Amount          *float64          `protobuf:"fixed64,7,opt,name=Amount" json:"Amount,omitempty"`                    // double 成交金额
	ActiveQty       *uint64           `protobuf:"varint,8,opt,name=ActiveQty" json:"ActiveQty,omitempty"`               // uint64 激活数量，即剩余数量
	OrderStatus     *uint32           `protobuf:"varint,9,opt,name=OrderStatus" json:"OrderStatus,omitempty"`           // uint32 单据状态
	TradeID         *uint64           `protobuf:"varint,10,opt,name=TradeID" json:"TradeID,omitempty"`                  // uint64 成交ID
	AccountID       *uint64           `protobuf:"varint,11,opt,name=AccountID" json:"AccountID,omitempty"`              // uint64 资金账号代码
	TradePrice      *float64          `protobuf:"fixed64,12,opt,name=TradePrice" json:"TradePrice,omitempty"`           // double 成交价格
	BuyOrSell       *uint32           `protobuf:"varint,13,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`              // uint32 买卖方向
	OrderQty        *uint64           `protobuf:"varint,14,opt,name=OrderQty" json:"OrderQty,omitempty"`                // uint64 委托数量
	OrderType       *uint32           `protobuf:"varint,15,opt,name=OrderType" json:"OrderType,omitempty"`              // uint32 订单类型
	TradeTime       *string           `protobuf:"bytes,16,opt,name=TradeTime" json:"TradeTime,omitempty"`               // string 成交时间
	CloseInfos      []*ArrayCloseInfo `protobuf:"bytes,17,rep,name=CloseInfos" json:"CloseInfos,omitempty"`             // ArrayCloseInfo 平仓信息
	SpecialAccount  *uint32           `protobuf:"varint,18,opt,name=SpecialAccount" json:"SpecialAccount,omitempty"`    // uint32 特别会员账号
	TradeCharge     *float64          `protobuf:"fixed64,19,opt,name=TradeCharge" json:"TradeCharge,omitempty"`         // double 成交手续费
	WareHouseCharge *float64          `protobuf:"fixed64,20,opt,name=WareHouseCharge" json:"WareHouseCharge,omitempty"` // double 仓单服务费
	UsedMargin      *float64          `protobuf:"fixed64,21,opt,name=UsedMargin" json:"UsedMargin,omitempty"`           // double 占用保证金
	OperatorID      *uint32           `protobuf:"varint,22,opt,name=OperatorID" json:"OperatorID,omitempty"`            // uint32 操作员账号ID
	MemberID        *uint32           `protobuf:"varint,23,opt,name=MemberID" json:"MemberID,omitempty"`                // uint32 会员账号，会员系统平仓使用
	MatchAccountID  *uint64           `protobuf:"varint,24,opt,name=MatchAccountID" json:"MatchAccountID,omitempty"`    // uint64 对手方资金账号代码
	BuildType       *uint32           `protobuf:"varint,25,opt,name=BuildType" json:"BuildType,omitempty"`              // uint32 下单类型
	CloseType       *uint32           `protobuf:"varint,26,opt,name=CloseType" json:"CloseType,omitempty"`              // uint32 平仓类型
}

func (x *OrderDealedNtf) Reset() {
	*x = OrderDealedNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OrderDealedNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OrderDealedNtf) ProtoMessage() {}

func (x *OrderDealedNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 OrderDealedNtf.ProtoReflect.Descriptor instead.
func (*OrderDealedNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{4}
}

func (x *OrderDealedNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OrderDealedNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *OrderDealedNtf) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *OrderDealedNtf) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *OrderDealedNtf) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *OrderDealedNtf) GetTradeQty() uint64 {
	if x != nil && x.TradeQty != nil {
		return *x.TradeQty
	}
	return 0
}

func (x *OrderDealedNtf) GetAmount() float64 {
	if x != nil && x.Amount != nil {
		return *x.Amount
	}
	return 0
}

func (x *OrderDealedNtf) GetActiveQty() uint64 {
	if x != nil && x.ActiveQty != nil {
		return *x.ActiveQty
	}
	return 0
}

func (x *OrderDealedNtf) GetOrderStatus() uint32 {
	if x != nil && x.OrderStatus != nil {
		return *x.OrderStatus
	}
	return 0
}

func (x *OrderDealedNtf) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *OrderDealedNtf) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OrderDealedNtf) GetTradePrice() float64 {
	if x != nil && x.TradePrice != nil {
		return *x.TradePrice
	}
	return 0
}

func (x *OrderDealedNtf) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *OrderDealedNtf) GetOrderQty() uint64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *OrderDealedNtf) GetOrderType() uint32 {
	if x != nil && x.OrderType != nil {
		return *x.OrderType
	}
	return 0
}

func (x *OrderDealedNtf) GetTradeTime() string {
	if x != nil && x.TradeTime != nil {
		return *x.TradeTime
	}
	return ""
}

func (x *OrderDealedNtf) GetCloseInfos() []*ArrayCloseInfo {
	if x != nil {
		return x.CloseInfos
	}
	return nil
}

func (x *OrderDealedNtf) GetSpecialAccount() uint32 {
	if x != nil && x.SpecialAccount != nil {
		return *x.SpecialAccount
	}
	return 0
}

func (x *OrderDealedNtf) GetTradeCharge() float64 {
	if x != nil && x.TradeCharge != nil {
		return *x.TradeCharge
	}
	return 0
}

func (x *OrderDealedNtf) GetWareHouseCharge() float64 {
	if x != nil && x.WareHouseCharge != nil {
		return *x.WareHouseCharge
	}
	return 0
}

func (x *OrderDealedNtf) GetUsedMargin() float64 {
	if x != nil && x.UsedMargin != nil {
		return *x.UsedMargin
	}
	return 0
}

func (x *OrderDealedNtf) GetOperatorID() uint32 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *OrderDealedNtf) GetMemberID() uint32 {
	if x != nil && x.MemberID != nil {
		return *x.MemberID
	}
	return 0
}

func (x *OrderDealedNtf) GetMatchAccountID() uint64 {
	if x != nil && x.MatchAccountID != nil {
		return *x.MatchAccountID
	}
	return 0
}

func (x *OrderDealedNtf) GetBuildType() uint32 {
	if x != nil && x.BuildType != nil {
		return *x.BuildType
	}
	return 0
}

func (x *OrderDealedNtf) GetCloseType() uint32 {
	if x != nil && x.CloseType != nil {
		return *x.CloseType
	}
	return 0
}

// 市场状态变更通知
type MarketStatusChangeNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header     *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`         // 消息头
	NtfHeader  *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`   // NotifyHead 公共消息头
	MarketID   *uint32      `protobuf:"varint,3,opt,name=MarketID" json:"MarketID,omitempty"`    // uint32 市场ID
	Status     *uint32      `protobuf:"varint,4,opt,name=Status" json:"Status,omitempty"`        // uint32 状态
	StepType   *uint32      `protobuf:"varint,5,opt,name=StepType" json:"StepType,omitempty"`    // uint32 阶段
	TradeDay   *string      `protobuf:"bytes,6,opt,name=TradeDay" json:"TradeDay,omitempty"`     // string 交易日
	NotifyTime *string      `protobuf:"bytes,7,opt,name=NotifyTime" json:"NotifyTime,omitempty"` // string 通知发送时间
}

func (x *MarketStatusChangeNtf) Reset() {
	*x = MarketStatusChangeNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarketStatusChangeNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarketStatusChangeNtf) ProtoMessage() {}

func (x *MarketStatusChangeNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 MarketStatusChangeNtf.ProtoReflect.Descriptor instead.
func (*MarketStatusChangeNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{5}
}

func (x *MarketStatusChangeNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MarketStatusChangeNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *MarketStatusChangeNtf) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *MarketStatusChangeNtf) GetStatus() uint32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *MarketStatusChangeNtf) GetStepType() uint32 {
	if x != nil && x.StepType != nil {
		return *x.StepType
	}
	return 0
}

func (x *MarketStatusChangeNtf) GetTradeDay() string {
	if x != nil && x.TradeDay != nil {
		return *x.TradeDay
	}
	return ""
}

func (x *MarketStatusChangeNtf) GetNotifyTime() string {
	if x != nil && x.NotifyTime != nil {
		return *x.NotifyTime
	}
	return ""
}

// 挂牌委托变更广播通知
type ListingOrderChangeNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`        // 消息头
	NtfHeader *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`  // NotifyHead 公共消息头
	OrderID   *uint64      `protobuf:"varint,3,opt,name=OrderID" json:"OrderID,omitempty"`     // uint64 委托单号
	OrderQty  *uint64      `protobuf:"varint,4,opt,name=OrderQty" json:"OrderQty,omitempty"`   // uint64 委托数量
	TradeQty  *uint64      `protobuf:"varint,5,opt,name=TradeQty" json:"TradeQty,omitempty"`   // uint64 成交数量
	CancelQty *uint64      `protobuf:"varint,6,opt,name=CancelQty" json:"CancelQty,omitempty"` // uint64 撤销数量
}

func (x *ListingOrderChangeNtf) Reset() {
	*x = ListingOrderChangeNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListingOrderChangeNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListingOrderChangeNtf) ProtoMessage() {}

func (x *ListingOrderChangeNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 ListingOrderChangeNtf.ProtoReflect.Descriptor instead.
func (*ListingOrderChangeNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{6}
}

func (x *ListingOrderChangeNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ListingOrderChangeNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *ListingOrderChangeNtf) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *ListingOrderChangeNtf) GetOrderQty() uint64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *ListingOrderChangeNtf) GetTradeQty() uint64 {
	if x != nil && x.TradeQty != nil {
		return *x.TradeQty
	}
	return 0
}

func (x *ListingOrderChangeNtf) GetCancelQty() uint64 {
	if x != nil && x.CancelQty != nil {
		return *x.CancelQty
	}
	return 0
}

// 文件列表
type FileDetail struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FileName *string `protobuf:"bytes,1,opt,name=FileName" json:"FileName,omitempty"` // 文件名
	FilePath *string `protobuf:"bytes,2,opt,name=FilePath" json:"FilePath,omitempty"` // 文件地址
}

func (x *FileDetail) Reset() {
	*x = FileDetail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FileDetail) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FileDetail) ProtoMessage() {}

func (x *FileDetail) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 FileDetail.ProtoReflect.Descriptor instead.
func (*FileDetail) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{7}
}

func (x *FileDetail) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *FileDetail) GetFilePath() string {
	if x != nil && x.FilePath != nil {
		return *x.FilePath
	}
	return ""
}

// 修改账户密码请求
type ModifyPwdReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ModifyPwdType *uint32      `protobuf:"varint,2,opt,name=ModifyPwdType" json:"ModifyPwdType,omitempty"` // 修改密码类型1：登陆密码2：资金账户密码
	ModifyPwdID   *uint64      `protobuf:"varint,3,opt,name=ModifyPwdID" json:"ModifyPwdID,omitempty"`     // 被修改的ID(ModifyType=1:LoginIDModifyType=2:AccountID)
	OldPwd        *string      `protobuf:"bytes,4,opt,name=OldPwd" json:"OldPwd,omitempty"`                // 旧资金密码
	NewPwd        *string      `protobuf:"bytes,5,opt,name=NewPwd" json:"NewPwd,omitempty"`                // 新资金密码
}

func (x *ModifyPwdReq) Reset() {
	*x = ModifyPwdReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyPwdReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyPwdReq) ProtoMessage() {}

func (x *ModifyPwdReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 ModifyPwdReq.ProtoReflect.Descriptor instead.
func (*ModifyPwdReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{8}
}

func (x *ModifyPwdReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ModifyPwdReq) GetModifyPwdType() uint32 {
	if x != nil && x.ModifyPwdType != nil {
		return *x.ModifyPwdType
	}
	return 0
}

func (x *ModifyPwdReq) GetModifyPwdID() uint64 {
	if x != nil && x.ModifyPwdID != nil {
		return *x.ModifyPwdID
	}
	return 0
}

func (x *ModifyPwdReq) GetOldPwd() string {
	if x != nil && x.OldPwd != nil {
		return *x.OldPwd
	}
	return ""
}

func (x *ModifyPwdReq) GetNewPwd() string {
	if x != nil && x.NewPwd != nil {
		return *x.NewPwd
	}
	return ""
}

// 修改账户密码应答
type ModifyPwdRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`    // 消息头
	RetCode *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"` // 返回码
	RetDesc *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`  // 描述信息
}

func (x *ModifyPwdRsp) Reset() {
	*x = ModifyPwdRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyPwdRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyPwdRsp) ProtoMessage() {}

func (x *ModifyPwdRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 ModifyPwdRsp.ProtoReflect.Descriptor instead.
func (*ModifyPwdRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{9}
}

func (x *ModifyPwdRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ModifyPwdRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ModifyPwdRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

// 新增修改收货地址请求
type UserReceiveInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialID *uint64      `protobuf:"varint,2,opt,name=ClientSerialID" json:"ClientSerialID,omitempty"` // 客户端唯一ID
	UserID         *uint32      `protobuf:"varint,3,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	ReceiverName   *string      `protobuf:"bytes,4,opt,name=ReceiverName" json:"ReceiverName,omitempty"`      // 提货人姓名
	CardTypeID     *uint32      `protobuf:"varint,5,opt,name=CardTypeID" json:"CardTypeID,omitempty"`         // 证件类型
	CardNum        *string      `protobuf:"bytes,6,opt,name=CardNum" json:"CardNum,omitempty"`                // 证件号码
	PhoneNum       *string      `protobuf:"bytes,7,opt,name=PhoneNum" json:"PhoneNum,omitempty"`              // 提货人联系方式
	CountryID      *uint32      `protobuf:"varint,8,opt,name=CountryID" json:"CountryID,omitempty"`           // 国家
	ProvinceID     *uint32      `protobuf:"varint,9,opt,name=ProvinceID" json:"ProvinceID,omitempty"`         // 省
	CityID         *uint32      `protobuf:"varint,10,opt,name=CityID" json:"CityID,omitempty"`                // 市
	DistrictID     *uint32      `protobuf:"varint,11,opt,name=DistrictID" json:"DistrictID,omitempty"`        // 地区
	Address        *string      `protobuf:"bytes,12,opt,name=Address" json:"Address,omitempty"`               // 提货人详细地址
	TakeRemark     *string      `protobuf:"bytes,13,opt,name=TakeRemark" json:"TakeRemark,omitempty"`         // 提货备注
	ReceiveInfoId  *uint64      `protobuf:"varint,14,opt,name=ReceiveInfoId" json:"ReceiveInfoId,omitempty"`  // 修改时填收货地址id
}

func (x *UserReceiveInfoReq) Reset() {
	*x = UserReceiveInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiveInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiveInfoReq) ProtoMessage() {}

func (x *UserReceiveInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiveInfoReq.ProtoReflect.Descriptor instead.
func (*UserReceiveInfoReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{10}
}

func (x *UserReceiveInfoReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiveInfoReq) GetClientSerialID() uint64 {
	if x != nil && x.ClientSerialID != nil {
		return *x.ClientSerialID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetReceiverName() string {
	if x != nil && x.ReceiverName != nil {
		return *x.ReceiverName
	}
	return ""
}

func (x *UserReceiveInfoReq) GetCardTypeID() uint32 {
	if x != nil && x.CardTypeID != nil {
		return *x.CardTypeID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetCardNum() string {
	if x != nil && x.CardNum != nil {
		return *x.CardNum
	}
	return ""
}

func (x *UserReceiveInfoReq) GetPhoneNum() string {
	if x != nil && x.PhoneNum != nil {
		return *x.PhoneNum
	}
	return ""
}

func (x *UserReceiveInfoReq) GetCountryID() uint32 {
	if x != nil && x.CountryID != nil {
		return *x.CountryID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetProvinceID() uint32 {
	if x != nil && x.ProvinceID != nil {
		return *x.ProvinceID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetCityID() uint32 {
	if x != nil && x.CityID != nil {
		return *x.CityID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetDistrictID() uint32 {
	if x != nil && x.DistrictID != nil {
		return *x.DistrictID
	}
	return 0
}

func (x *UserReceiveInfoReq) GetAddress() string {
	if x != nil && x.Address != nil {
		return *x.Address
	}
	return ""
}

func (x *UserReceiveInfoReq) GetTakeRemark() string {
	if x != nil && x.TakeRemark != nil {
		return *x.TakeRemark
	}
	return ""
}

func (x *UserReceiveInfoReq) GetReceiveInfoId() uint64 {
	if x != nil && x.ReceiveInfoId != nil {
		return *x.ReceiveInfoId
	}
	return 0
}

// 新增修改收货地址请求响应
type UserReceiveInfoRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                // 消息头
	RetCode       *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`             // 返回码
	RetDesc       *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`              // 描述信息
	ReceiveInfoId *uint64      `protobuf:"varint,4,opt,name=ReceiveInfoId" json:"ReceiveInfoId,omitempty"` // 响应返回autoid
}

func (x *UserReceiveInfoRsp) Reset() {
	*x = UserReceiveInfoRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiveInfoRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiveInfoRsp) ProtoMessage() {}

func (x *UserReceiveInfoRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiveInfoRsp.ProtoReflect.Descriptor instead.
func (*UserReceiveInfoRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{11}
}

func (x *UserReceiveInfoRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiveInfoRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *UserReceiveInfoRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *UserReceiveInfoRsp) GetReceiveInfoId() uint64 {
	if x != nil && x.ReceiveInfoId != nil {
		return *x.ReceiveInfoId
	}
	return 0
}

// 删除收货地址请求
type DelUserReceiveInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ReceiveInfoId *uint64      `protobuf:"varint,2,opt,name=ReceiveInfoId" json:"ReceiveInfoId,omitempty"` // 收货地址id
}

func (x *DelUserReceiveInfoReq) Reset() {
	*x = DelUserReceiveInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DelUserReceiveInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserReceiveInfoReq) ProtoMessage() {}

func (x *DelUserReceiveInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 DelUserReceiveInfoReq.ProtoReflect.Descriptor instead.
func (*DelUserReceiveInfoReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{12}
}

func (x *DelUserReceiveInfoReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DelUserReceiveInfoReq) GetReceiveInfoId() uint64 {
	if x != nil && x.ReceiveInfoId != nil {
		return *x.ReceiveInfoId
	}
	return 0
}

// 删除收货地址请求响应
type DelUserReceiveInfoRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`    // 消息头
	RetCode *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"` // 返回码
	RetDesc *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`  // 描述信息
}

func (x *DelUserReceiveInfoRsp) Reset() {
	*x = DelUserReceiveInfoRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DelUserReceiveInfoRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserReceiveInfoRsp) ProtoMessage() {}

func (x *DelUserReceiveInfoRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 DelUserReceiveInfoRsp.ProtoReflect.Descriptor instead.
func (*DelUserReceiveInfoRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{13}
}

func (x *DelUserReceiveInfoRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DelUserReceiveInfoRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *DelUserReceiveInfoRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

// 设置默认收货地址请求
type UserReceiveIsDefaultReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	AutoId *uint64      `protobuf:"varint,2,opt,name=AutoId" json:"AutoId,omitempty"` // 提货地址ID
	UserId *uint64      `protobuf:"varint,3,opt,name=UserId" json:"UserId,omitempty"` // 用户ID
}

func (x *UserReceiveIsDefaultReq) Reset() {
	*x = UserReceiveIsDefaultReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiveIsDefaultReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiveIsDefaultReq) ProtoMessage() {}

func (x *UserReceiveIsDefaultReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiveIsDefaultReq.ProtoReflect.Descriptor instead.
func (*UserReceiveIsDefaultReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{14}
}

func (x *UserReceiveIsDefaultReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiveIsDefaultReq) GetAutoId() uint64 {
	if x != nil && x.AutoId != nil {
		return *x.AutoId
	}
	return 0
}

func (x *UserReceiveIsDefaultReq) GetUserId() uint64 {
	if x != nil && x.UserId != nil {
		return *x.UserId
	}
	return 0
}

// 设置默认收货地址应答
type UserReceiveIsDefaultRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`    // 消息头
	RetCode *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"` // 返回码
	RetDesc *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`  // 描述信息
	AutoId  *uint64      `protobuf:"varint,4,opt,name=AutoId" json:"AutoId,omitempty"`   // 提货地址ID
}

func (x *UserReceiveIsDefaultRsp) Reset() {
	*x = UserReceiveIsDefaultRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiveIsDefaultRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiveIsDefaultRsp) ProtoMessage() {}

func (x *UserReceiveIsDefaultRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiveIsDefaultRsp.ProtoReflect.Descriptor instead.
func (*UserReceiveIsDefaultRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{15}
}

func (x *UserReceiveIsDefaultRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiveIsDefaultRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *UserReceiveIsDefaultRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *UserReceiveIsDefaultRsp) GetAutoId() uint64 {
	if x != nil && x.AutoId != nil {
		return *x.AutoId
	}
	return 0
}

// 新增修改用户发票信息请求
type UserReceiptInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialID *uint64      `protobuf:"varint,2,opt,name=ClientSerialID" json:"ClientSerialID,omitempty"` // 客户端唯一ID
	UserID         *uint32      `protobuf:"varint,3,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	UserName       *string      `protobuf:"bytes,4,opt,name=UserName" json:"UserName,omitempty"`              // 发票抬头姓名
	ReceiptType    *uint32      `protobuf:"varint,5,opt,name=ReceiptType" json:"ReceiptType,omitempty"`       // 发票类型
	TaxpayerID     *string      `protobuf:"bytes,6,opt,name=TaxpayerID" json:"TaxpayerID,omitempty"`          // 纳税人识别号
	ContactInfo    *string      `protobuf:"bytes,7,opt,name=ContactInfo" json:"ContactInfo,omitempty"`        // 联系方式
	ReceiptInfoId  *uint64      `protobuf:"varint,8,opt,name=ReceiptInfoId" json:"ReceiptInfoId,omitempty"`   // 修改时填用户发票信息id
	ReceiptBank    *string      `protobuf:"bytes,9,opt,name=ReceiptBank" json:"ReceiptBank,omitempty"`        // 发票开户行[发票类型:企业]
	ReceiptAccount *string      `protobuf:"bytes,10,opt,name=ReceiptAccount" json:"ReceiptAccount,omitempty"` // 发票帐号[发票类型:企业]
	Address        *string      `protobuf:"bytes,11,opt,name=Address" json:"Address,omitempty"`               // 地址[发票类型:企业]
	IDNum          *string      `protobuf:"bytes,12,opt,name=IDNum" json:"IDNum,omitempty"`                   // 身份证号码[发票类型:个人]
	Email          *string      `protobuf:"bytes,13,opt,name=Email" json:"Email,omitempty"`                   // 收件邮箱
}

func (x *UserReceiptInfoReq) Reset() {
	*x = UserReceiptInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiptInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiptInfoReq) ProtoMessage() {}

func (x *UserReceiptInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiptInfoReq.ProtoReflect.Descriptor instead.
func (*UserReceiptInfoReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{16}
}

func (x *UserReceiptInfoReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiptInfoReq) GetClientSerialID() uint64 {
	if x != nil && x.ClientSerialID != nil {
		return *x.ClientSerialID
	}
	return 0
}

func (x *UserReceiptInfoReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *UserReceiptInfoReq) GetUserName() string {
	if x != nil && x.UserName != nil {
		return *x.UserName
	}
	return ""
}

func (x *UserReceiptInfoReq) GetReceiptType() uint32 {
	if x != nil && x.ReceiptType != nil {
		return *x.ReceiptType
	}
	return 0
}

func (x *UserReceiptInfoReq) GetTaxpayerID() string {
	if x != nil && x.TaxpayerID != nil {
		return *x.TaxpayerID
	}
	return ""
}

func (x *UserReceiptInfoReq) GetContactInfo() string {
	if x != nil && x.ContactInfo != nil {
		return *x.ContactInfo
	}
	return ""
}

func (x *UserReceiptInfoReq) GetReceiptInfoId() uint64 {
	if x != nil && x.ReceiptInfoId != nil {
		return *x.ReceiptInfoId
	}
	return 0
}

func (x *UserReceiptInfoReq) GetReceiptBank() string {
	if x != nil && x.ReceiptBank != nil {
		return *x.ReceiptBank
	}
	return ""
}

func (x *UserReceiptInfoReq) GetReceiptAccount() string {
	if x != nil && x.ReceiptAccount != nil {
		return *x.ReceiptAccount
	}
	return ""
}

func (x *UserReceiptInfoReq) GetAddress() string {
	if x != nil && x.Address != nil {
		return *x.Address
	}
	return ""
}

func (x *UserReceiptInfoReq) GetIDNum() string {
	if x != nil && x.IDNum != nil {
		return *x.IDNum
	}
	return ""
}

func (x *UserReceiptInfoReq) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

// 新增修改用户发票信息请求响应
type UserReceiptInfoRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                // 消息头
	RetCode       *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`             // 返回码
	RetDesc       *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`              // 描述信息
	ReceiptInfoId *uint64      `protobuf:"varint,4,opt,name=ReceiptInfoId" json:"ReceiptInfoId,omitempty"` // 响应返回发票信息id
}

func (x *UserReceiptInfoRsp) Reset() {
	*x = UserReceiptInfoRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UserReceiptInfoRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UserReceiptInfoRsp) ProtoMessage() {}

func (x *UserReceiptInfoRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 UserReceiptInfoRsp.ProtoReflect.Descriptor instead.
func (*UserReceiptInfoRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{17}
}

func (x *UserReceiptInfoRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *UserReceiptInfoRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *UserReceiptInfoRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *UserReceiptInfoRsp) GetReceiptInfoId() uint64 {
	if x != nil && x.ReceiptInfoId != nil {
		return *x.ReceiptInfoId
	}
	return 0
}

// 删除用户发票信息请求
type DelUserReceiptInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ReceiptInfoId *uint64      `protobuf:"varint,2,opt,name=ReceiptInfoId" json:"ReceiptInfoId,omitempty"` // 删除发票信息id
}

func (x *DelUserReceiptInfoReq) Reset() {
	*x = DelUserReceiptInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DelUserReceiptInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserReceiptInfoReq) ProtoMessage() {}

func (x *DelUserReceiptInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 DelUserReceiptInfoReq.ProtoReflect.Descriptor instead.
func (*DelUserReceiptInfoReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{18}
}

func (x *DelUserReceiptInfoReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DelUserReceiptInfoReq) GetReceiptInfoId() uint64 {
	if x != nil && x.ReceiptInfoId != nil {
		return *x.ReceiptInfoId
	}
	return 0
}

// 删除用户发票信息请求响应
type DelUserReceiptInfoRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`    // 消息头
	RetCode *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"` // 返回码
	RetDesc *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`  // 描述信息
}

func (x *DelUserReceiptInfoRsp) Reset() {
	*x = DelUserReceiptInfoRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DelUserReceiptInfoRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DelUserReceiptInfoRsp) ProtoMessage() {}

func (x *DelUserReceiptInfoRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 DelUserReceiptInfoRsp.ProtoReflect.Descriptor instead.
func (*DelUserReceiptInfoRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{19}
}

func (x *DelUserReceiptInfoRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DelUserReceiptInfoRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *DelUserReceiptInfoRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

// 签约请求
type T2BBankSignReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                   *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ExtOperatorID            *uint64      `protobuf:"varint,2,req,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`                       // 外部操作流水号
	ExchId                   *string      `protobuf:"bytes,3,opt,name=ExchId" json:"ExchId,omitempty"`                                      // 交易所编号
	TradeDate                *string      `protobuf:"bytes,4,opt,name=TradeDate" json:"TradeDate,omitempty"`                                // 交易所业务日期
	ExchTicket               *string      `protobuf:"bytes,5,opt,name=ExchTicket" json:"ExchTicket,omitempty"`                              // 交易所流水号
	AccountCode              *string      `protobuf:"bytes,6,req,name=AccountCode" json:"AccountCode,omitempty"`                            // 账户
	AccountName              *string      `protobuf:"bytes,7,req,name=AccountName" json:"AccountName,omitempty"`                            // 客户名称
	CusBankID                *string      `protobuf:"bytes,8,req,name=CusBankID" json:"CusBankID,omitempty"`                                // 托管银行编号
	OperateType              *int32       `protobuf:"varint,9,req,name=OperateType" json:"OperateType,omitempty"`                           // 变更类型[1-增加;2-修改;4-绑卡;
	IsForce                  *int32       `protobuf:"varint,10,req,name=IsForce" json:"IsForce,omitempty"`                                  // 是否强制[0-否;1-是]强制，只更新中心签约信息，不发送银行。用于银行信息不一致的情况
	Currency                 *string      `protobuf:"bytes,11,opt,name=Currency" json:"Currency,omitempty"`                                 // 币种
	AccountType              *int32       `protobuf:"varint,12,opt,name=AccountType" json:"AccountType,omitempty"`                          // 账户类型[1-对私;2-对公]
	OpenBankAccId            *string      `protobuf:"bytes,13,req,name=OpenBankAccId" json:"OpenBankAccId,omitempty"`                       // 银行卡行号
	ForceSignBankAccountNo   *string      `protobuf:"bytes,14,opt,name=ForceSignBankAccountNo" json:"ForceSignBankAccountNo,omitempty"`     // 银行账户[强制签约时填写]
	ForceSignBankAccountName *string      `protobuf:"bytes,15,opt,name=ForceSignBankAccountName" json:"ForceSignBankAccountName,omitempty"` // 银行账户名称[强制签约时填写]
	BankAccountNo            *string      `protobuf:"bytes,16,req,name=BankAccountNo" json:"BankAccountNo,omitempty"`                       // 银行账户
	BankAccountName          *string      `protobuf:"bytes,17,opt,name=BankAccountName" json:"BankAccountName,omitempty"`                   // 银行账户名称
	ExBankName               *string      `protobuf:"bytes,18,req,name=ExBankName" json:"ExBankName,omitempty"`                             // 开户行名称
	OpenBankNo               *string      `protobuf:"bytes,19,opt,name=OpenBankNo" json:"OpenBankNo,omitempty"`                             // 开户支行编号
	OpenBankName             *string      `protobuf:"bytes,20,opt,name=OpenBankName" json:"OpenBankName,omitempty"`                         // 开户支行名称
	CertType                 *string      `protobuf:"bytes,21,req,name=CertType" json:"CertType,omitempty"`                                 // 证件类型
	CertID                   *string      `protobuf:"bytes,22,req,name=CertID" json:"CertID,omitempty"`                                     // 证件号码
	BankAccountPWD           *string      `protobuf:"bytes,23,opt,name=BankAccountPWD" json:"BankAccountPWD,omitempty"`                     // 银行账户密码
	AgentName                *string      `protobuf:"bytes,24,opt,name=AgentName" json:"AgentName,omitempty"`                               // 授权代理人姓名
	AgentCertType            *int32       `protobuf:"varint,25,opt,name=AgentCertType" json:"AgentCertType,omitempty"`                      // 授权代理人证件类型
	AgentCertID              *string      `protobuf:"bytes,26,opt,name=AgentCertID" json:"AgentCertID,omitempty"`                           // 授权代理人证件号
	BankAccountType          *int32       `protobuf:"varint,27,opt,name=BankAccountType" json:"BankAccountType,omitempty"`                  // 银行账户类型
	BankProvince             *string      `protobuf:"bytes,28,opt,name=BankProvince" json:"BankProvince,omitempty"`                         // 开户银行所在省份
	BankCity                 *string      `protobuf:"bytes,29,opt,name=BankCity" json:"BankCity,omitempty"`                                 // 开户银行所在市
	BankCardType             *int32       `protobuf:"varint,30,opt,name=BankCardType" json:"BankCardType,omitempty"`                        // 银行卡类型
	MobilePhone              *string      `protobuf:"bytes,31,opt,name=MobilePhone" json:"MobilePhone,omitempty"`                           // 移动电话
	IdentifyCode             *string      `protobuf:"bytes,32,opt,name=IdentifyCode" json:"IdentifyCode,omitempty"`                         // 验证码
	Email                    *string      `protobuf:"bytes,33,opt,name=email" json:"email,omitempty"`                                       // 电子邮箱
	ExtendInfo               *string      `protobuf:"bytes,34,opt,name=extend_info,json=extendInfo" json:"extend_info,omitempty"`           // 扩展信息（JSON串，参考配置要求进行填充）
}

func (x *T2BBankSignReq) Reset() {
	*x = T2BBankSignReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankSignReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankSignReq) ProtoMessage() {}

func (x *T2BBankSignReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 T2BBankSignReq.ProtoReflect.Descriptor instead.
func (*T2BBankSignReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{20}
}

func (x *T2BBankSignReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankSignReq) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankSignReq) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankSignReq) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankSignReq) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankSignReq) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankSignReq) GetAccountName() string {
	if x != nil && x.AccountName != nil {
		return *x.AccountName
	}
	return ""
}

func (x *T2BBankSignReq) GetCusBankID() string {
	if x != nil && x.CusBankID != nil {
		return *x.CusBankID
	}
	return ""
}

func (x *T2BBankSignReq) GetOperateType() int32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *T2BBankSignReq) GetIsForce() int32 {
	if x != nil && x.IsForce != nil {
		return *x.IsForce
	}
	return 0
}

func (x *T2BBankSignReq) GetCurrency() string {
	if x != nil && x.Currency != nil {
		return *x.Currency
	}
	return ""
}

func (x *T2BBankSignReq) GetAccountType() int32 {
	if x != nil && x.AccountType != nil {
		return *x.AccountType
	}
	return 0
}

func (x *T2BBankSignReq) GetOpenBankAccId() string {
	if x != nil && x.OpenBankAccId != nil {
		return *x.OpenBankAccId
	}
	return ""
}

func (x *T2BBankSignReq) GetForceSignBankAccountNo() string {
	if x != nil && x.ForceSignBankAccountNo != nil {
		return *x.ForceSignBankAccountNo
	}
	return ""
}

func (x *T2BBankSignReq) GetForceSignBankAccountName() string {
	if x != nil && x.ForceSignBankAccountName != nil {
		return *x.ForceSignBankAccountName
	}
	return ""
}

func (x *T2BBankSignReq) GetBankAccountNo() string {
	if x != nil && x.BankAccountNo != nil {
		return *x.BankAccountNo
	}
	return ""
}

func (x *T2BBankSignReq) GetBankAccountName() string {
	if x != nil && x.BankAccountName != nil {
		return *x.BankAccountName
	}
	return ""
}

func (x *T2BBankSignReq) GetExBankName() string {
	if x != nil && x.ExBankName != nil {
		return *x.ExBankName
	}
	return ""
}

func (x *T2BBankSignReq) GetOpenBankNo() string {
	if x != nil && x.OpenBankNo != nil {
		return *x.OpenBankNo
	}
	return ""
}

func (x *T2BBankSignReq) GetOpenBankName() string {
	if x != nil && x.OpenBankName != nil {
		return *x.OpenBankName
	}
	return ""
}

func (x *T2BBankSignReq) GetCertType() string {
	if x != nil && x.CertType != nil {
		return *x.CertType
	}
	return ""
}

func (x *T2BBankSignReq) GetCertID() string {
	if x != nil && x.CertID != nil {
		return *x.CertID
	}
	return ""
}

func (x *T2BBankSignReq) GetBankAccountPWD() string {
	if x != nil && x.BankAccountPWD != nil {
		return *x.BankAccountPWD
	}
	return ""
}

func (x *T2BBankSignReq) GetAgentName() string {
	if x != nil && x.AgentName != nil {
		return *x.AgentName
	}
	return ""
}

func (x *T2BBankSignReq) GetAgentCertType() int32 {
	if x != nil && x.AgentCertType != nil {
		return *x.AgentCertType
	}
	return 0
}

func (x *T2BBankSignReq) GetAgentCertID() string {
	if x != nil && x.AgentCertID != nil {
		return *x.AgentCertID
	}
	return ""
}

func (x *T2BBankSignReq) GetBankAccountType() int32 {
	if x != nil && x.BankAccountType != nil {
		return *x.BankAccountType
	}
	return 0
}

func (x *T2BBankSignReq) GetBankProvince() string {
	if x != nil && x.BankProvince != nil {
		return *x.BankProvince
	}
	return ""
}

func (x *T2BBankSignReq) GetBankCity() string {
	if x != nil && x.BankCity != nil {
		return *x.BankCity
	}
	return ""
}

func (x *T2BBankSignReq) GetBankCardType() int32 {
	if x != nil && x.BankCardType != nil {
		return *x.BankCardType
	}
	return 0
}

func (x *T2BBankSignReq) GetMobilePhone() string {
	if x != nil && x.MobilePhone != nil {
		return *x.MobilePhone
	}
	return ""
}

func (x *T2BBankSignReq) GetIdentifyCode() string {
	if x != nil && x.IdentifyCode != nil {
		return *x.IdentifyCode
	}
	return ""
}

func (x *T2BBankSignReq) GetEmail() string {
	if x != nil && x.Email != nil {
		return *x.Email
	}
	return ""
}

func (x *T2BBankSignReq) GetExtendInfo() string {
	if x != nil && x.ExtendInfo != nil {
		return *x.ExtendInfo
	}
	return ""
}

// 签约应答
type T2BBankSignRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header           *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                      // 消息头
	RetCode          *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                   // 返回码
	RetDesc          *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                    // 描述信息
	ExtOperatorID    *uint64      `protobuf:"varint,4,opt,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`       // 外部操作流水号
	AccountCode      *string      `protobuf:"bytes,5,opt,name=AccountCode" json:"AccountCode,omitempty"`            // 账户
	NetAddr          *string      `protobuf:"bytes,6,opt,name=NetAddr" json:"NetAddr,omitempty"`                    // 网络地址（当这里有网址时，应自动跳转网页）
	Status           *int32       `protobuf:"varint,7,opt,name=Status" json:"Status,omitempty"`                     // 状态（0成功,其他数值参考银行服务的错误码）
	ExchTicket       *string      `protobuf:"bytes,8,req,name=ExchTicket" json:"ExchTicket,omitempty"`              // 交易所流水号
	ExchId           *string      `protobuf:"bytes,9,opt,name=ExchId" json:"ExchId,omitempty"`                      // 交易所编号
	TradeDate        *string      `protobuf:"bytes,10,opt,name=TradeDate" json:"TradeDate,omitempty"`               // 交易所业务日期
	CenterTicket     *string      `protobuf:"bytes,11,opt,name=CenterTicket" json:"CenterTicket,omitempty"`         // 中心流水号
	CenterErrCode    *string      `protobuf:"bytes,12,opt,name=CenterErrCode" json:"CenterErrCode,omitempty"`       // 返回码
	CenterErrMsg     *string      `protobuf:"bytes,13,opt,name=CenterErrMsg" json:"CenterErrMsg,omitempty"`         // 返回结果说明
	BankChildAcc     *string      `protobuf:"bytes,14,opt,name=bankChildAcc" json:"bankChildAcc,omitempty"`         // 银行账号
	BankChildAccName *string      `protobuf:"bytes,15,opt,name=bankChildAccName" json:"bankChildAccName,omitempty"` // 银行账户名
	BankId           *string      `protobuf:"bytes,16,opt,name=BankId" json:"BankId,omitempty"`                     // 银行卡行号
	BankAccNum       *string      `protobuf:"bytes,17,opt,name=BankAccNum" json:"BankAccNum,omitempty"`             // 银行卡号
	BankAccName      *string      `protobuf:"bytes,18,opt,name=BankAccName" json:"BankAccName,omitempty"`           // 银行卡户名
}

func (x *T2BBankSignRsp) Reset() {
	*x = T2BBankSignRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankSignRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankSignRsp) ProtoMessage() {}

func (x *T2BBankSignRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_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 T2BBankSignRsp.ProtoReflect.Descriptor instead.
func (*T2BBankSignRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{21}
}

func (x *T2BBankSignRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankSignRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *T2BBankSignRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *T2BBankSignRsp) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankSignRsp) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankSignRsp) GetNetAddr() string {
	if x != nil && x.NetAddr != nil {
		return *x.NetAddr
	}
	return ""
}

func (x *T2BBankSignRsp) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *T2BBankSignRsp) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankSignRsp) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankSignRsp) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankSignRsp) GetCenterTicket() string {
	if x != nil && x.CenterTicket != nil {
		return *x.CenterTicket
	}
	return ""
}

func (x *T2BBankSignRsp) GetCenterErrCode() string {
	if x != nil && x.CenterErrCode != nil {
		return *x.CenterErrCode
	}
	return ""
}

func (x *T2BBankSignRsp) GetCenterErrMsg() string {
	if x != nil && x.CenterErrMsg != nil {
		return *x.CenterErrMsg
	}
	return ""
}

func (x *T2BBankSignRsp) GetBankChildAcc() string {
	if x != nil && x.BankChildAcc != nil {
		return *x.BankChildAcc
	}
	return ""
}

func (x *T2BBankSignRsp) GetBankChildAccName() string {
	if x != nil && x.BankChildAccName != nil {
		return *x.BankChildAccName
	}
	return ""
}

func (x *T2BBankSignRsp) GetBankId() string {
	if x != nil && x.BankId != nil {
		return *x.BankId
	}
	return ""
}

func (x *T2BBankSignRsp) GetBankAccNum() string {
	if x != nil && x.BankAccNum != nil {
		return *x.BankAccNum
	}
	return ""
}

func (x *T2BBankSignRsp) GetBankAccName() string {
	if x != nil && x.BankAccName != nil {
		return *x.BankAccName
	}
	return ""
}

// 解约请求
type T2BBankCancelSignReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header           *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ExtOperatorID    *uint64      `protobuf:"varint,2,req,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`       // 外部操作流水号
	ExchId           *string      `protobuf:"bytes,3,opt,name=ExchId" json:"ExchId,omitempty"`                      // 交易所编号
	AccountCode      *string      `protobuf:"bytes,4,req,name=AccountCode" json:"AccountCode,omitempty"`            // 账户
	CusBankID        *string      `protobuf:"bytes,5,req,name=CusBankID" json:"CusBankID,omitempty"`                // 托管银行编号
	IsForce          *int32       `protobuf:"varint,6,req,name=IsForce" json:"IsForce,omitempty"`                   // 是否强制
	Currency         *string      `protobuf:"bytes,7,opt,name=Currency" json:"Currency,omitempty"`                  // 币种
	TradeDate        *string      `protobuf:"bytes,8,opt,name=TradeDate" json:"TradeDate,omitempty"`                // 交易所业务日期
	ExchTicket       *string      `protobuf:"bytes,9,opt,name=ExchTicket" json:"ExchTicket,omitempty"`              // 交易所流水号
	BankChildAcc     *string      `protobuf:"bytes,10,opt,name=BankChildAcc" json:"BankChildAcc,omitempty"`         // 银行子账号
	BankChildAccName *string      `protobuf:"bytes,11,opt,name=BankChildAccName" json:"BankChildAccName,omitempty"` // 银行子账号名
}

func (x *T2BBankCancelSignReq) Reset() {
	*x = T2BBankCancelSignReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankCancelSignReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankCancelSignReq) ProtoMessage() {}

func (x *T2BBankCancelSignReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[22]
	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 T2BBankCancelSignReq.ProtoReflect.Descriptor instead.
func (*T2BBankCancelSignReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{22}
}

func (x *T2BBankCancelSignReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankCancelSignReq) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankCancelSignReq) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetCusBankID() string {
	if x != nil && x.CusBankID != nil {
		return *x.CusBankID
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetIsForce() int32 {
	if x != nil && x.IsForce != nil {
		return *x.IsForce
	}
	return 0
}

func (x *T2BBankCancelSignReq) GetCurrency() string {
	if x != nil && x.Currency != nil {
		return *x.Currency
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetBankChildAcc() string {
	if x != nil && x.BankChildAcc != nil {
		return *x.BankChildAcc
	}
	return ""
}

func (x *T2BBankCancelSignReq) GetBankChildAccName() string {
	if x != nil && x.BankChildAccName != nil {
		return *x.BankChildAccName
	}
	return ""
}

// 解约应答
type T2BBankCancelSignRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                // 消息头
	RetCode       *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`             // 返回码
	RetDesc       *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`              // 描述信息
	ExtOperatorID *uint64      `protobuf:"varint,4,opt,name=ExtOperatorID" json:"ExtOperatorID,omitempty"` // 外部操作流水号
	AccountCode   *string      `protobuf:"bytes,5,opt,name=AccountCode" json:"AccountCode,omitempty"`      // 账户
	NetAddr       *string      `protobuf:"bytes,6,opt,name=NetAddr" json:"NetAddr,omitempty"`              // 网络地址（当这里有网址时，应自动跳转网页）
	Status        *int32       `protobuf:"varint,7,opt,name=Status" json:"Status,omitempty"`               // 状态（0成功,其他数值参考银行服务的错误码）
	ExchTicket    *string      `protobuf:"bytes,8,req,name=ExchTicket" json:"ExchTicket,omitempty"`        // 交易所流水号
	ExchId        *string      `protobuf:"bytes,9,opt,name=ExchId" json:"ExchId,omitempty"`                // 交易所编号
	TradeDate     *string      `protobuf:"bytes,10,opt,name=TradeDate" json:"TradeDate,omitempty"`         // 交易所业务日期
	CenterTicket  *string      `protobuf:"bytes,11,opt,name=CenterTicket" json:"CenterTicket,omitempty"`   // 中心流水号
	CenterErrCode *string      `protobuf:"bytes,12,opt,name=CenterErrCode" json:"CenterErrCode,omitempty"` // 返回码
	CenterErrMsg  *string      `protobuf:"bytes,13,opt,name=CenterErrMsg" json:"CenterErrMsg,omitempty"`   // 返回结果说明
}

func (x *T2BBankCancelSignRsp) Reset() {
	*x = T2BBankCancelSignRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankCancelSignRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankCancelSignRsp) ProtoMessage() {}

func (x *T2BBankCancelSignRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[23]
	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 T2BBankCancelSignRsp.ProtoReflect.Descriptor instead.
func (*T2BBankCancelSignRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{23}
}

func (x *T2BBankCancelSignRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankCancelSignRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *T2BBankCancelSignRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankCancelSignRsp) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetNetAddr() string {
	if x != nil && x.NetAddr != nil {
		return *x.NetAddr
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *T2BBankCancelSignRsp) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetCenterTicket() string {
	if x != nil && x.CenterTicket != nil {
		return *x.CenterTicket
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetCenterErrCode() string {
	if x != nil && x.CenterErrCode != nil {
		return *x.CenterErrCode
	}
	return ""
}

func (x *T2BBankCancelSignRsp) GetCenterErrMsg() string {
	if x != nil && x.CenterErrMsg != nil {
		return *x.CenterErrMsg
	}
	return ""
}

// 出金请求
type T2BBankWithdrawReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header               *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ExtOperatorID        *uint64      `protobuf:"varint,2,req,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`              // 外部操作流水号
	ExchId               *string      `protobuf:"bytes,3,opt,name=ExchId" json:"ExchId,omitempty"`                             // 交易所编号
	AccountCode          *string      `protobuf:"bytes,4,req,name=AccountCode" json:"AccountCode,omitempty"`                   // 资金账户
	CusBankID            *string      `protobuf:"bytes,5,req,name=CusBankID" json:"CusBankID,omitempty"`                       // 托管银行编号
	Currency             *string      `protobuf:"bytes,6,req,name=Currency" json:"Currency,omitempty"`                         // 币种
	AccountType          *int32       `protobuf:"varint,7,opt,name=AccountType" json:"AccountType,omitempty"`                  // 账户类型
	BankChildAccount     *string      `protobuf:"bytes,8,opt,name=BankChildAccount" json:"BankChildAccount,omitempty"`         // 银行子账号
	BankChildAccountName *string      `protobuf:"bytes,9,opt,name=BankChildAccountName" json:"BankChildAccountName,omitempty"` // 银行子账号名
	OpenCardBankId       *string      `protobuf:"bytes,10,opt,name=OpenCardBankId" json:"OpenCardBankId,omitempty"`            // 银行卡行号
	BankAccoutNum        *string      `protobuf:"bytes,11,opt,name=BankAccoutNum" json:"BankAccoutNum,omitempty"`              // 银行卡号
	BankAccoutName       *string      `protobuf:"bytes,12,opt,name=BankAccoutName" json:"BankAccoutName,omitempty"`            // 银行卡户名
	Amount               *float64     `protobuf:"fixed64,13,req,name=Amount" json:"Amount,omitempty"`                          // 出金金额
	AppDateTime          *string      `protobuf:"bytes,14,opt,name=AppDateTime" json:"AppDateTime,omitempty"`                  // 申请日期和时间
	OldTaPWD             *string      `protobuf:"bytes,15,opt,name=OldTaPWD" json:"OldTaPWD,omitempty"`                        // 资金密码
	Desc                 *string      `protobuf:"bytes,16,opt,name=Desc" json:"Desc,omitempty"`                                // 备注
	IdentifyCode         *string      `protobuf:"bytes,17,opt,name=IdentifyCode" json:"IdentifyCode,omitempty"`                // 验证码
	BranchBankName       *string      `protobuf:"bytes,18,opt,name=BranchBankName" json:"BranchBankName,omitempty"`            // 收款支行名称
	ExtendInfo           *string      `protobuf:"bytes,19,opt,name=extend_info,json=extendInfo" json:"extend_info,omitempty"`  // 扩展信息（JSON串，参考配置要求进行填充）
	Remark               *string      `protobuf:"bytes,20,opt,name=Remark" json:"Remark,omitempty"`                            // 备注
	ExchTicket           *string      `protobuf:"bytes,21,opt,name=ExchTicket" json:"ExchTicket,omitempty"`                    // 交易所流水号
}

func (x *T2BBankWithdrawReq) Reset() {
	*x = T2BBankWithdrawReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankWithdrawReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankWithdrawReq) ProtoMessage() {}

func (x *T2BBankWithdrawReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[24]
	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 T2BBankWithdrawReq.ProtoReflect.Descriptor instead.
func (*T2BBankWithdrawReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{24}
}

func (x *T2BBankWithdrawReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankWithdrawReq) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankWithdrawReq) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetCusBankID() string {
	if x != nil && x.CusBankID != nil {
		return *x.CusBankID
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetCurrency() string {
	if x != nil && x.Currency != nil {
		return *x.Currency
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetAccountType() int32 {
	if x != nil && x.AccountType != nil {
		return *x.AccountType
	}
	return 0
}

func (x *T2BBankWithdrawReq) GetBankChildAccount() string {
	if x != nil && x.BankChildAccount != nil {
		return *x.BankChildAccount
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetBankChildAccountName() string {
	if x != nil && x.BankChildAccountName != nil {
		return *x.BankChildAccountName
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetOpenCardBankId() string {
	if x != nil && x.OpenCardBankId != nil {
		return *x.OpenCardBankId
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetBankAccoutNum() string {
	if x != nil && x.BankAccoutNum != nil {
		return *x.BankAccoutNum
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetBankAccoutName() string {
	if x != nil && x.BankAccoutName != nil {
		return *x.BankAccoutName
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetAmount() float64 {
	if x != nil && x.Amount != nil {
		return *x.Amount
	}
	return 0
}

func (x *T2BBankWithdrawReq) GetAppDateTime() string {
	if x != nil && x.AppDateTime != nil {
		return *x.AppDateTime
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetOldTaPWD() string {
	if x != nil && x.OldTaPWD != nil {
		return *x.OldTaPWD
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetDesc() string {
	if x != nil && x.Desc != nil {
		return *x.Desc
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetIdentifyCode() string {
	if x != nil && x.IdentifyCode != nil {
		return *x.IdentifyCode
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetBranchBankName() string {
	if x != nil && x.BranchBankName != nil {
		return *x.BranchBankName
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetExtendInfo() string {
	if x != nil && x.ExtendInfo != nil {
		return *x.ExtendInfo
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *T2BBankWithdrawReq) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

// 出金应答
type T2BBankWithdrawRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                    // 消息头
	RetCode         *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                 // 返回码
	RetDesc         *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                  // 描述信息
	ExtOperatorID   *uint64      `protobuf:"varint,4,opt,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`     // 外部操作流水号
	Status          *int32       `protobuf:"varint,5,opt,name=Status" json:"Status,omitempty"`                   // 状态（0成功,其他数值参考银行服务的错误码）
	ExchTicket      *string      `protobuf:"bytes,6,req,name=ExchTicket" json:"ExchTicket,omitempty"`            // 交易所流水号
	ExchId          *string      `protobuf:"bytes,7,opt,name=ExchId" json:"ExchId,omitempty"`                    // 交易所编号
	TradeDate       *string      `protobuf:"bytes,8,opt,name=TradeDate" json:"TradeDate,omitempty"`              // 交易日
	CenterTicket    *string      `protobuf:"bytes,9,opt,name=CenterTicket" json:"CenterTicket,omitempty"`        // 中心流水号
	CenterErrCode   *string      `protobuf:"bytes,10,opt,name=CenterErrCode" json:"CenterErrCode,omitempty"`     // 中心返回码
	CenterErrMsg    *string      `protobuf:"bytes,11,opt,name=CenterErrMsg" json:"CenterErrMsg,omitempty"`       // 中心返回结果说明
	CerterCheckDate *string      `protobuf:"bytes,12,opt,name=CerterCheckDate" json:"CerterCheckDate,omitempty"` // 中心对账日期
	NetAddr         *string      `protobuf:"bytes,13,opt,name=NetAddr" json:"NetAddr,omitempty"`                 // 网络地址（当这里有网址时，应自动跳转网页）
}

func (x *T2BBankWithdrawRsp) Reset() {
	*x = T2BBankWithdrawRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankWithdrawRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankWithdrawRsp) ProtoMessage() {}

func (x *T2BBankWithdrawRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[25]
	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 T2BBankWithdrawRsp.ProtoReflect.Descriptor instead.
func (*T2BBankWithdrawRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{25}
}

func (x *T2BBankWithdrawRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankWithdrawRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *T2BBankWithdrawRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankWithdrawRsp) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *T2BBankWithdrawRsp) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetCenterTicket() string {
	if x != nil && x.CenterTicket != nil {
		return *x.CenterTicket
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetCenterErrCode() string {
	if x != nil && x.CenterErrCode != nil {
		return *x.CenterErrCode
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetCenterErrMsg() string {
	if x != nil && x.CenterErrMsg != nil {
		return *x.CenterErrMsg
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetCerterCheckDate() string {
	if x != nil && x.CerterCheckDate != nil {
		return *x.CerterCheckDate
	}
	return ""
}

func (x *T2BBankWithdrawRsp) GetNetAddr() string {
	if x != nil && x.NetAddr != nil {
		return *x.NetAddr
	}
	return ""
}

// 入金请求
type T2BBankDepositReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header               *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ExtOperatorID        *uint64      `protobuf:"varint,2,req,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`               // 外部操作流水号
	CusBankID            *string      `protobuf:"bytes,3,req,name=CusBankID" json:"CusBankID,omitempty"`                        // 托管银行编号
	ExchId               *string      `protobuf:"bytes,4,opt,name=ExchId" json:"ExchId,omitempty"`                              // 交易所编号
	TradeDate            *string      `protobuf:"bytes,5,opt,name=TradeDate" json:"TradeDate,omitempty"`                        // 交易日
	ExchTicket           *string      `protobuf:"bytes,6,opt,name=ExchTicket" json:"ExchTicket,omitempty"`                      // 交易所流水号
	AccountCode          *string      `protobuf:"bytes,7,req,name=AccountCode" json:"AccountCode,omitempty"`                    // 资金账户
	BusinessNo           *string      `protobuf:"bytes,8,opt,name=BusinessNo" json:"BusinessNo,omitempty"`                      // 银行业务编号
	BankChildAccount     *string      `protobuf:"bytes,9,opt,name=BankChildAccount" json:"BankChildAccount,omitempty"`          // 银行子账号
	BankChildAccountName *string      `protobuf:"bytes,10,opt,name=BankChildAccountName" json:"BankChildAccountName,omitempty"` // 银行子账号名
	OldTaPWD             *string      `protobuf:"bytes,11,opt,name=OldTaPWD" json:"OldTaPWD,omitempty"`                         // 资金密码
	Amount               *float64     `protobuf:"fixed64,12,req,name=Amount" json:"Amount,omitempty"`                           // 金额
	Currency             *string      `protobuf:"bytes,13,req,name=Currency" json:"Currency,omitempty"`                         // 币种
	Remark               *string      `protobuf:"bytes,14,opt,name=Remark" json:"Remark,omitempty"`                             // 备注
	OpenCardBankId       *string      `protobuf:"bytes,15,opt,name=OpenCardBankId" json:"OpenCardBankId,omitempty"`             // 银行卡行号
	BankAccoutNum        *string      `protobuf:"bytes,16,opt,name=BankAccoutNum" json:"BankAccoutNum,omitempty"`               // 银行卡号
	BankAccoutName       *string      `protobuf:"bytes,17,opt,name=BankAccoutName" json:"BankAccoutName,omitempty"`             // 银行卡户名
	ExtendInfo           *string      `protobuf:"bytes,18,opt,name=extend_info,json=extendInfo" json:"extend_info,omitempty"`   // 扩展信息（JSON串，参考配置要求进行填充）
}

func (x *T2BBankDepositReq) Reset() {
	*x = T2BBankDepositReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankDepositReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankDepositReq) ProtoMessage() {}

func (x *T2BBankDepositReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[26]
	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 T2BBankDepositReq.ProtoReflect.Descriptor instead.
func (*T2BBankDepositReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{26}
}

func (x *T2BBankDepositReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankDepositReq) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankDepositReq) GetCusBankID() string {
	if x != nil && x.CusBankID != nil {
		return *x.CusBankID
	}
	return ""
}

func (x *T2BBankDepositReq) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankDepositReq) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankDepositReq) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankDepositReq) GetAccountCode() string {
	if x != nil && x.AccountCode != nil {
		return *x.AccountCode
	}
	return ""
}

func (x *T2BBankDepositReq) GetBusinessNo() string {
	if x != nil && x.BusinessNo != nil {
		return *x.BusinessNo
	}
	return ""
}

func (x *T2BBankDepositReq) GetBankChildAccount() string {
	if x != nil && x.BankChildAccount != nil {
		return *x.BankChildAccount
	}
	return ""
}

func (x *T2BBankDepositReq) GetBankChildAccountName() string {
	if x != nil && x.BankChildAccountName != nil {
		return *x.BankChildAccountName
	}
	return ""
}

func (x *T2BBankDepositReq) GetOldTaPWD() string {
	if x != nil && x.OldTaPWD != nil {
		return *x.OldTaPWD
	}
	return ""
}

func (x *T2BBankDepositReq) GetAmount() float64 {
	if x != nil && x.Amount != nil {
		return *x.Amount
	}
	return 0
}

func (x *T2BBankDepositReq) GetCurrency() string {
	if x != nil && x.Currency != nil {
		return *x.Currency
	}
	return ""
}

func (x *T2BBankDepositReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *T2BBankDepositReq) GetOpenCardBankId() string {
	if x != nil && x.OpenCardBankId != nil {
		return *x.OpenCardBankId
	}
	return ""
}

func (x *T2BBankDepositReq) GetBankAccoutNum() string {
	if x != nil && x.BankAccoutNum != nil {
		return *x.BankAccoutNum
	}
	return ""
}

func (x *T2BBankDepositReq) GetBankAccoutName() string {
	if x != nil && x.BankAccoutName != nil {
		return *x.BankAccoutName
	}
	return ""
}

func (x *T2BBankDepositReq) GetExtendInfo() string {
	if x != nil && x.ExtendInfo != nil {
		return *x.ExtendInfo
	}
	return ""
}

// 入金应答
type T2BBankDepositRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                    // 消息头
	RetCode         *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                 // 返回码
	RetDesc         *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                  // 描述信息
	ExtOperatorID   *uint64      `protobuf:"varint,4,opt,name=ExtOperatorID" json:"ExtOperatorID,omitempty"`     // 外部操作流水号
	Status          *int32       `protobuf:"varint,5,opt,name=Status" json:"Status,omitempty"`                   // 状态（0成功,其他数值参考银行服务的错误码）
	ExchTicket      *string      `protobuf:"bytes,6,req,name=ExchTicket" json:"ExchTicket,omitempty"`            // 交易所流水号
	ExchId          *string      `protobuf:"bytes,7,opt,name=ExchId" json:"ExchId,omitempty"`                    // 交易所编号
	TradeDate       *string      `protobuf:"bytes,8,opt,name=TradeDate" json:"TradeDate,omitempty"`              // 交易日
	CenterTicket    *string      `protobuf:"bytes,9,opt,name=CenterTicket" json:"CenterTicket,omitempty"`        // 中心流水号
	CenterErrCode   *string      `protobuf:"bytes,10,opt,name=CenterErrCode" json:"CenterErrCode,omitempty"`     // 中心返回码
	CenterErrMsg    *string      `protobuf:"bytes,11,opt,name=CenterErrMsg" json:"CenterErrMsg,omitempty"`       // 中心返回结果说明
	CerterCheckDate *string      `protobuf:"bytes,12,opt,name=CerterCheckDate" json:"CerterCheckDate,omitempty"` // 中心对账日期
	NetAddr         *string      `protobuf:"bytes,13,opt,name=NetAddr" json:"NetAddr,omitempty"`                 // 网络地址（当这里有网址时，应自动跳转网页）
}

func (x *T2BBankDepositRsp) Reset() {
	*x = T2BBankDepositRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *T2BBankDepositRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*T2BBankDepositRsp) ProtoMessage() {}

func (x *T2BBankDepositRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[27]
	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 T2BBankDepositRsp.ProtoReflect.Descriptor instead.
func (*T2BBankDepositRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{27}
}

func (x *T2BBankDepositRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *T2BBankDepositRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *T2BBankDepositRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *T2BBankDepositRsp) GetExtOperatorID() uint64 {
	if x != nil && x.ExtOperatorID != nil {
		return *x.ExtOperatorID
	}
	return 0
}

func (x *T2BBankDepositRsp) GetStatus() int32 {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return 0
}

func (x *T2BBankDepositRsp) GetExchTicket() string {
	if x != nil && x.ExchTicket != nil {
		return *x.ExchTicket
	}
	return ""
}

func (x *T2BBankDepositRsp) GetExchId() string {
	if x != nil && x.ExchId != nil {
		return *x.ExchId
	}
	return ""
}

func (x *T2BBankDepositRsp) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *T2BBankDepositRsp) GetCenterTicket() string {
	if x != nil && x.CenterTicket != nil {
		return *x.CenterTicket
	}
	return ""
}

func (x *T2BBankDepositRsp) GetCenterErrCode() string {
	if x != nil && x.CenterErrCode != nil {
		return *x.CenterErrCode
	}
	return ""
}

func (x *T2BBankDepositRsp) GetCenterErrMsg() string {
	if x != nil && x.CenterErrMsg != nil {
		return *x.CenterErrMsg
	}
	return ""
}

func (x *T2BBankDepositRsp) GetCerterCheckDate() string {
	if x != nil && x.CerterCheckDate != nil {
		return *x.CerterCheckDate
	}
	return ""
}

func (x *T2BBankDepositRsp) GetNetAddr() string {
	if x != nil && x.NetAddr != nil {
		return *x.NetAddr
	}
	return ""
}

// 仓单服务公共协议结构
type WRCommon struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserID         *uint64 `protobuf:"varint,1,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	RelatedOrderID *uint64 `protobuf:"varint,2,opt,name=RelatedOrderID" json:"RelatedOrderID,omitempty"` // 关联ID
	BusinessID     *uint64 `protobuf:"varint,3,opt,name=BusinessID" json:"BusinessID,omitempty"`         // 业务ID
	TradeID        *uint64 `protobuf:"varint,4,opt,name=TradeID" json:"TradeID,omitempty"`               // 成交ID
	AccountID      *uint64 `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 账号ID
}

func (x *WRCommon) Reset() {
	*x = WRCommon{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WRCommon) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WRCommon) ProtoMessage() {}

func (x *WRCommon) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[28]
	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 WRCommon.ProtoReflect.Descriptor instead.
func (*WRCommon) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{28}
}

func (x *WRCommon) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *WRCommon) GetRelatedOrderID() uint64 {
	if x != nil && x.RelatedOrderID != nil {
		return *x.RelatedOrderID
	}
	return 0
}

func (x *WRCommon) GetBusinessID() uint64 {
	if x != nil && x.BusinessID != nil {
		return *x.BusinessID
	}
	return 0
}

func (x *WRCommon) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *WRCommon) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

// 仓库申请请求 0 29 141
type WarehouseApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header        *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                // MessageHead
	Userid        *uint64      `protobuf:"varint,2,opt,name=userid" json:"userid,omitempty"`               // uint64 用户ID
	Type          *int32       `protobuf:"varint,3,opt,name=type" json:"type,omitempty"`                   // int32 类型 1 新增 2 修改
	Warehouseid   *uint64      `protobuf:"varint,4,opt,name=warehouseid" json:"warehouseid,omitempty"`     // uint64 仓库ID
	Warehousecode *string      `protobuf:"bytes,5,opt,name=warehousecode" json:"warehousecode,omitempty"`  // string 仓库代码
	Warehousename *string      `protobuf:"bytes,6,opt,name=warehousename" json:"warehousename,omitempty"`  // string 仓库名称
	Warehousetype *int32       `protobuf:"varint,7,opt,name=warehousetype" json:"warehousetype,omitempty"` // int32 仓库类型 - 1 厂库  2 自有库  3 合作库
	Provinceid    *uint64      `protobuf:"varint,8,opt,name=provinceid" json:"provinceid,omitempty"`       // uint64 省
	Cityid        *uint64      `protobuf:"varint,9,opt,name=cityid" json:"cityid,omitempty"`               // uint64 市
	Districtid    *int32       `protobuf:"varint,10,opt,name=districtid" json:"districtid,omitempty"`      // int32 区
	Address       *string      `protobuf:"bytes,11,opt,name=address" json:"address,omitempty"`             // string 详细地址
	Contactname   *string      `protobuf:"bytes,12,opt,name=contactname" json:"contactname,omitempty"`     // string 联系人
	Contactnum    *string      `protobuf:"bytes,13,opt,name=contactnum" json:"contactnum,omitempty"`       // string 联系电话
}

func (x *WarehouseApplyReq) Reset() {
	*x = WarehouseApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WarehouseApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WarehouseApplyReq) ProtoMessage() {}

func (x *WarehouseApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[29]
	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 WarehouseApplyReq.ProtoReflect.Descriptor instead.
func (*WarehouseApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{29}
}

func (x *WarehouseApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WarehouseApplyReq) GetUserid() uint64 {
	if x != nil && x.Userid != nil {
		return *x.Userid
	}
	return 0
}

func (x *WarehouseApplyReq) GetType() int32 {
	if x != nil && x.Type != nil {
		return *x.Type
	}
	return 0
}

func (x *WarehouseApplyReq) GetWarehouseid() uint64 {
	if x != nil && x.Warehouseid != nil {
		return *x.Warehouseid
	}
	return 0
}

func (x *WarehouseApplyReq) GetWarehousecode() string {
	if x != nil && x.Warehousecode != nil {
		return *x.Warehousecode
	}
	return ""
}

func (x *WarehouseApplyReq) GetWarehousename() string {
	if x != nil && x.Warehousename != nil {
		return *x.Warehousename
	}
	return ""
}

func (x *WarehouseApplyReq) GetWarehousetype() int32 {
	if x != nil && x.Warehousetype != nil {
		return *x.Warehousetype
	}
	return 0
}

func (x *WarehouseApplyReq) GetProvinceid() uint64 {
	if x != nil && x.Provinceid != nil {
		return *x.Provinceid
	}
	return 0
}

func (x *WarehouseApplyReq) GetCityid() uint64 {
	if x != nil && x.Cityid != nil {
		return *x.Cityid
	}
	return 0
}

func (x *WarehouseApplyReq) GetDistrictid() int32 {
	if x != nil && x.Districtid != nil {
		return *x.Districtid
	}
	return 0
}

func (x *WarehouseApplyReq) GetAddress() string {
	if x != nil && x.Address != nil {
		return *x.Address
	}
	return ""
}

func (x *WarehouseApplyReq) GetContactname() string {
	if x != nil && x.Contactname != nil {
		return *x.Contactname
	}
	return ""
}

func (x *WarehouseApplyReq) GetContactnum() string {
	if x != nil && x.Contactnum != nil {
		return *x.Contactnum
	}
	return ""
}

// 仓库申请请求 0 29 142
type WarehouseApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header      *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`            // MessageHead 消息头
	RetCode     *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`         // int32 返回码
	RetDesc     *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`          // string 描述信息
	Warehouseid *uint64      `protobuf:"varint,4,opt,name=warehouseid" json:"warehouseid,omitempty"` // uint64 仓库ID
}

func (x *WarehouseApplyRsp) Reset() {
	*x = WarehouseApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WarehouseApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WarehouseApplyRsp) ProtoMessage() {}

func (x *WarehouseApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[30]
	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 WarehouseApplyRsp.ProtoReflect.Descriptor instead.
func (*WarehouseApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{30}
}

func (x *WarehouseApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WarehouseApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *WarehouseApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *WarehouseApplyRsp) GetWarehouseid() uint64 {
	if x != nil && x.Warehouseid != nil {
		return *x.Warehouseid
	}
	return 0
}

// 违约申请请求 0 20 9
type PerformanceContractedApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                        // MessageHead
	PerformancePlanID *uint64      `protobuf:"varint,2,opt,name=PerformancePlanID" json:"PerformancePlanID,omitempty"` // uint64 履约计划ID
	BreachType        *uint32      `protobuf:"varint,3,opt,name=BreachType" json:"BreachType,omitempty"`               // uint32 违约方类型
	Applicant         *uint64      `protobuf:"varint,4,opt,name=Applicant" json:"Applicant,omitempty"`                 // uint64 违约申请人
	ApplyRemark       *string      `protobuf:"bytes,5,opt,name=ApplyRemark" json:"ApplyRemark,omitempty"`              // string 申请备注
	Attachment        *string      `protobuf:"bytes,6,opt,name=Attachment" json:"Attachment,omitempty"`                // string 附件
}

func (x *PerformanceContractedApplyReq) Reset() {
	*x = PerformanceContractedApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceContractedApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceContractedApplyReq) ProtoMessage() {}

func (x *PerformanceContractedApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[31]
	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 PerformanceContractedApplyReq.ProtoReflect.Descriptor instead.
func (*PerformanceContractedApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{31}
}

func (x *PerformanceContractedApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceContractedApplyReq) GetPerformancePlanID() uint64 {
	if x != nil && x.PerformancePlanID != nil {
		return *x.PerformancePlanID
	}
	return 0
}

func (x *PerformanceContractedApplyReq) GetBreachType() uint32 {
	if x != nil && x.BreachType != nil {
		return *x.BreachType
	}
	return 0
}

func (x *PerformanceContractedApplyReq) GetApplicant() uint64 {
	if x != nil && x.Applicant != nil {
		return *x.Applicant
	}
	return 0
}

func (x *PerformanceContractedApplyReq) GetApplyRemark() string {
	if x != nil && x.ApplyRemark != nil {
		return *x.ApplyRemark
	}
	return ""
}

func (x *PerformanceContractedApplyReq) GetAttachment() string {
	if x != nil && x.Attachment != nil {
		return *x.Attachment
	}
	return ""
}

// 违约申请应答 0 20 10
type PerformanceContractedApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                        // MessageHead 消息头
	RetCode           *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                     // int32 返回码
	RetDesc           *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                      // string 描述信息
	PerformancePlanID *uint64      `protobuf:"varint,4,opt,name=PerformancePlanID" json:"PerformancePlanID,omitempty"` // uint64 履约计划ID
}

func (x *PerformanceContractedApplyRsp) Reset() {
	*x = PerformanceContractedApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceContractedApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceContractedApplyRsp) ProtoMessage() {}

func (x *PerformanceContractedApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[32]
	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 PerformanceContractedApplyRsp.ProtoReflect.Descriptor instead.
func (*PerformanceContractedApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{32}
}

func (x *PerformanceContractedApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceContractedApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *PerformanceContractedApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *PerformanceContractedApplyRsp) GetPerformancePlanID() uint64 {
	if x != nil && x.PerformancePlanID != nil {
		return *x.PerformancePlanID
	}
	return 0
}

// 延期申请请求 0 20 5
type PerformanceDelayApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                // MessageHead
	PerformancePlanStepID *uint64      `protobuf:"varint,2,opt,name=PerformancePlanStepID" json:"PerformancePlanStepID,omitempty"` // uint64 履约计划步骤ID
	Delaydays             *uint32      `protobuf:"varint,3,opt,name=delaydays" json:"delaydays,omitempty"`                         // uint32 申请延期天数
	Applicant             *uint64      `protobuf:"varint,4,opt,name=applicant" json:"applicant,omitempty"`                         // uint64 申请人
	Applyremark           *string      `protobuf:"bytes,5,opt,name=applyremark" json:"applyremark,omitempty"`                      // string 申请备注
}

func (x *PerformanceDelayApplyReq) Reset() {
	*x = PerformanceDelayApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceDelayApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceDelayApplyReq) ProtoMessage() {}

func (x *PerformanceDelayApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[33]
	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 PerformanceDelayApplyReq.ProtoReflect.Descriptor instead.
func (*PerformanceDelayApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{33}
}

func (x *PerformanceDelayApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceDelayApplyReq) GetPerformancePlanStepID() uint64 {
	if x != nil && x.PerformancePlanStepID != nil {
		return *x.PerformancePlanStepID
	}
	return 0
}

func (x *PerformanceDelayApplyReq) GetDelaydays() uint32 {
	if x != nil && x.Delaydays != nil {
		return *x.Delaydays
	}
	return 0
}

func (x *PerformanceDelayApplyReq) GetApplicant() uint64 {
	if x != nil && x.Applicant != nil {
		return *x.Applicant
	}
	return 0
}

func (x *PerformanceDelayApplyReq) GetApplyremark() string {
	if x != nil && x.Applyremark != nil {
		return *x.Applyremark
	}
	return ""
}

// 延期申请应答 0 20 6
type PerformanceDelayApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                // MessageHead 消息头
	RetCode               *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                             // int32 返回码
	RetDesc               *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                              // string 描述信息
	PerformancePlanStepID *uint64      `protobuf:"varint,4,opt,name=PerformancePlanStepID" json:"PerformancePlanStepID,omitempty"` // uint64 履约计划步骤ID
	Applicant             *uint64      `protobuf:"varint,5,opt,name=applicant" json:"applicant,omitempty"`                         // uint64 申请人
}

func (x *PerformanceDelayApplyRsp) Reset() {
	*x = PerformanceDelayApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceDelayApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceDelayApplyRsp) ProtoMessage() {}

func (x *PerformanceDelayApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[34]
	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 PerformanceDelayApplyRsp.ProtoReflect.Descriptor instead.
func (*PerformanceDelayApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{34}
}

func (x *PerformanceDelayApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceDelayApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *PerformanceDelayApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *PerformanceDelayApplyRsp) GetPerformancePlanStepID() uint64 {
	if x != nil && x.PerformancePlanStepID != nil {
		return *x.PerformancePlanStepID
	}
	return 0
}

func (x *PerformanceDelayApplyRsp) GetApplicant() uint64 {
	if x != nil && x.Applicant != nil {
		return *x.Applicant
	}
	return 0
}

// 履约手动确认请求 0 20 3
type PerformanceManualConfirmReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                 *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                  // MessageHead
	PerformancePlanStepID  *uint64      `protobuf:"varint,2,opt,name=PerformancePlanStepID" json:"PerformancePlanStepID,omitempty"`   // uint64 履约计划步骤ID
	OverShortAmount        *float64     `protobuf:"fixed64,3,opt,name=OverShortAmount" json:"OverShortAmount,omitempty"`              // double 溢短金额
	PerformanceExecuteSide *uint32      `protobuf:"varint,4,opt,name=PerformanceExecuteSide" json:"PerformanceExecuteSide,omitempty"` // uint32 履约步骤执行方 1买方 2 卖方
	StepRemark             *string      `protobuf:"bytes,5,opt,name=StepRemark" json:"StepRemark,omitempty"`                          // string 步骤备注
	OverShortQty           *float64     `protobuf:"fixed64,6,opt,name=OverShortQty" json:"OverShortQty,omitempty"`                    // double 溢短数量
	ExpressFee             *float64     `protobuf:"fixed64,7,opt,name=ExpressFee" json:"ExpressFee,omitempty"`                        // double 运费金额
}

func (x *PerformanceManualConfirmReq) Reset() {
	*x = PerformanceManualConfirmReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceManualConfirmReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceManualConfirmReq) ProtoMessage() {}

func (x *PerformanceManualConfirmReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[35]
	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 PerformanceManualConfirmReq.ProtoReflect.Descriptor instead.
func (*PerformanceManualConfirmReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{35}
}

func (x *PerformanceManualConfirmReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceManualConfirmReq) GetPerformancePlanStepID() uint64 {
	if x != nil && x.PerformancePlanStepID != nil {
		return *x.PerformancePlanStepID
	}
	return 0
}

func (x *PerformanceManualConfirmReq) GetOverShortAmount() float64 {
	if x != nil && x.OverShortAmount != nil {
		return *x.OverShortAmount
	}
	return 0
}

func (x *PerformanceManualConfirmReq) GetPerformanceExecuteSide() uint32 {
	if x != nil && x.PerformanceExecuteSide != nil {
		return *x.PerformanceExecuteSide
	}
	return 0
}

func (x *PerformanceManualConfirmReq) GetStepRemark() string {
	if x != nil && x.StepRemark != nil {
		return *x.StepRemark
	}
	return ""
}

func (x *PerformanceManualConfirmReq) GetOverShortQty() float64 {
	if x != nil && x.OverShortQty != nil {
		return *x.OverShortQty
	}
	return 0
}

func (x *PerformanceManualConfirmReq) GetExpressFee() float64 {
	if x != nil && x.ExpressFee != nil {
		return *x.ExpressFee
	}
	return 0
}

// 履约手动确认应答 0 20 4
type PerformanceManualConfirmRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                // MessageHead 消息头
	RetCode               *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                             // int32 返回码
	RetDesc               *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                              // string 描述信息
	PerformancePlanStepID *uint64      `protobuf:"varint,4,opt,name=PerformancePlanStepID" json:"PerformancePlanStepID,omitempty"` // uint64 履约计划步骤ID
}

func (x *PerformanceManualConfirmRsp) Reset() {
	*x = PerformanceManualConfirmRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceManualConfirmRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceManualConfirmRsp) ProtoMessage() {}

func (x *PerformanceManualConfirmRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[36]
	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 PerformanceManualConfirmRsp.ProtoReflect.Descriptor instead.
func (*PerformanceManualConfirmRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{36}
}

func (x *PerformanceManualConfirmRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceManualConfirmRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *PerformanceManualConfirmRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *PerformanceManualConfirmRsp) GetPerformancePlanStepID() uint64 {
	if x != nil && x.PerformancePlanStepID != nil {
		return *x.PerformancePlanStepID
	}
	return 0
}

// 履约修改联络信息请求 0 20 15
type PerformanceModifyContactReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                        // MessageHead
	PerformancePlanID *uint64      `protobuf:"varint,2,opt,name=PerformancePlanID" json:"PerformancePlanID,omitempty"` // uint64 履约计划ID
	AccountID         *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                 // uint64 账号
	ContactInfo       *string      `protobuf:"bytes,4,opt,name=ContactInfo" json:"ContactInfo,omitempty"`              // string 联络信息
}

func (x *PerformanceModifyContactReq) Reset() {
	*x = PerformanceModifyContactReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceModifyContactReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceModifyContactReq) ProtoMessage() {}

func (x *PerformanceModifyContactReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[37]
	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 PerformanceModifyContactReq.ProtoReflect.Descriptor instead.
func (*PerformanceModifyContactReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{37}
}

func (x *PerformanceModifyContactReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceModifyContactReq) GetPerformancePlanID() uint64 {
	if x != nil && x.PerformancePlanID != nil {
		return *x.PerformancePlanID
	}
	return 0
}

func (x *PerformanceModifyContactReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *PerformanceModifyContactReq) GetContactInfo() string {
	if x != nil && x.ContactInfo != nil {
		return *x.ContactInfo
	}
	return ""
}

// 履约修改联络信息回应 0 20 16
type PerformanceModifyContactRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                        // MessageHead 消息头
	RetCode           *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                     // int32 返回码
	RetDesc           *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                      // string 描述信息
	PerformancePlanID *uint64      `protobuf:"varint,4,opt,name=PerformancePlanID" json:"PerformancePlanID,omitempty"` // uint64 履约计划ID
	AccountID         *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`                 // uint64 账号
}

func (x *PerformanceModifyContactRsp) Reset() {
	*x = PerformanceModifyContactRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PerformanceModifyContactRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PerformanceModifyContactRsp) ProtoMessage() {}

func (x *PerformanceModifyContactRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[38]
	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 PerformanceModifyContactRsp.ProtoReflect.Descriptor instead.
func (*PerformanceModifyContactRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{38}
}

func (x *PerformanceModifyContactRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PerformanceModifyContactRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *PerformanceModifyContactRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *PerformanceModifyContactRsp) GetPerformancePlanID() uint64 {
	if x != nil && x.PerformancePlanID != nil {
		return *x.PerformancePlanID
	}
	return 0
}

func (x *PerformanceModifyContactRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

// 新增钻石商品接口响应
type AddZSGoodsRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint64      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账户ID
	WRStandardID   *uint64      `protobuf:"varint,6,opt,name=WRStandardID" json:"WRStandardID,omitempty"`     // 现货商品ID
	WRFactorTypeID *uint64      `protobuf:"varint,7,opt,name=WRFactorTypeID" json:"WRFactorTypeID,omitempty"` // 仓单要素类型ID
	LadingBillID   *uint64      `protobuf:"varint,8,opt,name=LadingBillID" json:"LadingBillID,omitempty"`     // 提单ID
	SubNum         *uint32      `protobuf:"varint,9,opt,name=SubNum" json:"SubNum,omitempty"`                 // 提单子单号
	ClientSerialNo *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *AddZSGoodsRsp) Reset() {
	*x = AddZSGoodsRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AddZSGoodsRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AddZSGoodsRsp) ProtoMessage() {}

func (x *AddZSGoodsRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[39]
	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 AddZSGoodsRsp.ProtoReflect.Descriptor instead.
func (*AddZSGoodsRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{39}
}

func (x *AddZSGoodsRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *AddZSGoodsRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *AddZSGoodsRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *AddZSGoodsRsp) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *AddZSGoodsRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *AddZSGoodsRsp) GetWRStandardID() uint64 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *AddZSGoodsRsp) GetWRFactorTypeID() uint64 {
	if x != nil && x.WRFactorTypeID != nil {
		return *x.WRFactorTypeID
	}
	return 0
}

func (x *AddZSGoodsRsp) GetLadingBillID() uint64 {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return 0
}

func (x *AddZSGoodsRsp) GetSubNum() uint32 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *AddZSGoodsRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 商品收藏操作接口请求
type GoodsFavoriteOperateReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID，必填
	WRTradeOrderID *uint64      `protobuf:"varint,3,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 委托单ID，必填
	OperateType    *uint32      `protobuf:"varint,4,opt,name=OperateType" json:"OperateType,omitempty"`       // 操作类型，1:添加2:删除,必填
	ClientType     *uint32      `protobuf:"varint,5,opt,name=ClientType" json:"ClientType,omitempty"`         // 终端类型
	MarketID       *uint32      `protobuf:"varint,6,opt,name=MarketID" json:"MarketID,omitempty"`             // 市场ID,必填
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GoodsFavoriteOperateReq) Reset() {
	*x = GoodsFavoriteOperateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GoodsFavoriteOperateReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GoodsFavoriteOperateReq) ProtoMessage() {}

func (x *GoodsFavoriteOperateReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[40]
	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 GoodsFavoriteOperateReq.ProtoReflect.Descriptor instead.
func (*GoodsFavoriteOperateReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{40}
}

func (x *GoodsFavoriteOperateReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GoodsFavoriteOperateReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GoodsFavoriteOperateReq) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GoodsFavoriteOperateReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *GoodsFavoriteOperateReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *GoodsFavoriteOperateReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *GoodsFavoriteOperateReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 商品收藏操作接口应答
type GoodsFavoriteOperateRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	WRTradeOrderID *uint64      `protobuf:"varint,5,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 委托单ID
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GoodsFavoriteOperateRsp) Reset() {
	*x = GoodsFavoriteOperateRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GoodsFavoriteOperateRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GoodsFavoriteOperateRsp) ProtoMessage() {}

func (x *GoodsFavoriteOperateRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[41]
	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 GoodsFavoriteOperateRsp.ProtoReflect.Descriptor instead.
func (*GoodsFavoriteOperateRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{41}
}

func (x *GoodsFavoriteOperateRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GoodsFavoriteOperateRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *GoodsFavoriteOperateRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *GoodsFavoriteOperateRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GoodsFavoriteOperateRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GoodsFavoriteOperateRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石买挂牌属性
type GZBuyOrderDetailExInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	UserID             *uint64   `protobuf:"varint,1,opt,name=UserID" json:"UserID,omitempty"`                          // 用户ID
	AccountID          *uint64   `protobuf:"varint,2,opt,name=AccountID" json:"AccountID,omitempty"`                    // 资金账户ID
	ZSCategory         *uint32   `protobuf:"varint,3,opt,name=ZSCategory" json:"ZSCategory,omitempty"`                  // 钻石分类
	ZSCurrencyType     []uint32  `protobuf:"varint,4,rep,name=ZSCurrencyType" json:"ZSCurrencyType,omitempty"`          // 货币类型
	ZSShapeType        []uint32  `protobuf:"varint,5,rep,name=ZSShapeType" json:"ZSShapeType,omitempty"`                // 形状
	ZSColorType        []uint32  `protobuf:"varint,6,rep,name=ZSColorType" json:"ZSColorType,omitempty"`                // 颜色
	ZSClarityType      []uint32  `protobuf:"varint,7,rep,name=ZSClarityType" json:"ZSClarityType,omitempty"`            // 净度
	ZSCutType          []uint32  `protobuf:"varint,8,rep,name=ZSCutType" json:"ZSCutType,omitempty"`                    // 切工
	ZSSymmetryType     []uint32  `protobuf:"varint,9,rep,name=ZSSymmetryType" json:"ZSSymmetryType,omitempty"`          // 对称度
	ZSPolishType       []uint32  `protobuf:"varint,10,rep,name=ZSPolishType" json:"ZSPolishType,omitempty"`             // 抛光度
	ZSFluorescenceType []uint32  `protobuf:"varint,11,rep,name=ZSFluorescenceType" json:"ZSFluorescenceType,omitempty"` // 荧光
	Size               []float64 `protobuf:"fixed64,12,rep,name=Size" json:"Size,omitempty"`                            // 尺寸
	ZSCrystalType      []uint32  `protobuf:"varint,13,rep,name=ZSCrystalType" json:"ZSCrystalType,omitempty"`           // 晶型
	Origin             *string   `protobuf:"bytes,14,opt,name=Origin" json:"Origin,omitempty"`                          // 原产地
	ZSStyleType        []uint32  `protobuf:"varint,15,rep,name=ZSStyleType" json:"ZSStyleType,omitempty"`               // 款式
	ZSCZColor1Type     []uint32  `protobuf:"varint,16,rep,name=ZSCZColor1Type" json:"ZSCZColor1Type,omitempty"`         // 彩钻颜色1
	ZSCZColor2Type     []uint32  `protobuf:"varint,17,rep,name=ZSCZColor2Type" json:"ZSCZColor2Type,omitempty"`         // 彩钻颜色2
	ZSCZColor3Type     []uint32  `protobuf:"varint,18,rep,name=ZSCZColor3Type" json:"ZSCZColor3Type,omitempty"`         // 彩钻颜色3
	Remark             *string   `protobuf:"bytes,19,opt,name=Remark" json:"Remark,omitempty"`                          // 备注
	WarehouseIDs       []uint64  `protobuf:"varint,20,rep,name=WarehouseIDs" json:"WarehouseIDs,omitempty"`             // 仓库ID
}

func (x *GZBuyOrderDetailExInfo) Reset() {
	*x = GZBuyOrderDetailExInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZBuyOrderDetailExInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZBuyOrderDetailExInfo) ProtoMessage() {}

func (x *GZBuyOrderDetailExInfo) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[42]
	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 GZBuyOrderDetailExInfo.ProtoReflect.Descriptor instead.
func (*GZBuyOrderDetailExInfo) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{42}
}

func (x *GZBuyOrderDetailExInfo) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GZBuyOrderDetailExInfo) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *GZBuyOrderDetailExInfo) GetZSCategory() uint32 {
	if x != nil && x.ZSCategory != nil {
		return *x.ZSCategory
	}
	return 0
}

func (x *GZBuyOrderDetailExInfo) GetZSCurrencyType() []uint32 {
	if x != nil {
		return x.ZSCurrencyType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSShapeType() []uint32 {
	if x != nil {
		return x.ZSShapeType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSColorType() []uint32 {
	if x != nil {
		return x.ZSColorType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSClarityType() []uint32 {
	if x != nil {
		return x.ZSClarityType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSCutType() []uint32 {
	if x != nil {
		return x.ZSCutType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSSymmetryType() []uint32 {
	if x != nil {
		return x.ZSSymmetryType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSPolishType() []uint32 {
	if x != nil {
		return x.ZSPolishType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSFluorescenceType() []uint32 {
	if x != nil {
		return x.ZSFluorescenceType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetSize() []float64 {
	if x != nil {
		return x.Size
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSCrystalType() []uint32 {
	if x != nil {
		return x.ZSCrystalType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetOrigin() string {
	if x != nil && x.Origin != nil {
		return *x.Origin
	}
	return ""
}

func (x *GZBuyOrderDetailExInfo) GetZSStyleType() []uint32 {
	if x != nil {
		return x.ZSStyleType
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSCZColor1Type() []uint32 {
	if x != nil {
		return x.ZSCZColor1Type
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSCZColor2Type() []uint32 {
	if x != nil {
		return x.ZSCZColor2Type
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetZSCZColor3Type() []uint32 {
	if x != nil {
		return x.ZSCZColor3Type
	}
	return nil
}

func (x *GZBuyOrderDetailExInfo) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *GZBuyOrderDetailExInfo) GetWarehouseIDs() []uint64 {
	if x != nil {
		return x.WarehouseIDs
	}
	return nil
}

// 钻石买挂牌接口请求
type ZSBuyOrderListingReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                  *MessageHead            `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID                  *uint32                 `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                                                              // 用户ID，必填
	AccountID               *uint64                 `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                                                        // 资金账号，必填
	GZ_BuyOrderDetailExInfo *GZBuyOrderDetailExInfo `protobuf:"bytes,4,opt,name=GZ_BuyOrderDetailExInfo,json=GZBuyOrderDetailExInfo" json:"GZ_BuyOrderDetailExInfo,omitempty"` // 钻石买挂牌属性
	PerformanceTemplateID   *int64                  `protobuf:"varint,5,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"`                                // 履约计划模板ID
	MarketID                *uint32                 `protobuf:"varint,6,opt,name=MarketID" json:"MarketID,omitempty"`                                                          // 市场ID,必填
	OrderSrc                *uint32                 `protobuf:"varint,7,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                                                          // 委托来源
	ClientOrderTime         *string                 `protobuf:"bytes,8,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`                                             // 客户端委托时间
	ClientType              *uint32                 `protobuf:"varint,9,opt,name=ClientType" json:"ClientType,omitempty"`                                                      // 终端类型
	ClientSerialNo          *string                 `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                                              // 客户端流水号
}

func (x *ZSBuyOrderListingReq) Reset() {
	*x = ZSBuyOrderListingReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderListingReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderListingReq) ProtoMessage() {}

func (x *ZSBuyOrderListingReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[43]
	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 ZSBuyOrderListingReq.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderListingReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{43}
}

func (x *ZSBuyOrderListingReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderListingReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetGZ_BuyOrderDetailExInfo() *GZBuyOrderDetailExInfo {
	if x != nil {
		return x.GZ_BuyOrderDetailExInfo
	}
	return nil
}

func (x *ZSBuyOrderListingReq) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *ZSBuyOrderListingReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSBuyOrderListingReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石买挂牌接口应答
type ZSBuyOrderListingRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 仓单贸易委托单ID
	OrderTime      *string      `protobuf:"bytes,7,opt,name=OrderTime" json:"OrderTime,omitempty"`            // 接收委托交易的时间
	ClientSerialNo *string      `protobuf:"bytes,8,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *ZSBuyOrderListingRsp) Reset() {
	*x = ZSBuyOrderListingRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderListingRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderListingRsp) ProtoMessage() {}

func (x *ZSBuyOrderListingRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[44]
	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 ZSBuyOrderListingRsp.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderListingRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{44}
}

func (x *ZSBuyOrderListingRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderListingRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSBuyOrderListingRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSBuyOrderListingRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderListingRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderListingRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *ZSBuyOrderListingRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *ZSBuyOrderListingRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石卖挂牌接口请求
type ZSSellOrderListingReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID                *uint64      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                               // 用户ID，必填
	AccountID             *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                         // 资金账户ID，必填
	WRStandardID          *uint64      `protobuf:"varint,4,opt,name=WRStandardID" json:"WRStandardID,omitempty"`                   // 现货商品ID，必填
	WRFactorTypeID        *uint64      `protobuf:"varint,5,opt,name=WRFactorTypeID" json:"WRFactorTypeID,omitempty"`               // 仓单要素类型ID，必填
	OrderQty              *float64     `protobuf:"fixed64,6,opt,name=OrderQty" json:"OrderQty,omitempty"`                          // 挂牌数量,必填2位小数，为WeigthAvg的整数倍
	LadingBillID          *uint64      `protobuf:"varint,7,opt,name=LadingBillID" json:"LadingBillID,omitempty"`                   // 提单ID,必填
	SubNum                *uint32      `protobuf:"varint,8,opt,name=SubNum" json:"SubNum,omitempty"`                               // 提单子单号,必填
	PerformanceTemplateID *int64       `protobuf:"varint,9,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"` // 履约计划模板ID
	TimevalidType         *uint32      `protobuf:"varint,10,opt,name=TimevalidType" json:"TimevalidType,omitempty"`                // 时间有效类型
	ValidTime             *string      `protobuf:"bytes,11,opt,name=ValidTime" json:"ValidTime,omitempty"`                         // 有效期限
	OrderSrc              *uint32      `protobuf:"varint,12,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                          // 委托来源
	ClientSerialNo        *string      `protobuf:"bytes,13,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`               // 客户端流水号
	ClientOrderTime       *string      `protobuf:"bytes,14,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`             // 客户端委托时间
	ClientType            *uint32      `protobuf:"varint,15,opt,name=ClientType" json:"ClientType,omitempty"`                      // 终端类型
	MarketID              *uint64      `protobuf:"varint,16,opt,name=MarketID" json:"MarketID,omitempty"`                          // 市场ID,必填
}

func (x *ZSSellOrderListingReq) Reset() {
	*x = ZSSellOrderListingReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderListingReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderListingReq) ProtoMessage() {}

func (x *ZSSellOrderListingReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[45]
	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 ZSSellOrderListingReq.ProtoReflect.Descriptor instead.
func (*ZSSellOrderListingReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{45}
}

func (x *ZSSellOrderListingReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderListingReq) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetWRStandardID() uint64 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetWRFactorTypeID() uint64 {
	if x != nil && x.WRFactorTypeID != nil {
		return *x.WRFactorTypeID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetOrderQty() float64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetLadingBillID() uint64 {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetSubNum() uint32 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetTimevalidType() uint32 {
	if x != nil && x.TimevalidType != nil {
		return *x.TimevalidType
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetValidTime() string {
	if x != nil && x.ValidTime != nil {
		return *x.ValidTime
	}
	return ""
}

func (x *ZSSellOrderListingReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *ZSSellOrderListingReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *ZSSellOrderListingReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSSellOrderListingReq) GetMarketID() uint64 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

// 钻石卖挂牌接口响应
type ZSSellOrderListingRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 仓单贸易委托单ID
	FreezeQty      *uint64      `protobuf:"varint,7,opt,name=FreezeQty" json:"FreezeQty,omitempty"`           // 冻结数量
	OrderTime      *string      `protobuf:"bytes,8,opt,name=OrderTime" json:"OrderTime,omitempty"`            // 接收委托交易的时间
	ClientSerialNo *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *ZSSellOrderListingRsp) Reset() {
	*x = ZSSellOrderListingRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderListingRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderListingRsp) ProtoMessage() {}

func (x *ZSSellOrderListingRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[46]
	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 ZSSellOrderListingRsp.ProtoReflect.Descriptor instead.
func (*ZSSellOrderListingRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{46}
}

func (x *ZSSellOrderListingRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderListingRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSSellOrderListingRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSSellOrderListingRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderListingRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderListingRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *ZSSellOrderListingRsp) GetFreezeQty() uint64 {
	if x != nil && x.FreezeQty != nil {
		return *x.FreezeQty
	}
	return 0
}

func (x *ZSSellOrderListingRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *ZSSellOrderListingRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石买摘牌接口请求
type ZSBuyOrderDestingReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID                *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                               // 用户ID，必填
	AccountID             *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                         // 资金账号，必填
	RelatedWRTradeOrderID *uint64      `protobuf:"varint,4,opt,name=RelatedWRTradeOrderID" json:"RelatedWRTradeOrderID,omitempty"` // 卖委托单号，必填
	OrderQty              *float64     `protobuf:"fixed64,5,opt,name=OrderQty" json:"OrderQty,omitempty"`                          // 委托数量,必填2位小数，为WeigthAvg的整数倍
	OrderSrc              *uint32      `protobuf:"varint,6,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                           // 委托来源
	ClientSerialNo        *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                // 客户端流水号
	ClientOrderTime       *string      `protobuf:"bytes,8,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`              // 客户端委托时间
	ClientType            *uint32      `protobuf:"varint,9,opt,name=ClientType" json:"ClientType,omitempty"`                       // 终端类型
	OperatorID            *uint64      `protobuf:"varint,10,opt,name=OperatorID" json:"OperatorID,omitempty"`                      // 操作员账号ID
	MarketID              *uint64      `protobuf:"varint,11,opt,name=MarketID" json:"MarketID,omitempty"`                          // 市场ID,必填
}

func (x *ZSBuyOrderDestingReq) Reset() {
	*x = ZSBuyOrderDestingReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingReq) ProtoMessage() {}

func (x *ZSBuyOrderDestingReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[47]
	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 ZSBuyOrderDestingReq.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{47}
}

func (x *ZSBuyOrderDestingReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetRelatedWRTradeOrderID() uint64 {
	if x != nil && x.RelatedWRTradeOrderID != nil {
		return *x.RelatedWRTradeOrderID
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetOrderQty() float64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *ZSBuyOrderDestingReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *ZSBuyOrderDestingReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *ZSBuyOrderDestingReq) GetMarketID() uint64 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

// 钻石买摘牌接口响应
type ZSBuyOrderDestingRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                // 消息头
	RetCode               *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                             // 返回码
	RetDesc               *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                              // 描述信息
	UserID                *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                               // 用户ID
	AccountID             *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`                         // 资金账号
	WRTradeOrderID        *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"`               // 仓单贸易委托单ID
	RelatedWRTradeOrderID *uint64      `protobuf:"varint,7,opt,name=RelatedWRTradeOrderID" json:"RelatedWRTradeOrderID,omitempty"` // 关联委托单号(摘牌委托关联挂牌委托单ID)
	FreezeAmount          *float64     `protobuf:"fixed64,8,opt,name=FreezeAmount" json:"FreezeAmount,omitempty"`                  // 冻结货款
	OrderTime             *string      `protobuf:"bytes,9,opt,name=OrderTime" json:"OrderTime,omitempty"`                          // 接收委托交易的时间
	ClientSerialNo        *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`               // 客户端流水号
}

func (x *ZSBuyOrderDestingRsp) Reset() {
	*x = ZSBuyOrderDestingRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingRsp) ProtoMessage() {}

func (x *ZSBuyOrderDestingRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[48]
	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 ZSBuyOrderDestingRsp.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{48}
}

func (x *ZSBuyOrderDestingRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSBuyOrderDestingRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetRelatedWRTradeOrderID() uint64 {
	if x != nil && x.RelatedWRTradeOrderID != nil {
		return *x.RelatedWRTradeOrderID
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetFreezeAmount() float64 {
	if x != nil && x.FreezeAmount != nil {
		return *x.FreezeAmount
	}
	return 0
}

func (x *ZSBuyOrderDestingRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *ZSBuyOrderDestingRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石卖摘牌申请接口请求
type ZSSellOrderDestingApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID            *uint64      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                       // 用户ID，必填
	AccountID         *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                 // 资金账户ID，必填
	BuyWRTradeOrderID *uint64      `protobuf:"varint,4,opt,name=BuyWRTradeOrderID" json:"BuyWRTradeOrderID,omitempty"` // 买挂牌委托单ID,必填
	WRStandardID      *uint64      `protobuf:"varint,5,opt,name=WRStandardID" json:"WRStandardID,omitempty"`           // 现货商品ID，必填
	WRFactorTypeID    *uint64      `protobuf:"varint,6,opt,name=WRFactorTypeID" json:"WRFactorTypeID,omitempty"`       // 仓单要素类型ID，必填
	ApplyQty          *float64     `protobuf:"fixed64,7,opt,name=ApplyQty" json:"ApplyQty,omitempty"`                  // 申请数量,必填，2位小数
	ApplyPrice        *float64     `protobuf:"fixed64,8,opt,name=ApplyPrice" json:"ApplyPrice,omitempty"`              // 申请价格，必填，2位小数
	LadingBillID      *uint64      `protobuf:"varint,9,opt,name=LadingBillID" json:"LadingBillID,omitempty"`           // 提单ID,必填
	SubNum            *uint32      `protobuf:"varint,10,opt,name=SubNum" json:"SubNum,omitempty"`                      // 提单子单号,必填
	ApplyRemark       *string      `protobuf:"bytes,11,opt,name=ApplyRemark" json:"ApplyRemark,omitempty"`             // 备注
	ClientType        *uint32      `protobuf:"varint,12,opt,name=ClientType" json:"ClientType,omitempty"`              // 终端类型
	ClientSerialNo    *string      `protobuf:"bytes,13,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`       // 客户端流水号
	MarketID          *uint64      `protobuf:"varint,14,opt,name=MarketID" json:"MarketID,omitempty"`                  // 市场ID,必填
}

func (x *ZSSellOrderDestingApplyReq) Reset() {
	*x = ZSSellOrderDestingApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderDestingApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderDestingApplyReq) ProtoMessage() {}

func (x *ZSSellOrderDestingApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[49]
	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 ZSSellOrderDestingApplyReq.ProtoReflect.Descriptor instead.
func (*ZSSellOrderDestingApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{49}
}

func (x *ZSSellOrderDestingApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderDestingApplyReq) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetBuyWRTradeOrderID() uint64 {
	if x != nil && x.BuyWRTradeOrderID != nil {
		return *x.BuyWRTradeOrderID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetWRStandardID() uint64 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetWRFactorTypeID() uint64 {
	if x != nil && x.WRFactorTypeID != nil {
		return *x.WRFactorTypeID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetApplyQty() float64 {
	if x != nil && x.ApplyQty != nil {
		return *x.ApplyQty
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetApplyPrice() float64 {
	if x != nil && x.ApplyPrice != nil {
		return *x.ApplyPrice
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetLadingBillID() uint64 {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetSubNum() uint32 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetApplyRemark() string {
	if x != nil && x.ApplyRemark != nil {
		return *x.ApplyRemark
	}
	return ""
}

func (x *ZSSellOrderDestingApplyReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSSellOrderDestingApplyReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *ZSSellOrderDestingApplyReq) GetMarketID() uint64 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

// 钻石卖摘牌申请接口响应
type ZSSellOrderDestingApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 资金账号
	ApplyID        *uint64      `protobuf:"varint,6,opt,name=ApplyID" json:"ApplyID,omitempty"`              // 仓单贸易委托单ID
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *ZSSellOrderDestingApplyRsp) Reset() {
	*x = ZSSellOrderDestingApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderDestingApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderDestingApplyRsp) ProtoMessage() {}

func (x *ZSSellOrderDestingApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[50]
	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 ZSSellOrderDestingApplyRsp.ProtoReflect.Descriptor instead.
func (*ZSSellOrderDestingApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{50}
}

func (x *ZSSellOrderDestingApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderDestingApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSSellOrderDestingApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSSellOrderDestingApplyRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyRsp) GetApplyID() uint64 {
	if x != nil && x.ApplyID != nil {
		return *x.ApplyID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石卖摘牌申请操作接口请求
type ZSSellOrderDestingApplyOperateReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header               *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID               *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                             // 用户ID，必填
	AccountID            *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                       // 资金账号
	SellDelistingApplyID *uint64      `protobuf:"varint,4,opt,name=SellDelistingApplyID" json:"SellDelistingApplyID,omitempty"` // 卖摘牌申请ID，必填
	AuditRemark          *string      `protobuf:"bytes,5,opt,name=AuditRemark" json:"AuditRemark,omitempty"`                    // 备注
	OperateType          *uint32      `protobuf:"varint,6,opt,name=OperateType" json:"OperateType,omitempty"`                   // 操作类型，1：撤销2:拒绝
	MarketID             *uint32      `protobuf:"varint,7,opt,name=MarketID" json:"MarketID,omitempty"`                         // 市场ID,必填
	ClientType           *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`                     // 终端类型
	OrderSrc             *uint32      `protobuf:"varint,9,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                         // 委托来源
	ClientSerialNo       *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`             // 客户端流水号
}

func (x *ZSSellOrderDestingApplyOperateReq) Reset() {
	*x = ZSSellOrderDestingApplyOperateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderDestingApplyOperateReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderDestingApplyOperateReq) ProtoMessage() {}

func (x *ZSSellOrderDestingApplyOperateReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[51]
	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 ZSSellOrderDestingApplyOperateReq.ProtoReflect.Descriptor instead.
func (*ZSSellOrderDestingApplyOperateReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{51}
}

func (x *ZSSellOrderDestingApplyOperateReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderDestingApplyOperateReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetSellDelistingApplyID() uint64 {
	if x != nil && x.SellDelistingApplyID != nil {
		return *x.SellDelistingApplyID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetAuditRemark() string {
	if x != nil && x.AuditRemark != nil {
		return *x.AuditRemark
	}
	return ""
}

func (x *ZSSellOrderDestingApplyOperateReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石卖摘牌申请操作接口应答
type ZSSellOrderDestingApplyOperateRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header               *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                              // 消息头
	RetCode              *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                           // 返回码
	RetDesc              *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                            // 描述信息
	UserID               *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                             // 用户ID
	AccountID            *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`                       // 资金账号
	SellDelistingApplyID *uint64      `protobuf:"varint,6,opt,name=SellDelistingApplyID" json:"SellDelistingApplyID,omitempty"` // 卖摘牌申请ID
	WRTradeOrderID       *uint64      `protobuf:"varint,7,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"`             // 仓单贸易委托单ID
	FreezeAmount         *float64     `protobuf:"fixed64,8,opt,name=FreezeAmount" json:"FreezeAmount,omitempty"`                // 冻结货款
	OrderTime            *string      `protobuf:"bytes,9,opt,name=OrderTime" json:"OrderTime,omitempty"`                        // 接收委托交易的时间
	ClientSerialNo       *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`             // 客户端流水号
}

func (x *ZSSellOrderDestingApplyOperateRsp) Reset() {
	*x = ZSSellOrderDestingApplyOperateRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSSellOrderDestingApplyOperateRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSSellOrderDestingApplyOperateRsp) ProtoMessage() {}

func (x *ZSSellOrderDestingApplyOperateRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[52]
	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 ZSSellOrderDestingApplyOperateRsp.ProtoReflect.Descriptor instead.
func (*ZSSellOrderDestingApplyOperateRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{52}
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetSellDelistingApplyID() uint64 {
	if x != nil && x.SellDelistingApplyID != nil {
		return *x.SellDelistingApplyID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetFreezeAmount() float64 {
	if x != nil && x.FreezeAmount != nil {
		return *x.FreezeAmount
	}
	return 0
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *ZSSellOrderDestingApplyOperateRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 买摘牌询价接口请求
type ZSBuyOrderDestingNegPriceReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID          *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                  // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`            // 资金账号，必填
	RelatedOrderID  *uint64      `protobuf:"varint,4,opt,name=RelatedOrderID" json:"RelatedOrderID,omitempty"`  // 卖委托单号，必填
	OrderQty        *float64     `protobuf:"fixed64,5,opt,name=OrderQty" json:"OrderQty,omitempty"`             // 议价数量，2位小数，必填
	ApplyPrice      *float64     `protobuf:"fixed64,6,opt,name=ApplyPrice" json:"ApplyPrice,omitempty"`         // 协议价格，2位小数，必填
	OrderSrc        *uint32      `protobuf:"varint,7,opt,name=OrderSrc" json:"OrderSrc,omitempty"`              // 委托来源
	ClientSerialNo  *string      `protobuf:"bytes,8,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientOrderTime *string      `protobuf:"bytes,9,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"` // 客户端委托时间
	ClientType      *uint32      `protobuf:"varint,10,opt,name=ClientType" json:"ClientType,omitempty"`         // 终端类型
	OperatorID      *uint64      `protobuf:"varint,11,opt,name=OperatorID" json:"OperatorID,omitempty"`         // 操作员账号ID
	MarketID        *uint32      `protobuf:"varint,12,opt,name=MarketID" json:"MarketID,omitempty"`             // 市场ID,必填
	ApplyRemark     *string      `protobuf:"bytes,13,opt,name=ApplyRemark" json:"ApplyRemark,omitempty"`        // 申请备注
}

func (x *ZSBuyOrderDestingNegPriceReq) Reset() {
	*x = ZSBuyOrderDestingNegPriceReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingNegPriceReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingNegPriceReq) ProtoMessage() {}

func (x *ZSBuyOrderDestingNegPriceReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[53]
	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 ZSBuyOrderDestingNegPriceReq.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingNegPriceReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{53}
}

func (x *ZSBuyOrderDestingNegPriceReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingNegPriceReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetRelatedOrderID() uint64 {
	if x != nil && x.RelatedOrderID != nil {
		return *x.RelatedOrderID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetOrderQty() float64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetApplyPrice() float64 {
	if x != nil && x.ApplyPrice != nil {
		return *x.ApplyPrice
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceReq) GetApplyRemark() string {
	if x != nil && x.ApplyRemark != nil {
		return *x.ApplyRemark
	}
	return ""
}

// 买摘牌询价接口应答
type ZSBuyOrderDestingNegPriceRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 摘牌委托单ID
	WRBargainID    *uint64      `protobuf:"varint,7,opt,name=WRBargainID" json:"WRBargainID,omitempty"`       // 议价申请单ID
	OrderTime      *string      `protobuf:"bytes,8,opt,name=OrderTime" json:"OrderTime,omitempty"`            // 接收委托交易的时间
	ClientSerialNo *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *ZSBuyOrderDestingNegPriceRsp) Reset() {
	*x = ZSBuyOrderDestingNegPriceRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingNegPriceRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingNegPriceRsp) ProtoMessage() {}

func (x *ZSBuyOrderDestingNegPriceRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[54]
	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 ZSBuyOrderDestingNegPriceRsp.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingNegPriceRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{54}
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetWRBargainID() uint64 {
	if x != nil && x.WRBargainID != nil {
		return *x.WRBargainID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 买摘牌询价操作接口请求
type ZSBuyOrderDestingNegPriceOperateReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号，必填
	WRBargainID    *uint64      `protobuf:"varint,4,opt,name=WRBargainID" json:"WRBargainID,omitempty"`       // 议价申请单ID，必填
	AuditRemark    *string      `protobuf:"bytes,5,opt,name=AuditRemark" json:"AuditRemark,omitempty"`        // 备注
	OperateType    *uint32      `protobuf:"varint,6,opt,name=OperateType" json:"OperateType,omitempty"`       // 操作类型，1：撤销2:拒绝
	MarketID       *uint32      `protobuf:"varint,7,opt,name=MarketID" json:"MarketID,omitempty"`             // 市场ID,必填
	ClientType     *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`         // 终端类型
	OrderSrc       *uint32      `protobuf:"varint,9,opt,name=OrderSrc" json:"OrderSrc,omitempty"`             // 委托来源
	ClientSerialNo *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) Reset() {
	*x = ZSBuyOrderDestingNegPriceOperateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingNegPriceOperateReq) ProtoMessage() {}

func (x *ZSBuyOrderDestingNegPriceOperateReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[55]
	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 ZSBuyOrderDestingNegPriceOperateReq.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingNegPriceOperateReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{55}
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetWRBargainID() uint64 {
	if x != nil && x.WRBargainID != nil {
		return *x.WRBargainID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetAuditRemark() string {
	if x != nil && x.AuditRemark != nil {
		return *x.AuditRemark
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 买摘牌询价操作接口应答
type ZSBuyOrderDestingNegPriceOperateRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 资金账号
	WRBargainID    *uint64      `protobuf:"varint,6,opt,name=WRBargainID" json:"WRBargainID,omitempty"`      // 卖委托单号
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) Reset() {
	*x = ZSBuyOrderDestingNegPriceOperateRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ZSBuyOrderDestingNegPriceOperateRsp) ProtoMessage() {}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[56]
	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 ZSBuyOrderDestingNegPriceOperateRsp.ProtoReflect.Descriptor instead.
func (*ZSBuyOrderDestingNegPriceOperateRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{56}
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetWRBargainID() uint64 {
	if x != nil && x.WRBargainID != nil {
		return *x.WRBargainID
	}
	return 0
}

func (x *ZSBuyOrderDestingNegPriceOperateRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 挂牌撤单请求
type WRListingCancelOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID            *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                       // 用户ID
	AccountID         *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                 // 资金账号
	OldWRTradeOrderID *uint64      `protobuf:"varint,4,opt,name=OldWRTradeOrderID" json:"OldWRTradeOrderID,omitempty"` // 目标仓单贸易委托单ID
	OrderSrc          *uint32      `protobuf:"varint,5,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                   // 委托来源
	ClientSerialNo    *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`        // 客户端流水号
	ClientOrderTime   *string      `protobuf:"bytes,7,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`      // 客户端委托时间
	ClientType        *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`               // 终端类型
	OperatorID        *uint64      `protobuf:"varint,9,opt,name=OperatorID" json:"OperatorID,omitempty"`               // 操作员账号ID
	BuyOrSell         *uint32      `protobuf:"varint,10,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`                // 买卖方向
	WRID              *uint64      `protobuf:"varint,11,opt,name=WRID" json:"WRID,omitempty"`                          // 仓单ID,卖的时候填写
}

func (x *WRListingCancelOrderReq) Reset() {
	*x = WRListingCancelOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WRListingCancelOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WRListingCancelOrderReq) ProtoMessage() {}

func (x *WRListingCancelOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[57]
	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 WRListingCancelOrderReq.ProtoReflect.Descriptor instead.
func (*WRListingCancelOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{57}
}

func (x *WRListingCancelOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WRListingCancelOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetOldWRTradeOrderID() uint64 {
	if x != nil && x.OldWRTradeOrderID != nil {
		return *x.OldWRTradeOrderID
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *WRListingCancelOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *WRListingCancelOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *WRListingCancelOrderReq) GetWRID() uint64 {
	if x != nil && x.WRID != nil {
		return *x.WRID
	}
	return 0
}

// 挂牌撤单应答
type WRListingCancelOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                        // 消息头
	RetCode           *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                     // 返回码
	RetDesc           *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                      // 描述信息
	WRTradeCancelID   *uint64      `protobuf:"varint,4,opt,name=WRTradeCancelID" json:"WRTradeCancelID,omitempty"`     // 仓单贸易撤单号
	OldWRTradeOrderID *uint64      `protobuf:"varint,5,opt,name=OldWRTradeOrderID" json:"OldWRTradeOrderID,omitempty"` // 目标仓单贸易委托单ID
	UserID            *uint32      `protobuf:"varint,6,opt,name=UserID" json:"UserID,omitempty"`                       // 用户ID
	AccountID         *uint64      `protobuf:"varint,7,opt,name=AccountID" json:"AccountID,omitempty"`                 // 资金账号
	CancelQty         *uint64      `protobuf:"varint,8,opt,name=CancelQty" json:"CancelQty,omitempty"`                 // 撤单数量
	OrderTime         *string      `protobuf:"bytes,9,opt,name=OrderTime" json:"OrderTime,omitempty"`                  // 接受撤单的时间
	ClientSerialNo    *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`       // 客户端流水号
}

func (x *WRListingCancelOrderRsp) Reset() {
	*x = WRListingCancelOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WRListingCancelOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WRListingCancelOrderRsp) ProtoMessage() {}

func (x *WRListingCancelOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[58]
	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 WRListingCancelOrderRsp.ProtoReflect.Descriptor instead.
func (*WRListingCancelOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{58}
}

func (x *WRListingCancelOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WRListingCancelOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *WRListingCancelOrderRsp) GetWRTradeCancelID() uint64 {
	if x != nil && x.WRTradeCancelID != nil {
		return *x.WRTradeCancelID
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetOldWRTradeOrderID() uint64 {
	if x != nil && x.OldWRTradeOrderID != nil {
		return *x.OldWRTradeOrderID
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetCancelQty() uint64 {
	if x != nil && x.CancelQty != nil {
		return *x.CancelQty
	}
	return 0
}

func (x *WRListingCancelOrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *WRListingCancelOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 钻石出库申请接口请求
type ReceiptZSOutApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	Common            *WRCommon    `protobuf:"bytes,2,opt,name=Common" json:"Common,omitempty"`                        //
	UserID            *uint64      `protobuf:"varint,3,opt,name=UserID" json:"UserID,omitempty"`                       // 用户ID，必填
	AccountID         *uint64      `protobuf:"varint,4,opt,name=AccountID" json:"AccountID,omitempty"`                 // 用户帐户ID
	WRStandardID      *uint64      `protobuf:"varint,5,opt,name=WRStandardID" json:"WRStandardID,omitempty"`           // 现货品种ID
	WarehouseID       *uint32      `protobuf:"varint,6,opt,name=WarehouseID" json:"WarehouseID,omitempty"`             // 仓库ID
	Mobile            *string      `protobuf:"bytes,7,opt,name=Mobile" json:"Mobile,omitempty"`                        // 申请人手机号
	AppointmentDate   *string      `protobuf:"bytes,8,opt,name=AppointmentDate" json:"AppointmentDate,omitempty"`      // 预约日期
	AppointmentModel  *int32       `protobuf:"varint,9,opt,name=AppointmentModel" json:"AppointmentModel,omitempty"`   // 预约方式:1-物流3-自提
	CountryID         *uint64      `protobuf:"varint,10,opt,name=CountryID" json:"CountryID,omitempty"`                // 国家
	ProvinceID        *uint64      `protobuf:"varint,11,opt,name=ProvinceID" json:"ProvinceID,omitempty"`              // 省
	DistrictID        *uint64      `protobuf:"varint,12,opt,name=DistrictID" json:"DistrictID,omitempty"`              // 区
	CityID            *uint64      `protobuf:"varint,13,opt,name=CityID" json:"CityID,omitempty"`                      // 市
	Address           *string      `protobuf:"bytes,14,opt,name=Address" json:"Address,omitempty"`                     // 详细地址
	ContactName       *string      `protobuf:"bytes,15,opt,name=ContactName" json:"ContactName,omitempty"`             // 收货人提货人
	ContactNum        *string      `protobuf:"bytes,16,opt,name=ContactNum" json:"ContactNum,omitempty"`               // 收货人提货人手机
	AppointmentRemark *string      `protobuf:"bytes,17,opt,name=AppointmentRemark" json:"AppointmentRemark,omitempty"` // 预约备注
	LadingBillID      *uint64      `protobuf:"varint,18,opt,name=LadingBillID" json:"LadingBillID,omitempty"`          // 提单ID，必填
	SubNum            *uint32      `protobuf:"varint,19,opt,name=SubNum" json:"SubNum,omitempty"`                      // 提单子单号，必填
	Qty               *float64     `protobuf:"fixed64,20,opt,name=Qty" json:"Qty,omitempty"`                           // 出库数量，两位小数，必填
	Remark            *string      `protobuf:"bytes,21,opt,name=Remark" json:"Remark,omitempty"`                       // 备注
	ApplyType         *uint32      `protobuf:"varint,22,opt,name=ApplyType" json:"ApplyType,omitempty"`                // 申请类型1:会员申请2：平台申请
	ClientType        *uint32      `protobuf:"varint,23,opt,name=ClientType" json:"ClientType,omitempty"`              // 终端类型
	ClientTicket      *string      `protobuf:"bytes,24,opt,name=ClientTicket" json:"ClientTicket,omitempty"`           // 客户端流水号
}

func (x *ReceiptZSOutApplyReq) Reset() {
	*x = ReceiptZSOutApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptZSOutApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptZSOutApplyReq) ProtoMessage() {}

func (x *ReceiptZSOutApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[59]
	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 ReceiptZSOutApplyReq.ProtoReflect.Descriptor instead.
func (*ReceiptZSOutApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{59}
}

func (x *ReceiptZSOutApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ReceiptZSOutApplyReq) GetCommon() *WRCommon {
	if x != nil {
		return x.Common
	}
	return nil
}

func (x *ReceiptZSOutApplyReq) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetWRStandardID() uint64 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetWarehouseID() uint32 {
	if x != nil && x.WarehouseID != nil {
		return *x.WarehouseID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetMobile() string {
	if x != nil && x.Mobile != nil {
		return *x.Mobile
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetAppointmentDate() string {
	if x != nil && x.AppointmentDate != nil {
		return *x.AppointmentDate
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetAppointmentModel() int32 {
	if x != nil && x.AppointmentModel != nil {
		return *x.AppointmentModel
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetCountryID() uint64 {
	if x != nil && x.CountryID != nil {
		return *x.CountryID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetProvinceID() uint64 {
	if x != nil && x.ProvinceID != nil {
		return *x.ProvinceID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetDistrictID() uint64 {
	if x != nil && x.DistrictID != nil {
		return *x.DistrictID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetCityID() uint64 {
	if x != nil && x.CityID != nil {
		return *x.CityID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetAddress() string {
	if x != nil && x.Address != nil {
		return *x.Address
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetContactName() string {
	if x != nil && x.ContactName != nil {
		return *x.ContactName
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetContactNum() string {
	if x != nil && x.ContactNum != nil {
		return *x.ContactNum
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetAppointmentRemark() string {
	if x != nil && x.AppointmentRemark != nil {
		return *x.AppointmentRemark
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetLadingBillID() uint64 {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetSubNum() uint32 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetQty() float64 {
	if x != nil && x.Qty != nil {
		return *x.Qty
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *ReceiptZSOutApplyReq) GetApplyType() uint32 {
	if x != nil && x.ApplyType != nil {
		return *x.ApplyType
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *ReceiptZSOutApplyReq) GetClientTicket() string {
	if x != nil && x.ClientTicket != nil {
		return *x.ClientTicket
	}
	return ""
}

// 钻石出库申请接口响应
type ReceiptZSOutApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header       *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`             // 消息头
	RetCode      *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`          // 返回码
	RetDesc      *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`           // 描述信息
	Common       *WRCommon    `protobuf:"bytes,4,opt,name=Common" json:"Common,omitempty"`             //
	ApplyID      *uint64      `protobuf:"varint,5,opt,name=ApplyID" json:"ApplyID,omitempty"`          // 申请ID
	ClientTicket *string      `protobuf:"bytes,6,opt,name=ClientTicket" json:"ClientTicket,omitempty"` // 客户端流水号
}

func (x *ReceiptZSOutApplyRsp) Reset() {
	*x = ReceiptZSOutApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ReceiptZSOutApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReceiptZSOutApplyRsp) ProtoMessage() {}

func (x *ReceiptZSOutApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[60]
	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 ReceiptZSOutApplyRsp.ProtoReflect.Descriptor instead.
func (*ReceiptZSOutApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{60}
}

func (x *ReceiptZSOutApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *ReceiptZSOutApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *ReceiptZSOutApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *ReceiptZSOutApplyRsp) GetCommon() *WRCommon {
	if x != nil {
		return x.Common
	}
	return nil
}

func (x *ReceiptZSOutApplyRsp) GetApplyID() uint64 {
	if x != nil && x.ApplyID != nil {
		return *x.ApplyID
	}
	return 0
}

func (x *ReceiptZSOutApplyRsp) GetClientTicket() string {
	if x != nil && x.ClientTicket != nil {
		return *x.ClientTicket
	}
	return ""
}

// 铁合金保证金配置信息
type DepositConfigInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DepositRate    *float64 `protobuf:"fixed64,1,opt,name=DepositRate" json:"DepositRate,omitempty"`       // 定金比例
	DiscountAmount *float64 `protobuf:"fixed64,2,opt,name=DiscountAmount" json:"DiscountAmount,omitempty"` // 优惠金额
}

func (x *DepositConfigInfo) Reset() {
	*x = DepositConfigInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[61]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DepositConfigInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DepositConfigInfo) ProtoMessage() {}

func (x *DepositConfigInfo) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[61]
	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 DepositConfigInfo.ProtoReflect.Descriptor instead.
func (*DepositConfigInfo) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{61}
}

func (x *DepositConfigInfo) GetDepositRate() float64 {
	if x != nil && x.DepositRate != nil {
		return *x.DepositRate
	}
	return 0
}

func (x *DepositConfigInfo) GetDiscountAmount() float64 {
	if x != nil && x.DiscountAmount != nil {
		return *x.DiscountAmount
	}
	return 0
}

// 铁合金现货预售挂牌接口请求
type SpotPresaleListingOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead         `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32              `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID，必填
	AccountID      *uint64              `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号，必填
	WRStandardID   *uint32              `protobuf:"varint,4,opt,name=WRStandardID" json:"WRStandardID,omitempty"`     // 现货商品ID，必填
	WarehouseID    *uint32              `protobuf:"varint,5,opt,name=WarehouseID" json:"WarehouseID,omitempty"`       // 仓库ID，必填
	Qty            *uint64              `protobuf:"varint,6,opt,name=Qty" json:"Qty,omitempty"`                       // 预售数量，必填
	EndDate        *string              `protobuf:"bytes,7,opt,name=EndDate" json:"EndDate,omitempty"`                // 到期时间，必填
	DepositConfigs []*DepositConfigInfo `protobuf:"bytes,8,rep,name=DepositConfigs" json:"DepositConfigs,omitempty"`  // 保证金配置信息，至少一组
	ClientType     *uint32              `protobuf:"varint,9,opt,name=ClientType" json:"ClientType,omitempty"`         // 终端类型
	ClientSerialNo *string              `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
	UnitPrice      *float64             `protobuf:"fixed64,11,opt,name=UnitPrice" json:"UnitPrice,omitempty"`         // 参考价,小数，前10，后2，必填
}

func (x *SpotPresaleListingOrderReq) Reset() {
	*x = SpotPresaleListingOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[62]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpotPresaleListingOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpotPresaleListingOrderReq) ProtoMessage() {}

func (x *SpotPresaleListingOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[62]
	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 SpotPresaleListingOrderReq.ProtoReflect.Descriptor instead.
func (*SpotPresaleListingOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{62}
}

func (x *SpotPresaleListingOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *SpotPresaleListingOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetWRStandardID() uint32 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetWarehouseID() uint32 {
	if x != nil && x.WarehouseID != nil {
		return *x.WarehouseID
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetQty() uint64 {
	if x != nil && x.Qty != nil {
		return *x.Qty
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetEndDate() string {
	if x != nil && x.EndDate != nil {
		return *x.EndDate
	}
	return ""
}

func (x *SpotPresaleListingOrderReq) GetDepositConfigs() []*DepositConfigInfo {
	if x != nil {
		return x.DepositConfigs
	}
	return nil
}

func (x *SpotPresaleListingOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *SpotPresaleListingOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *SpotPresaleListingOrderReq) GetUnitPrice() float64 {
	if x != nil && x.UnitPrice != nil {
		return *x.UnitPrice
	}
	return 0
}

// 铁合金现货预售挂牌接口应答
type SpotPresaleListingOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	PresaleApplyID *uint64      `protobuf:"varint,4,opt,name=PresaleApplyID" json:"PresaleApplyID,omitempty"` // 预售申请ID
	WRTradeOrderID *uint64      `protobuf:"varint,5,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 委托单ID
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *SpotPresaleListingOrderRsp) Reset() {
	*x = SpotPresaleListingOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[63]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SpotPresaleListingOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SpotPresaleListingOrderRsp) ProtoMessage() {}

func (x *SpotPresaleListingOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[63]
	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 SpotPresaleListingOrderRsp.ProtoReflect.Descriptor instead.
func (*SpotPresaleListingOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{63}
}

func (x *SpotPresaleListingOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *SpotPresaleListingOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *SpotPresaleListingOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *SpotPresaleListingOrderRsp) GetPresaleApplyID() uint64 {
	if x != nil && x.PresaleApplyID != nil {
		return *x.PresaleApplyID
	}
	return 0
}

func (x *SpotPresaleListingOrderRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *SpotPresaleListingOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 铁合金成交通知
type THJPurchaseTradeNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                    // 消息头
	WRTradeDetailID *uint64      `protobuf:"varint,2,opt,name=WRTradeDetailID" json:"WRTradeDetailID,omitempty"` // uint64 预售成交明细ID
}

func (x *THJPurchaseTradeNtf) Reset() {
	*x = THJPurchaseTradeNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[64]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *THJPurchaseTradeNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*THJPurchaseTradeNtf) ProtoMessage() {}

func (x *THJPurchaseTradeNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[64]
	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 THJPurchaseTradeNtf.ProtoReflect.Descriptor instead.
func (*THJPurchaseTradeNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{64}
}

func (x *THJPurchaseTradeNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *THJPurchaseTradeNtf) GetWRTradeDetailID() uint64 {
	if x != nil && x.WRTradeDetailID != nil {
		return *x.WRTradeDetailID
	}
	return 0
}

// 铁合金协议转让通知
type PurchaseTransferNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header     *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`          // 消息头
	TransferID *uint64      `protobuf:"varint,2,opt,name=TransferID" json:"TransferID,omitempty"` // uint64 协议转让ID
}

func (x *PurchaseTransferNtf) Reset() {
	*x = PurchaseTransferNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[65]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PurchaseTransferNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PurchaseTransferNtf) ProtoMessage() {}

func (x *PurchaseTransferNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[65]
	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 PurchaseTransferNtf.ProtoReflect.Descriptor instead.
func (*PurchaseTransferNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{65}
}

func (x *PurchaseTransferNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PurchaseTransferNtf) GetTransferID() uint64 {
	if x != nil && x.TransferID != nil {
		return *x.TransferID
	}
	return 0
}

// 仓单贸易成交通知
type WRTradeDealedNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                 // 消息头
	NtfHeader             *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`                           // NotifyHead 公共消息头
	ListingOrderID        *uint64      `protobuf:"varint,3,opt,name=ListingOrderID" json:"ListingOrderID,omitempty"`                // uint64 挂牌委托单号
	DelistingOrderID      *uint64      `protobuf:"varint,4,opt,name=DelistingOrderID" json:"DelistingOrderID,omitempty"`            // uint64 摘牌委托单号
	TradeQty              *uint64      `protobuf:"varint,5,opt,name=TradeQty" json:"TradeQty,omitempty"`                            // uint64 挂牌成交数量
	ActiveQty             *uint64      `protobuf:"varint,6,opt,name=ActiveQty" json:"ActiveQty,omitempty"`                          // uint64 挂牌剩余数量
	RealTradeQty          *uint64      `protobuf:"varint,7,opt,name=RealTradeQty" json:"RealTradeQty,omitempty"`                    // uint64 摘牌实际成交数量
	TradeID               *uint64      `protobuf:"varint,8,opt,name=TradeID" json:"TradeID,omitempty"`                              // uint64 成交单ID
	BuyAccountID          *uint64      `protobuf:"varint,9,opt,name=BuyAccountID" json:"BuyAccountID,omitempty"`                    // uint64 买资金账号
	SellAccountID         *uint64      `protobuf:"varint,10,opt,name=SellAccountID" json:"SellAccountID,omitempty"`                 // uint64 卖资金账号
	TradePrice            *float64     `protobuf:"fixed64,11,opt,name=TradePrice" json:"TradePrice,omitempty"`                      // double 成交价
	TradeTime             *string      `protobuf:"bytes,12,opt,name=TradeTime" json:"TradeTime,omitempty"`                          // string 成交时间
	WRFactorTypeID        *uint64      `protobuf:"varint,13,opt,name=WRFactorTypeID" json:"WRFactorTypeID,omitempty"`               // uint64 仓单要素ID
	WRTransferUserID      *uint32      `protobuf:"varint,14,opt,name=WRTransferUserID" json:"WRTransferUserID,omitempty"`           // uint32 仓单受让账户
	FreezeFirstAmount     *float64     `protobuf:"fixed64,15,opt,name=FreezeFirstAmount" json:"FreezeFirstAmount,omitempty"`        // double 冻结首付金额
	UnFreezeFirstAmount   *float64     `protobuf:"fixed64,16,opt,name=UnFreezeFirstAmount" json:"UnFreezeFirstAmount,omitempty"`    // double 解冻首付金额
	RealTradeAmount       *float64     `protobuf:"fixed64,17,opt,name=RealTradeAmount" json:"RealTradeAmount,omitempty"`            // double 实际成交金额
	PerformanceAmount     *float64     `protobuf:"fixed64,18,opt,name=PerformanceAmount" json:"PerformanceAmount,omitempty"`        // double 履约金额
	PerformancePlanID     *uint64      `protobuf:"varint,19,opt,name=PerformancePlanID" json:"PerformancePlanID,omitempty"`         // uint64 履约计划ID
	PerformanceTemplateID *int64       `protobuf:"varint,20,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"` // int64 履约计划模板ID
}

func (x *WRTradeDealedNtf) Reset() {
	*x = WRTradeDealedNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[66]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WRTradeDealedNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WRTradeDealedNtf) ProtoMessage() {}

func (x *WRTradeDealedNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[66]
	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 WRTradeDealedNtf.ProtoReflect.Descriptor instead.
func (*WRTradeDealedNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{66}
}

func (x *WRTradeDealedNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WRTradeDealedNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *WRTradeDealedNtf) GetListingOrderID() uint64 {
	if x != nil && x.ListingOrderID != nil {
		return *x.ListingOrderID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetDelistingOrderID() uint64 {
	if x != nil && x.DelistingOrderID != nil {
		return *x.DelistingOrderID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetTradeQty() uint64 {
	if x != nil && x.TradeQty != nil {
		return *x.TradeQty
	}
	return 0
}

func (x *WRTradeDealedNtf) GetActiveQty() uint64 {
	if x != nil && x.ActiveQty != nil {
		return *x.ActiveQty
	}
	return 0
}

func (x *WRTradeDealedNtf) GetRealTradeQty() uint64 {
	if x != nil && x.RealTradeQty != nil {
		return *x.RealTradeQty
	}
	return 0
}

func (x *WRTradeDealedNtf) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetBuyAccountID() uint64 {
	if x != nil && x.BuyAccountID != nil {
		return *x.BuyAccountID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetSellAccountID() uint64 {
	if x != nil && x.SellAccountID != nil {
		return *x.SellAccountID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetTradePrice() float64 {
	if x != nil && x.TradePrice != nil {
		return *x.TradePrice
	}
	return 0
}

func (x *WRTradeDealedNtf) GetTradeTime() string {
	if x != nil && x.TradeTime != nil {
		return *x.TradeTime
	}
	return ""
}

func (x *WRTradeDealedNtf) GetWRFactorTypeID() uint64 {
	if x != nil && x.WRFactorTypeID != nil {
		return *x.WRFactorTypeID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetWRTransferUserID() uint32 {
	if x != nil && x.WRTransferUserID != nil {
		return *x.WRTransferUserID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetFreezeFirstAmount() float64 {
	if x != nil && x.FreezeFirstAmount != nil {
		return *x.FreezeFirstAmount
	}
	return 0
}

func (x *WRTradeDealedNtf) GetUnFreezeFirstAmount() float64 {
	if x != nil && x.UnFreezeFirstAmount != nil {
		return *x.UnFreezeFirstAmount
	}
	return 0
}

func (x *WRTradeDealedNtf) GetRealTradeAmount() float64 {
	if x != nil && x.RealTradeAmount != nil {
		return *x.RealTradeAmount
	}
	return 0
}

func (x *WRTradeDealedNtf) GetPerformanceAmount() float64 {
	if x != nil && x.PerformanceAmount != nil {
		return *x.PerformanceAmount
	}
	return 0
}

func (x *WRTradeDealedNtf) GetPerformancePlanID() uint64 {
	if x != nil && x.PerformancePlanID != nil {
		return *x.PerformancePlanID
	}
	return 0
}

func (x *WRTradeDealedNtf) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

// 出境检测会员操作请求
type CJJCMemberOperateReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID,必填
	OperateID      *uint64      `protobuf:"varint,3,opt,name=OperateID" json:"OperateID,omitempty"`          // 操作人ID,必填，LoginAccount的LoginID
	OperateAccount *string      `protobuf:"bytes,4,opt,name=OperateAccount" json:"OperateAccount,omitempty"` // 操作人账户，LoginAccount的LoginCode,LoginCode为空则填LoginID,必
	OrderID        *uint64      `protobuf:"varint,5,opt,name=OrderID" json:"OrderID,omitempty"`              // 单据ID,必填
	OperateType    *uint32      `protobuf:"varint,6,opt,name=OperateType" json:"OperateType,omitempty"`      // 操作类型,必填,1：撤回2:确认发货3:确认检测结果
	Remark         *string      `protobuf:"bytes,7,opt,name=Remark" json:"Remark,omitempty"`                 // 备注
	ClientType     *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`        // 终端类型
	ClientSerialNo *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *CJJCMemberOperateReq) Reset() {
	*x = CJJCMemberOperateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[67]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CJJCMemberOperateReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CJJCMemberOperateReq) ProtoMessage() {}

func (x *CJJCMemberOperateReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[67]
	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 CJJCMemberOperateReq.ProtoReflect.Descriptor instead.
func (*CJJCMemberOperateReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{67}
}

func (x *CJJCMemberOperateReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CJJCMemberOperateReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *CJJCMemberOperateReq) GetOperateID() uint64 {
	if x != nil && x.OperateID != nil {
		return *x.OperateID
	}
	return 0
}

func (x *CJJCMemberOperateReq) GetOperateAccount() string {
	if x != nil && x.OperateAccount != nil {
		return *x.OperateAccount
	}
	return ""
}

func (x *CJJCMemberOperateReq) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *CJJCMemberOperateReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *CJJCMemberOperateReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *CJJCMemberOperateReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *CJJCMemberOperateReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 出境检测会员操作响应
type CJJCMemberOperateRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 资金账号
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *CJJCMemberOperateRsp) Reset() {
	*x = CJJCMemberOperateRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[68]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CJJCMemberOperateRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CJJCMemberOperateRsp) ProtoMessage() {}

func (x *CJJCMemberOperateRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[68]
	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 CJJCMemberOperateRsp.ProtoReflect.Descriptor instead.
func (*CJJCMemberOperateRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{68}
}

func (x *CJJCMemberOperateRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CJJCMemberOperateRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *CJJCMemberOperateRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *CJJCMemberOperateRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *CJJCMemberOperateRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *CJJCMemberOperateRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 保税服务会员操作请求
type BSFWMemberOperateReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header           *MessageHead  `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID           *uint32       `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                     // 用户ID,必填
	OperateID        *uint64       `protobuf:"varint,3,opt,name=OperateID" json:"OperateID,omitempty"`               // 操作人ID,必填，LoginAccount的LoginID
	OperateAccount   *string       `protobuf:"bytes,4,opt,name=OperateAccount" json:"OperateAccount,omitempty"`      // 操作人账户，LoginAccount的LoginCode,LoginCode为空则填LoginID,必
	OrderID          *uint64       `protobuf:"varint,5,opt,name=OrderID" json:"OrderID,omitempty"`                   // 单据ID,必填
	OperateType      *uint32       `protobuf:"varint,6,opt,name=OperateType" json:"OperateType,omitempty"`           // 操作类型,必填,1:上传发货单2：上传盖章单据3：确认预付款
	FileDetails      []*FileDetail `protobuf:"bytes,7,rep,name=FileDetails" json:"FileDetails,omitempty"`            // 文件列表
	Remark           *string       `protobuf:"bytes,8,opt,name=Remark" json:"Remark,omitempty"`                      // 备注
	GZBSDeliveryType *uint32       `protobuf:"varint,9,opt,name=GZBSDeliveryType" json:"GZBSDeliveryType,omitempty"` // 收货方式，OperateType=1:上传发货单时必填，枚举“GZBSDeliveryType”
	OtherLogistics   *string       `protobuf:"bytes,10,opt,name=OtherLogistics" json:"OtherLogistics,omitempty"`     // 指定其它物流，OperateType=1:上传发货单时填写
	ClientType       *uint32       `protobuf:"varint,11,opt,name=ClientType" json:"ClientType,omitempty"`            // 终端类型
	ClientSerialNo   *string       `protobuf:"bytes,12,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`     // 客户端流水号
}

func (x *BSFWMemberOperateReq) Reset() {
	*x = BSFWMemberOperateReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[69]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BSFWMemberOperateReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BSFWMemberOperateReq) ProtoMessage() {}

func (x *BSFWMemberOperateReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[69]
	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 BSFWMemberOperateReq.ProtoReflect.Descriptor instead.
func (*BSFWMemberOperateReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{69}
}

func (x *BSFWMemberOperateReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *BSFWMemberOperateReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetOperateID() uint64 {
	if x != nil && x.OperateID != nil {
		return *x.OperateID
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetOperateAccount() string {
	if x != nil && x.OperateAccount != nil {
		return *x.OperateAccount
	}
	return ""
}

func (x *BSFWMemberOperateReq) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetFileDetails() []*FileDetail {
	if x != nil {
		return x.FileDetails
	}
	return nil
}

func (x *BSFWMemberOperateReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *BSFWMemberOperateReq) GetGZBSDeliveryType() uint32 {
	if x != nil && x.GZBSDeliveryType != nil {
		return *x.GZBSDeliveryType
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetOtherLogistics() string {
	if x != nil && x.OtherLogistics != nil {
		return *x.OtherLogistics
	}
	return ""
}

func (x *BSFWMemberOperateReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *BSFWMemberOperateReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 保税服务会员操作响应
type BSFWMemberOperateRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 资金账号
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *BSFWMemberOperateRsp) Reset() {
	*x = BSFWMemberOperateRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[70]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BSFWMemberOperateRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BSFWMemberOperateRsp) ProtoMessage() {}

func (x *BSFWMemberOperateRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[70]
	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 BSFWMemberOperateRsp.ProtoReflect.Descriptor instead.
func (*BSFWMemberOperateRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{70}
}

func (x *BSFWMemberOperateRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *BSFWMemberOperateRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *BSFWMemberOperateRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *BSFWMemberOperateRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *BSFWMemberOperateRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *BSFWMemberOperateRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 账户资金信息请求
type AccountFundInfoReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header       *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	OrderId      *uint64      `protobuf:"varint,2,opt,name=OrderId" json:"OrderId,omitempty"`           // 查询委托单号
	AccountId    *uint64      `protobuf:"varint,3,opt,name=AccountId" json:"AccountId,omitempty"`       // 查询资金账号
	QueryBitMask *uint32      `protobuf:"varint,4,opt,name=QueryBitMask" json:"QueryBitMask,omitempty"` // 查询位掩码
}

func (x *AccountFundInfoReq) Reset() {
	*x = AccountFundInfoReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[71]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AccountFundInfoReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AccountFundInfoReq) ProtoMessage() {}

func (x *AccountFundInfoReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[71]
	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 AccountFundInfoReq.ProtoReflect.Descriptor instead.
func (*AccountFundInfoReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{71}
}

func (x *AccountFundInfoReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *AccountFundInfoReq) GetOrderId() uint64 {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return 0
}

func (x *AccountFundInfoReq) GetAccountId() uint64 {
	if x != nil && x.AccountId != nil {
		return *x.AccountId
	}
	return 0
}

func (x *AccountFundInfoReq) GetQueryBitMask() uint32 {
	if x != nil && x.QueryBitMask != nil {
		return *x.QueryBitMask
	}
	return 0
}

// 账户资金信息响应
type AccountFundInfoRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                         // 消息头
	RetCode           *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                      // 返回码
	RetDesc           *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                       // 描述信息
	OrderId           *uint64      `protobuf:"varint,4,opt,name=OrderId" json:"OrderId,omitempty"`                      // 查询委托单号
	AccountId         *uint64      `protobuf:"varint,5,opt,name=AccountId" json:"AccountId,omitempty"`                  // 查询资金账号
	AvailableMargin   *float64     `protobuf:"fixed64,6,opt,name=AvailableMargin" json:"AvailableMargin,omitempty"`     // 可用保证金,查询位掩码:1
	AvailableOutMoney *float64     `protobuf:"fixed64,7,opt,name=AvailableOutMoney" json:"AvailableOutMoney,omitempty"` // 可出资金,查询位掩码:2
	IsCleanAccount    *int32       `protobuf:"varint,8,opt,name=IsCleanAccount" json:"IsCleanAccount,omitempty"`        // 是否是干净账户，查询位掩码:4
}

func (x *AccountFundInfoRsp) Reset() {
	*x = AccountFundInfoRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[72]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *AccountFundInfoRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AccountFundInfoRsp) ProtoMessage() {}

func (x *AccountFundInfoRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[72]
	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 AccountFundInfoRsp.ProtoReflect.Descriptor instead.
func (*AccountFundInfoRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{72}
}

func (x *AccountFundInfoRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *AccountFundInfoRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *AccountFundInfoRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *AccountFundInfoRsp) GetOrderId() uint64 {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return 0
}

func (x *AccountFundInfoRsp) GetAccountId() uint64 {
	if x != nil && x.AccountId != nil {
		return *x.AccountId
	}
	return 0
}

func (x *AccountFundInfoRsp) GetAvailableMargin() float64 {
	if x != nil && x.AvailableMargin != nil {
		return *x.AvailableMargin
	}
	return 0
}

func (x *AccountFundInfoRsp) GetAvailableOutMoney() float64 {
	if x != nil && x.AvailableOutMoney != nil {
		return *x.AvailableOutMoney
	}
	return 0
}

func (x *AccountFundInfoRsp) GetIsCleanAccount() int32 {
	if x != nil && x.IsCleanAccount != nil {
		return *x.IsCleanAccount
	}
	return 0
}

// 广钻预售申请请求
type GZPresaleApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	SellUserID            *uint32      `protobuf:"varint,2,opt,name=SellUserID" json:"SellUserID,omitempty"`                        // 发行方用户，必填
	SellAccountID         *uint64      `protobuf:"varint,3,opt,name=SellAccountID" json:"SellAccountID,omitempty"`                  // 发行方资金账户ID,必填
	WRStandardName        *string      `protobuf:"bytes,4,opt,name=WRStandardName" json:"WRStandardName,omitempty"`                 // 现货商品名称,必填
	PresaleQty            *float64     `protobuf:"fixed64,5,opt,name=PresaleQty" json:"PresaleQty,omitempty"`                       // 预售总量,必填,小数，两位
	MinBuyQty             *float64     `protobuf:"fixed64,6,opt,name=MinBuyQty" json:"MinBuyQty,omitempty"`                         // 单人最小申购量,必填,小数，两位
	MaxBuyQty             *float64     `protobuf:"fixed64,7,opt,name=MaxBuyQty" json:"MaxBuyQty,omitempty"`                         // 单人最大申购量,必填,小数，两位
	MinSuccessQty         *float64     `protobuf:"fixed64,8,opt,name=MinSuccessQty" json:"MinSuccessQty,omitempty"`                 // 最低成团量,必填,小数，两位
	UnitPrice             *float64     `protobuf:"fixed64,9,opt,name=UnitPrice" json:"UnitPrice,omitempty"`                         // 预售价格，小数，两位,必填
	StartDate             *string      `protobuf:"bytes,10,opt,name=StartDate" json:"StartDate,omitempty"`                          // 预售开始日期,必填
	EndDate               *string      `protobuf:"bytes,11,opt,name=EndDate" json:"EndDate,omitempty"`                              // 预售结束日期,必填
	BuyMarginAlgorithm    *uint32      `protobuf:"varint,12,opt,name=BuyMarginAlgorithm" json:"BuyMarginAlgorithm,omitempty"`       // 买方保证金方式,必填
	BuyMarginValue        *float64     `protobuf:"fixed64,13,opt,name=BuyMarginValue" json:"BuyMarginValue,omitempty"`              // 买方保证金设置值,小数，四位,必填
	PerformanceTemplateID *int64       `protobuf:"varint,14,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"` // 履约计划模板ID,必填
	MarketID              *uint32      `protobuf:"varint,15,opt,name=MarketID" json:"MarketID,omitempty"`                           // 市场ID,必填
	YSZSCategory          *uint32      `protobuf:"varint,16,opt,name=YSZSCategory" json:"YSZSCategory,omitempty"`                   // 预售钻石分类
	ZSColorTypeStr        *string      `protobuf:"bytes,17,opt,name=ZSColorTypeStr" json:"ZSColorTypeStr,omitempty"`                // 颜色,最大允许64个字符
	ZSClarityTypeStr      *string      `protobuf:"bytes,18,opt,name=ZSClarityTypeStr" json:"ZSClarityTypeStr,omitempty"`            // 净度,最大允许64个字符
	SizeStr               *string      `protobuf:"bytes,19,opt,name=SizeStr" json:"SizeStr,omitempty"`                              // 尺寸,最大允许64个字符
	YieldRate             *string      `protobuf:"bytes,20,opt,name=YieldRate" json:"YieldRate,omitempty"`                          // 成品率,最大允许64个字符
	QtyDesc               *string      `protobuf:"bytes,21,opt,name=QtyDesc" json:"QtyDesc,omitempty"`                              // 数量描述,最大允许64个字符
	WeightDesc            *string      `protobuf:"bytes,22,opt,name=WeightDesc" json:"WeightDesc,omitempty"`                        // 重量描述,最大允许64个字符
	YSProductionMode      *uint32      `protobuf:"varint,23,opt,name=YSProductionMode" json:"YSProductionMode,omitempty"`           // 生产方式
	PictureUrls           *string      `protobuf:"bytes,24,opt,name=PictureUrls" json:"PictureUrls,omitempty"`                      // 图片路径,CLOB,多张逗号分隔
	Remark                *string      `protobuf:"bytes,25,opt,name=Remark" json:"Remark,omitempty"`                                // 备注,最大允许256个字符
	ClientType            *uint32      `protobuf:"varint,26,opt,name=ClientType" json:"ClientType,omitempty"`                       // 终端类型
	ClientSerialNo        *string      `protobuf:"bytes,27,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                // 客户端流水号
}

func (x *GZPresaleApplyReq) Reset() {
	*x = GZPresaleApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[73]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZPresaleApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZPresaleApplyReq) ProtoMessage() {}

func (x *GZPresaleApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[73]
	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 GZPresaleApplyReq.ProtoReflect.Descriptor instead.
func (*GZPresaleApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{73}
}

func (x *GZPresaleApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZPresaleApplyReq) GetSellUserID() uint32 {
	if x != nil && x.SellUserID != nil {
		return *x.SellUserID
	}
	return 0
}

func (x *GZPresaleApplyReq) GetSellAccountID() uint64 {
	if x != nil && x.SellAccountID != nil {
		return *x.SellAccountID
	}
	return 0
}

func (x *GZPresaleApplyReq) GetWRStandardName() string {
	if x != nil && x.WRStandardName != nil {
		return *x.WRStandardName
	}
	return ""
}

func (x *GZPresaleApplyReq) GetPresaleQty() float64 {
	if x != nil && x.PresaleQty != nil {
		return *x.PresaleQty
	}
	return 0
}

func (x *GZPresaleApplyReq) GetMinBuyQty() float64 {
	if x != nil && x.MinBuyQty != nil {
		return *x.MinBuyQty
	}
	return 0
}

func (x *GZPresaleApplyReq) GetMaxBuyQty() float64 {
	if x != nil && x.MaxBuyQty != nil {
		return *x.MaxBuyQty
	}
	return 0
}

func (x *GZPresaleApplyReq) GetMinSuccessQty() float64 {
	if x != nil && x.MinSuccessQty != nil {
		return *x.MinSuccessQty
	}
	return 0
}

func (x *GZPresaleApplyReq) GetUnitPrice() float64 {
	if x != nil && x.UnitPrice != nil {
		return *x.UnitPrice
	}
	return 0
}

func (x *GZPresaleApplyReq) GetStartDate() string {
	if x != nil && x.StartDate != nil {
		return *x.StartDate
	}
	return ""
}

func (x *GZPresaleApplyReq) GetEndDate() string {
	if x != nil && x.EndDate != nil {
		return *x.EndDate
	}
	return ""
}

func (x *GZPresaleApplyReq) GetBuyMarginAlgorithm() uint32 {
	if x != nil && x.BuyMarginAlgorithm != nil {
		return *x.BuyMarginAlgorithm
	}
	return 0
}

func (x *GZPresaleApplyReq) GetBuyMarginValue() float64 {
	if x != nil && x.BuyMarginValue != nil {
		return *x.BuyMarginValue
	}
	return 0
}

func (x *GZPresaleApplyReq) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

func (x *GZPresaleApplyReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *GZPresaleApplyReq) GetYSZSCategory() uint32 {
	if x != nil && x.YSZSCategory != nil {
		return *x.YSZSCategory
	}
	return 0
}

func (x *GZPresaleApplyReq) GetZSColorTypeStr() string {
	if x != nil && x.ZSColorTypeStr != nil {
		return *x.ZSColorTypeStr
	}
	return ""
}

func (x *GZPresaleApplyReq) GetZSClarityTypeStr() string {
	if x != nil && x.ZSClarityTypeStr != nil {
		return *x.ZSClarityTypeStr
	}
	return ""
}

func (x *GZPresaleApplyReq) GetSizeStr() string {
	if x != nil && x.SizeStr != nil {
		return *x.SizeStr
	}
	return ""
}

func (x *GZPresaleApplyReq) GetYieldRate() string {
	if x != nil && x.YieldRate != nil {
		return *x.YieldRate
	}
	return ""
}

func (x *GZPresaleApplyReq) GetQtyDesc() string {
	if x != nil && x.QtyDesc != nil {
		return *x.QtyDesc
	}
	return ""
}

func (x *GZPresaleApplyReq) GetWeightDesc() string {
	if x != nil && x.WeightDesc != nil {
		return *x.WeightDesc
	}
	return ""
}

func (x *GZPresaleApplyReq) GetYSProductionMode() uint32 {
	if x != nil && x.YSProductionMode != nil {
		return *x.YSProductionMode
	}
	return 0
}

func (x *GZPresaleApplyReq) GetPictureUrls() string {
	if x != nil && x.PictureUrls != nil {
		return *x.PictureUrls
	}
	return ""
}

func (x *GZPresaleApplyReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *GZPresaleApplyReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *GZPresaleApplyReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻预售申请响应
type GZPresaleApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	SellUserID     *uint32      `protobuf:"varint,4,opt,name=SellUserID" json:"SellUserID,omitempty"`         // 发行方用户
	PresaleApplyID *uint64      `protobuf:"varint,5,opt,name=PresaleApplyID" json:"PresaleApplyID,omitempty"` // 预售申请ID
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GZPresaleApplyRsp) Reset() {
	*x = GZPresaleApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[74]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZPresaleApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZPresaleApplyRsp) ProtoMessage() {}

func (x *GZPresaleApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[74]
	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 GZPresaleApplyRsp.ProtoReflect.Descriptor instead.
func (*GZPresaleApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{74}
}

func (x *GZPresaleApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZPresaleApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *GZPresaleApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *GZPresaleApplyRsp) GetSellUserID() uint32 {
	if x != nil && x.SellUserID != nil {
		return *x.SellUserID
	}
	return 0
}

func (x *GZPresaleApplyRsp) GetPresaleApplyID() uint64 {
	if x != nil && x.PresaleApplyID != nil {
		return *x.PresaleApplyID
	}
	return 0
}

func (x *GZPresaleApplyRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻预售认购下单请求
type GZPresaleOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID          *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                  // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`            // 资金账户ID,必填
	WRTradeOrderID  *uint64      `protobuf:"varint,4,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"`  // 仓单贸易委托单ID,必填
	OrderQty        *float64     `protobuf:"fixed64,5,opt,name=OrderQty" json:"OrderQty,omitempty"`             // 认购数量,必填,2位小数
	MarketID        *uint32      `protobuf:"varint,6,opt,name=MarketID" json:"MarketID,omitempty"`              // 市场ID,必填
	ClientOrderTime *string      `protobuf:"bytes,7,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"` // 委托时间,必填
	ClientType      *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
	ClientSerialNo  *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
}

func (x *GZPresaleOrderReq) Reset() {
	*x = GZPresaleOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[75]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZPresaleOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZPresaleOrderReq) ProtoMessage() {}

func (x *GZPresaleOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[75]
	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 GZPresaleOrderReq.ProtoReflect.Descriptor instead.
func (*GZPresaleOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{75}
}

func (x *GZPresaleOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZPresaleOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GZPresaleOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *GZPresaleOrderReq) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GZPresaleOrderReq) GetOrderQty() float64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *GZPresaleOrderReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *GZPresaleOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *GZPresaleOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *GZPresaleOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻预售认购下单响应
type GZPresaleOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账户ID
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 仓单贸易委托单ID
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GZPresaleOrderRsp) Reset() {
	*x = GZPresaleOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[76]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZPresaleOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZPresaleOrderRsp) ProtoMessage() {}

func (x *GZPresaleOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[76]
	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 GZPresaleOrderRsp.ProtoReflect.Descriptor instead.
func (*GZPresaleOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{76}
}

func (x *GZPresaleOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZPresaleOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *GZPresaleOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *GZPresaleOrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GZPresaleOrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *GZPresaleOrderRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GZPresaleOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻集采价格列表
type GZCenterPurchasePriceList struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	StepIndex *uint32  `protobuf:"varint,1,opt,name=StepIndex" json:"StepIndex,omitempty"` // 档位序号，必填
	Qty       *float64 `protobuf:"fixed64,2,opt,name=Qty" json:"Qty,omitempty"`            // 档位数量,必填,小数，两位
	Price     *float64 `protobuf:"fixed64,3,opt,name=Price" json:"Price,omitempty"`        // 档位价格,小数，两位,必填
}

func (x *GZCenterPurchasePriceList) Reset() {
	*x = GZCenterPurchasePriceList{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[77]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZCenterPurchasePriceList) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZCenterPurchasePriceList) ProtoMessage() {}

func (x *GZCenterPurchasePriceList) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[77]
	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 GZCenterPurchasePriceList.ProtoReflect.Descriptor instead.
func (*GZCenterPurchasePriceList) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{77}
}

func (x *GZCenterPurchasePriceList) GetStepIndex() uint32 {
	if x != nil && x.StepIndex != nil {
		return *x.StepIndex
	}
	return 0
}

func (x *GZCenterPurchasePriceList) GetQty() float64 {
	if x != nil && x.Qty != nil {
		return *x.Qty
	}
	return 0
}

func (x *GZCenterPurchasePriceList) GetPrice() float64 {
	if x != nil && x.Price != nil {
		return *x.Price
	}
	return 0
}

// 广钻集采申请请求
type GZCenterPurchaseApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                     *MessageHead                 `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	SellUserID                 *uint32                      `protobuf:"varint,2,opt,name=SellUserID" json:"SellUserID,omitempty"`                                 // 发行方用户，必填
	SellAccountID              *uint64                      `protobuf:"varint,3,opt,name=SellAccountID" json:"SellAccountID,omitempty"`                           // 发行方资金账户ID,必填
	WRStandardName             *string                      `protobuf:"bytes,4,opt,name=WRStandardName" json:"WRStandardName,omitempty"`                          // 现货商品名称,必填
	PresaleQty                 *float64                     `protobuf:"fixed64,5,opt,name=PresaleQty" json:"PresaleQty,omitempty"`                                // 预售总量,必填,小数，两位
	MinBuyQty                  *float64                     `protobuf:"fixed64,6,opt,name=MinBuyQty" json:"MinBuyQty,omitempty"`                                  // 单人最小申购量,必填,小数，两位
	MaxBuyQty                  *float64                     `protobuf:"fixed64,7,opt,name=MaxBuyQty" json:"MaxBuyQty,omitempty"`                                  // 单人最大申购量,必填,小数，两位
	MinSuccessQty              *float64                     `protobuf:"fixed64,8,opt,name=MinSuccessQty" json:"MinSuccessQty,omitempty"`                          // 最低成团量,必填,小数，两位
	StartDate                  *string                      `protobuf:"bytes,9,opt,name=StartDate" json:"StartDate,omitempty"`                                    // 预售开始日期,必填
	EndDate                    *string                      `protobuf:"bytes,10,opt,name=EndDate" json:"EndDate,omitempty"`                                       // 预售结束日期,必填
	BuyMarginAlgorithm         *uint32                      `protobuf:"varint,11,opt,name=BuyMarginAlgorithm" json:"BuyMarginAlgorithm,omitempty"`                // 买方保证金方式,必填
	BuyMarginValue             *float64                     `protobuf:"fixed64,12,opt,name=BuyMarginValue" json:"BuyMarginValue,omitempty"`                       // 买方保证金设置值,小数，四位,必填
	PerformanceTemplateID      *int64                       `protobuf:"varint,13,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"`          // 履约计划模板ID,必填
	GZCenterPurchasePriceLists []*GZCenterPurchasePriceList `protobuf:"bytes,14,rep,name=GZCenterPurchasePriceLists" json:"GZCenterPurchasePriceLists,omitempty"` // 价格列表,必填
	MarketID                   *uint32                      `protobuf:"varint,15,opt,name=MarketID" json:"MarketID,omitempty"`                                    // 市场ID,必填
	YSZSCategory               *uint32                      `protobuf:"varint,16,opt,name=YSZSCategory" json:"YSZSCategory,omitempty"`                            // 预售钻石分类
	ZSShapeTypeStr             *string                      `protobuf:"bytes,17,opt,name=ZSShapeTypeStr" json:"ZSShapeTypeStr,omitempty"`                         // 形状,最大允许64个字符
	ZSColorTypeStr             *string                      `protobuf:"bytes,18,opt,name=ZSColorTypeStr" json:"ZSColorTypeStr,omitempty"`                         // 颜色,最大允许64个字符
	ZSClarityTypeStr           *string                      `protobuf:"bytes,19,opt,name=ZSClarityTypeStr" json:"ZSClarityTypeStr,omitempty"`                     // 净度,最大允许64个字符
	ZSCutTypeStr               *string                      `protobuf:"bytes,20,opt,name=ZSCutTypeStr" json:"ZSCutTypeStr,omitempty"`                             // 切工,最大允许64个字符
	ZSSymmetryTypeStr          *string                      `protobuf:"bytes,21,opt,name=ZSSymmetryTypeStr" json:"ZSSymmetryTypeStr,omitempty"`                   // 对称,最大允许64个字符
	ZSPolishTypeStr            *string                      `protobuf:"bytes,22,opt,name=ZSPolishTypeStr" json:"ZSPolishTypeStr,omitempty"`                       // 抛光,最大允许64个字符
	ZSFluorescenceTypeStr      *string                      `protobuf:"bytes,23,opt,name=ZSFluorescenceTypeStr" json:"ZSFluorescenceTypeStr,omitempty"`           // 荧光,最大允许64个字符
	SizeStr                    *string                      `protobuf:"bytes,24,opt,name=SizeStr" json:"SizeStr,omitempty"`                                       // 尺寸,最大允许64个字符
	YieldRate                  *string                      `protobuf:"bytes,25,opt,name=YieldRate" json:"YieldRate,omitempty"`                                   // 成品率,最大允许64个字符
	QtyDesc                    *string                      `protobuf:"bytes,26,opt,name=QtyDesc" json:"QtyDesc,omitempty"`                                       // 数量描述,最大允许64个字符
	WeightDesc                 *string                      `protobuf:"bytes,27,opt,name=WeightDesc" json:"WeightDesc,omitempty"`                                 // 重量描述,最大允许64个字符
	YSProductionMode           *uint32                      `protobuf:"varint,28,opt,name=YSProductionMode" json:"YSProductionMode,omitempty"`                    // 生产方式
	PictureUrls                *string                      `protobuf:"bytes,29,opt,name=PictureUrls" json:"PictureUrls,omitempty"`                               // 图片路径,CLOB,多张逗号分隔
	Remark                     *string                      `protobuf:"bytes,30,opt,name=Remark" json:"Remark,omitempty"`                                         // 备注,最大允许256个字符
	ClientType                 *uint32                      `protobuf:"varint,31,opt,name=ClientType" json:"ClientType,omitempty"`                                // 终端类型
	ClientSerialNo             *string                      `protobuf:"bytes,32,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                         // 客户端流水号
}

func (x *GZCenterPurchaseApplyReq) Reset() {
	*x = GZCenterPurchaseApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[78]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZCenterPurchaseApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZCenterPurchaseApplyReq) ProtoMessage() {}

func (x *GZCenterPurchaseApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[78]
	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 GZCenterPurchaseApplyReq.ProtoReflect.Descriptor instead.
func (*GZCenterPurchaseApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{78}
}

func (x *GZCenterPurchaseApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZCenterPurchaseApplyReq) GetSellUserID() uint32 {
	if x != nil && x.SellUserID != nil {
		return *x.SellUserID
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetSellAccountID() uint64 {
	if x != nil && x.SellAccountID != nil {
		return *x.SellAccountID
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetWRStandardName() string {
	if x != nil && x.WRStandardName != nil {
		return *x.WRStandardName
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetPresaleQty() float64 {
	if x != nil && x.PresaleQty != nil {
		return *x.PresaleQty
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetMinBuyQty() float64 {
	if x != nil && x.MinBuyQty != nil {
		return *x.MinBuyQty
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetMaxBuyQty() float64 {
	if x != nil && x.MaxBuyQty != nil {
		return *x.MaxBuyQty
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetMinSuccessQty() float64 {
	if x != nil && x.MinSuccessQty != nil {
		return *x.MinSuccessQty
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetStartDate() string {
	if x != nil && x.StartDate != nil {
		return *x.StartDate
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetEndDate() string {
	if x != nil && x.EndDate != nil {
		return *x.EndDate
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetBuyMarginAlgorithm() uint32 {
	if x != nil && x.BuyMarginAlgorithm != nil {
		return *x.BuyMarginAlgorithm
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetBuyMarginValue() float64 {
	if x != nil && x.BuyMarginValue != nil {
		return *x.BuyMarginValue
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetGZCenterPurchasePriceLists() []*GZCenterPurchasePriceList {
	if x != nil {
		return x.GZCenterPurchasePriceLists
	}
	return nil
}

func (x *GZCenterPurchaseApplyReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetYSZSCategory() uint32 {
	if x != nil && x.YSZSCategory != nil {
		return *x.YSZSCategory
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetZSShapeTypeStr() string {
	if x != nil && x.ZSShapeTypeStr != nil {
		return *x.ZSShapeTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSColorTypeStr() string {
	if x != nil && x.ZSColorTypeStr != nil {
		return *x.ZSColorTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSClarityTypeStr() string {
	if x != nil && x.ZSClarityTypeStr != nil {
		return *x.ZSClarityTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSCutTypeStr() string {
	if x != nil && x.ZSCutTypeStr != nil {
		return *x.ZSCutTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSSymmetryTypeStr() string {
	if x != nil && x.ZSSymmetryTypeStr != nil {
		return *x.ZSSymmetryTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSPolishTypeStr() string {
	if x != nil && x.ZSPolishTypeStr != nil {
		return *x.ZSPolishTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetZSFluorescenceTypeStr() string {
	if x != nil && x.ZSFluorescenceTypeStr != nil {
		return *x.ZSFluorescenceTypeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetSizeStr() string {
	if x != nil && x.SizeStr != nil {
		return *x.SizeStr
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetYieldRate() string {
	if x != nil && x.YieldRate != nil {
		return *x.YieldRate
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetQtyDesc() string {
	if x != nil && x.QtyDesc != nil {
		return *x.QtyDesc
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetWeightDesc() string {
	if x != nil && x.WeightDesc != nil {
		return *x.WeightDesc
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetYSProductionMode() uint32 {
	if x != nil && x.YSProductionMode != nil {
		return *x.YSProductionMode
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetPictureUrls() string {
	if x != nil && x.PictureUrls != nil {
		return *x.PictureUrls
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *GZCenterPurchaseApplyReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *GZCenterPurchaseApplyReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻集采申请响应
type GZCenterPurchaseApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	SellUserID     *uint32      `protobuf:"varint,4,opt,name=SellUserID" json:"SellUserID,omitempty"`         // 发行方用户
	PresaleApplyID *uint64      `protobuf:"varint,5,opt,name=PresaleApplyID" json:"PresaleApplyID,omitempty"` // 预售申请ID
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GZCenterPurchaseApplyRsp) Reset() {
	*x = GZCenterPurchaseApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[79]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZCenterPurchaseApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZCenterPurchaseApplyRsp) ProtoMessage() {}

func (x *GZCenterPurchaseApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[79]
	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 GZCenterPurchaseApplyRsp.ProtoReflect.Descriptor instead.
func (*GZCenterPurchaseApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{79}
}

func (x *GZCenterPurchaseApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZCenterPurchaseApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *GZCenterPurchaseApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *GZCenterPurchaseApplyRsp) GetSellUserID() uint32 {
	if x != nil && x.SellUserID != nil {
		return *x.SellUserID
	}
	return 0
}

func (x *GZCenterPurchaseApplyRsp) GetPresaleApplyID() uint64 {
	if x != nil && x.PresaleApplyID != nil {
		return *x.PresaleApplyID
	}
	return 0
}

func (x *GZCenterPurchaseApplyRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻集采认购下单请求
type GZCenterPurchaseOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID          *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                  // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`            // 资金账户ID,必填
	WRTradeOrderID  *uint64      `protobuf:"varint,4,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"`  // 仓单贸易委托单ID,必填
	OrderQty        *float64     `protobuf:"fixed64,5,opt,name=OrderQty" json:"OrderQty,omitempty"`             // 认购数量,必填,2位小数
	MarketID        *uint32      `protobuf:"varint,6,opt,name=MarketID" json:"MarketID,omitempty"`              // 市场ID,必填
	ClientOrderTime *string      `protobuf:"bytes,7,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"` // 委托时间,必填
	ClientType      *uint32      `protobuf:"varint,8,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
	ClientSerialNo  *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
}

func (x *GZCenterPurchaseOrderReq) Reset() {
	*x = GZCenterPurchaseOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[80]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZCenterPurchaseOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZCenterPurchaseOrderReq) ProtoMessage() {}

func (x *GZCenterPurchaseOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[80]
	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 GZCenterPurchaseOrderReq.ProtoReflect.Descriptor instead.
func (*GZCenterPurchaseOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{80}
}

func (x *GZCenterPurchaseOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZCenterPurchaseOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetOrderQty() float64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *GZCenterPurchaseOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *GZCenterPurchaseOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 广钻集采认购下单响应
type GZCenterPurchaseOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账户ID
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 仓单贸易委托单ID
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *GZCenterPurchaseOrderRsp) Reset() {
	*x = GZCenterPurchaseOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[81]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GZCenterPurchaseOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GZCenterPurchaseOrderRsp) ProtoMessage() {}

func (x *GZCenterPurchaseOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[81]
	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 GZCenterPurchaseOrderRsp.ProtoReflect.Descriptor instead.
func (*GZCenterPurchaseOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{81}
}

func (x *GZCenterPurchaseOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *GZCenterPurchaseOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *GZCenterPurchaseOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *GZCenterPurchaseOrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *GZCenterPurchaseOrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *GZCenterPurchaseOrderRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *GZCenterPurchaseOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// WMS结算单支付接口请求
type BSWMSReckonPayReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID,必填
	OrderID        *uint64      `protobuf:"varint,3,opt,name=OrderID" json:"OrderID,omitempty"`              // 单据ID,必填
	ClientSerialNo *string      `protobuf:"bytes,4,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *BSWMSReckonPayReq) Reset() {
	*x = BSWMSReckonPayReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[82]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BSWMSReckonPayReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BSWMSReckonPayReq) ProtoMessage() {}

func (x *BSWMSReckonPayReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[82]
	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 BSWMSReckonPayReq.ProtoReflect.Descriptor instead.
func (*BSWMSReckonPayReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{82}
}

func (x *BSWMSReckonPayReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *BSWMSReckonPayReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *BSWMSReckonPayReq) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *BSWMSReckonPayReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// WMS结算单支付接口响应
type BSWMSReckonPayRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID
	OrderID        *uint64      `protobuf:"varint,5,opt,name=OrderID" json:"OrderID,omitempty"`              // 单据ID
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *BSWMSReckonPayRsp) Reset() {
	*x = BSWMSReckonPayRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[83]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BSWMSReckonPayRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BSWMSReckonPayRsp) ProtoMessage() {}

func (x *BSWMSReckonPayRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[83]
	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 BSWMSReckonPayRsp.ProtoReflect.Descriptor instead.
func (*BSWMSReckonPayRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{83}
}

func (x *BSWMSReckonPayRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *BSWMSReckonPayRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *BSWMSReckonPayRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *BSWMSReckonPayRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *BSWMSReckonPayRsp) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *BSWMSReckonPayRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 仓单贸易浮动价商品配置信息
type WRGoodsInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	GoodsID     *uint32  `protobuf:"varint,1,opt,name=GoodsID" json:"GoodsID,omitempty"`          // 配置商品ID
	GoodsCode   *string  `protobuf:"bytes,2,opt,name=GoodsCode" json:"GoodsCode,omitempty"`       // 配置商品代码
	PriceFactor *float64 `protobuf:"fixed64,3,opt,name=PriceFactor" json:"PriceFactor,omitempty"` // 商品价格系数
	PriceMove   *float64 `protobuf:"fixed64,4,opt,name=PriceMove" json:"PriceMove,omitempty"`     // 商品升贴水值
	WeightRatio *float64 `protobuf:"fixed64,5,opt,name=WeightRatio" json:"WeightRatio,omitempty"` // 商品重量系数
}

func (x *WRGoodsInfo) Reset() {
	*x = WRGoodsInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[84]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WRGoodsInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WRGoodsInfo) ProtoMessage() {}

func (x *WRGoodsInfo) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[84]
	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 WRGoodsInfo.ProtoReflect.Descriptor instead.
func (*WRGoodsInfo) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{84}
}

func (x *WRGoodsInfo) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *WRGoodsInfo) GetGoodsCode() string {
	if x != nil && x.GoodsCode != nil {
		return *x.GoodsCode
	}
	return ""
}

func (x *WRGoodsInfo) GetPriceFactor() float64 {
	if x != nil && x.PriceFactor != nil {
		return *x.PriceFactor
	}
	return 0
}

func (x *WRGoodsInfo) GetPriceMove() float64 {
	if x != nil && x.PriceMove != nil {
		return *x.PriceMove
	}
	return 0
}

func (x *WRGoodsInfo) GetWeightRatio() float64 {
	if x != nil && x.WeightRatio != nil {
		return *x.WeightRatio
	}
	return 0
}

// 要素类型明细
type DGFactoryItems struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DGFactoryItemTypeID *uint64 `protobuf:"varint,1,opt,name=DGFactoryItemTypeID" json:"DGFactoryItemTypeID,omitempty"` // 要素项类型ID
	DGFactoryItemID     *uint64 `protobuf:"varint,2,opt,name=DGFactoryItemID" json:"DGFactoryItemID,omitempty"`         // 预约要素项类型值
	ItemTypeMode        *uint32 `protobuf:"varint,3,opt,name=ItemTypeMode" json:"ItemTypeMode,omitempty"`               // 要素项类型模式
}

func (x *DGFactoryItems) Reset() {
	*x = DGFactoryItems{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[85]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DGFactoryItems) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DGFactoryItems) ProtoMessage() {}

func (x *DGFactoryItems) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[85]
	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 DGFactoryItems.ProtoReflect.Descriptor instead.
func (*DGFactoryItems) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{85}
}

func (x *DGFactoryItems) GetDGFactoryItemTypeID() uint64 {
	if x != nil && x.DGFactoryItemTypeID != nil {
		return *x.DGFactoryItemTypeID
	}
	return 0
}

func (x *DGFactoryItems) GetDGFactoryItemID() uint64 {
	if x != nil && x.DGFactoryItemID != nil {
		return *x.DGFactoryItemID
	}
	return 0
}

func (x *DGFactoryItems) GetItemTypeMode() uint32 {
	if x != nil && x.ItemTypeMode != nil {
		return *x.ItemTypeMode
	}
	return 0
}

// 持仓单挂牌请求
type HdWROrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead      `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	LadingBillId          *uint64           `protobuf:"varint,2,opt,name=LadingBillId" json:"LadingBillId,omitempty"`                    // 提单id(wrholdlb的LadingBillId字段),卖的时候填写
	TradeDate             *string           `protobuf:"bytes,3,req,name=TradeDate" json:"TradeDate,omitempty"`                           // 交易日
	SubNum                *uint64           `protobuf:"varint,4,opt,name=SubNum" json:"SubNum,omitempty"`                                // 提单子单号(wrholdlb的SubNum字段),卖的时候填写
	WRFactorTypeId        *uint64           `protobuf:"varint,5,opt,name=WRFactorTypeId" json:"WRFactorTypeId,omitempty"`                // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写
	UserID                *uint32           `protobuf:"varint,6,req,name=UserID" json:"UserID,omitempty"`                                // 用户ID
	AccountID             *uint64           `protobuf:"varint,7,req,name=AccountID" json:"AccountID,omitempty"`                          // 资金账号
	IsSpecified           *uint32           `protobuf:"varint,8,opt,name=IsSpecified" json:"IsSpecified,omitempty"`                      // 是否指定对手
	MatchAccIDs           []uint64          `protobuf:"varint,9,rep,name=MatchAccIDs" json:"MatchAccIDs,omitempty"`                      // 仓单贸易对手用户ID集合(指定对手时填写)
	OrderQty              *uint64           `protobuf:"varint,10,req,name=OrderQty" json:"OrderQty,omitempty"`                           // 委托数量(可挂部分数据量)
	DeliveryGoodsID       *uint32           `protobuf:"varint,11,req,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"`             // 交割商品商品ID
	WRPriceType           *uint32           `protobuf:"varint,12,opt,name=WRPriceType" json:"WRPriceType,omitempty"`                     // 价格方式
	FixedPrice            *float64          `protobuf:"fixed64,13,opt,name=FixedPrice" json:"FixedPrice,omitempty"`                      // 固定价格
	WRTradeGoods          []*WRGoodsInfo    `protobuf:"bytes,14,rep,name=WRTradeGoods" json:"WRTradeGoods,omitempty"`                    // 仓单贸易商品配置集合(浮动价时填写)
	PriceFactor           *float64          `protobuf:"fixed64,15,opt,name=PriceFactor" json:"PriceFactor,omitempty"`                    // 价格系数(浮动价时填写)-[挂牌]
	PriceMove             *float64          `protobuf:"fixed64,16,opt,name=PriceMove" json:"PriceMove,omitempty"`                        // 升贴水(浮动价时填写)
	TimevalidType         *uint32           `protobuf:"varint,17,opt,name=TimevalidType" json:"TimevalidType,omitempty"`                 // 时间有效类型
	ValidTime             *string           `protobuf:"bytes,18,opt,name=ValidTime" json:"ValidTime,omitempty"`                          // 有效期限
	FirstRatio            *float64          `protobuf:"fixed64,19,opt,name=FirstRatio" json:"FirstRatio,omitempty"`                      // 首付比例
	PerformanceTemplateID *int64            `protobuf:"varint,20,opt,name=PerformanceTemplateID" json:"PerformanceTemplateID,omitempty"` // 履约计划模板ID
	OrderSrc              *uint32           `protobuf:"varint,21,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                           // 委托来源
	ClientSerialNo        *string           `protobuf:"bytes,22,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                // 客户端流水号
	ClientOrderTime       *string           `protobuf:"bytes,23,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`              // 客户端委托时间
	ClientType            *uint32           `protobuf:"varint,24,opt,name=ClientType" json:"ClientType,omitempty"`                       // 终端类型
	OperatorID            *uint64           `protobuf:"varint,25,opt,name=OperatorID" json:"OperatorID,omitempty"`                       // 操作员账号ID
	BuyOrSell             *uint32           `protobuf:"varint,26,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`                         // 买卖方向
	PriceDisplayMode      *uint32           `protobuf:"varint,27,opt,name=PriceDisplayMode" json:"PriceDisplayMode,omitempty"`           // 浮动价显示方式
	CanBargain            *uint32           `protobuf:"varint,28,opt,name=CanBargain" json:"CanBargain,omitempty"`                       // 挂牌是否可议价0:不可1:可-摘牌是否议价
	Attachment1           *string           `protobuf:"bytes,29,opt,name=Attachment1" json:"Attachment1,omitempty"`                      // 附件1
	Attachment2           *string           `protobuf:"bytes,30,opt,name=Attachment2" json:"Attachment2,omitempty"`                      // 附件2
	Remark                *string           `protobuf:"bytes,31,opt,name=Remark" json:"Remark,omitempty"`                                // 备注
	ApplyID               *uint64           `protobuf:"varint,32,opt,name=ApplyID" json:"ApplyID,omitempty"`                             // 申请ID
	CanPart               *uint32           `protobuf:"varint,33,opt,name=CanPart" json:"CanPart,omitempty"`                             // 是否允许部份摘牌0:不允许;1:允许
	MatchAccIDsString     []string          `protobuf:"bytes,34,rep,name=MatchAccIDsString" json:"MatchAccIDsString,omitempty"`          // 仓单贸易对手用户ID集合(指定对手时填写)
	DeliveryMonth         *string           `protobuf:"bytes,35,opt,name=DeliveryMonth" json:"DeliveryMonth,omitempty"`                  // 交收月
	HasWr                 *uint32           `protobuf:"varint,36,opt,name=HasWr" json:"HasWr,omitempty"`                                 // 是否有仓单-0:没有仓单1:有仓单
	WRStandardID          *uint32           `protobuf:"varint,37,opt,name=WRStandardID" json:"WRStandardID,omitempty"`                   // 现货品种ID
	FactoryItems          []*DGFactoryItems `protobuf:"bytes,38,rep,name=FactoryItems" json:"FactoryItems,omitempty"`                    // 要素类型明细集合(没有仓单要素ID填写)
	DelistMinQty          *uint64           `protobuf:"varint,39,opt,name=DelistMinQty" json:"DelistMinQty,omitempty"`                   // 起摘数量
	MarginFlag            *uint32           `protobuf:"varint,40,opt,name=MarginFlag" json:"MarginFlag,omitempty"`                       // 挂牌是否指定保证金0:否1:是
	MarginAlgorithm       *uint32           `protobuf:"varint,41,opt,name=MarginAlgorithm" json:"MarginAlgorithm,omitempty"`             // 指定保证金方式1:比率2:固定
	MarginValue           *float64          `protobuf:"fixed64,42,opt,name=MarginValue" json:"MarginValue,omitempty"`                    // 指定保证金设置值
	AllFriendsFlag        *uint32           `protobuf:"varint,43,opt,name=AllFriendsFlag" json:"AllFriendsFlag,omitempty"`               // 是否全好友可见0：否1:是
}

func (x *HdWROrderReq) Reset() {
	*x = HdWROrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[86]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HdWROrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HdWROrderReq) ProtoMessage() {}

func (x *HdWROrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[86]
	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 HdWROrderReq.ProtoReflect.Descriptor instead.
func (*HdWROrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{86}
}

func (x *HdWROrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HdWROrderReq) GetLadingBillId() uint64 {
	if x != nil && x.LadingBillId != nil {
		return *x.LadingBillId
	}
	return 0
}

func (x *HdWROrderReq) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *HdWROrderReq) GetSubNum() uint64 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *HdWROrderReq) GetWRFactorTypeId() uint64 {
	if x != nil && x.WRFactorTypeId != nil {
		return *x.WRFactorTypeId
	}
	return 0
}

func (x *HdWROrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *HdWROrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HdWROrderReq) GetIsSpecified() uint32 {
	if x != nil && x.IsSpecified != nil {
		return *x.IsSpecified
	}
	return 0
}

func (x *HdWROrderReq) GetMatchAccIDs() []uint64 {
	if x != nil {
		return x.MatchAccIDs
	}
	return nil
}

func (x *HdWROrderReq) GetOrderQty() uint64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *HdWROrderReq) GetDeliveryGoodsID() uint32 {
	if x != nil && x.DeliveryGoodsID != nil {
		return *x.DeliveryGoodsID
	}
	return 0
}

func (x *HdWROrderReq) GetWRPriceType() uint32 {
	if x != nil && x.WRPriceType != nil {
		return *x.WRPriceType
	}
	return 0
}

func (x *HdWROrderReq) GetFixedPrice() float64 {
	if x != nil && x.FixedPrice != nil {
		return *x.FixedPrice
	}
	return 0
}

func (x *HdWROrderReq) GetWRTradeGoods() []*WRGoodsInfo {
	if x != nil {
		return x.WRTradeGoods
	}
	return nil
}

func (x *HdWROrderReq) GetPriceFactor() float64 {
	if x != nil && x.PriceFactor != nil {
		return *x.PriceFactor
	}
	return 0
}

func (x *HdWROrderReq) GetPriceMove() float64 {
	if x != nil && x.PriceMove != nil {
		return *x.PriceMove
	}
	return 0
}

func (x *HdWROrderReq) GetTimevalidType() uint32 {
	if x != nil && x.TimevalidType != nil {
		return *x.TimevalidType
	}
	return 0
}

func (x *HdWROrderReq) GetValidTime() string {
	if x != nil && x.ValidTime != nil {
		return *x.ValidTime
	}
	return ""
}

func (x *HdWROrderReq) GetFirstRatio() float64 {
	if x != nil && x.FirstRatio != nil {
		return *x.FirstRatio
	}
	return 0
}

func (x *HdWROrderReq) GetPerformanceTemplateID() int64 {
	if x != nil && x.PerformanceTemplateID != nil {
		return *x.PerformanceTemplateID
	}
	return 0
}

func (x *HdWROrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *HdWROrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *HdWROrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *HdWROrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *HdWROrderReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *HdWROrderReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *HdWROrderReq) GetPriceDisplayMode() uint32 {
	if x != nil && x.PriceDisplayMode != nil {
		return *x.PriceDisplayMode
	}
	return 0
}

func (x *HdWROrderReq) GetCanBargain() uint32 {
	if x != nil && x.CanBargain != nil {
		return *x.CanBargain
	}
	return 0
}

func (x *HdWROrderReq) GetAttachment1() string {
	if x != nil && x.Attachment1 != nil {
		return *x.Attachment1
	}
	return ""
}

func (x *HdWROrderReq) GetAttachment2() string {
	if x != nil && x.Attachment2 != nil {
		return *x.Attachment2
	}
	return ""
}

func (x *HdWROrderReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *HdWROrderReq) GetApplyID() uint64 {
	if x != nil && x.ApplyID != nil {
		return *x.ApplyID
	}
	return 0
}

func (x *HdWROrderReq) GetCanPart() uint32 {
	if x != nil && x.CanPart != nil {
		return *x.CanPart
	}
	return 0
}

func (x *HdWROrderReq) GetMatchAccIDsString() []string {
	if x != nil {
		return x.MatchAccIDsString
	}
	return nil
}

func (x *HdWROrderReq) GetDeliveryMonth() string {
	if x != nil && x.DeliveryMonth != nil {
		return *x.DeliveryMonth
	}
	return ""
}

func (x *HdWROrderReq) GetHasWr() uint32 {
	if x != nil && x.HasWr != nil {
		return *x.HasWr
	}
	return 0
}

func (x *HdWROrderReq) GetWRStandardID() uint32 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *HdWROrderReq) GetFactoryItems() []*DGFactoryItems {
	if x != nil {
		return x.FactoryItems
	}
	return nil
}

func (x *HdWROrderReq) GetDelistMinQty() uint64 {
	if x != nil && x.DelistMinQty != nil {
		return *x.DelistMinQty
	}
	return 0
}

func (x *HdWROrderReq) GetMarginFlag() uint32 {
	if x != nil && x.MarginFlag != nil {
		return *x.MarginFlag
	}
	return 0
}

func (x *HdWROrderReq) GetMarginAlgorithm() uint32 {
	if x != nil && x.MarginAlgorithm != nil {
		return *x.MarginAlgorithm
	}
	return 0
}

func (x *HdWROrderReq) GetMarginValue() float64 {
	if x != nil && x.MarginValue != nil {
		return *x.MarginValue
	}
	return 0
}

func (x *HdWROrderReq) GetAllFriendsFlag() uint32 {
	if x != nil && x.AllFriendsFlag != nil {
		return *x.AllFriendsFlag
	}
	return 0
}

// 持仓单挂牌应答
type HdWROrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                 // 用户ID
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`           // 资金账号
	WRTradeOrderID *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"` // 仓单贸易委托单ID
	FreezeQty      *uint64      `protobuf:"varint,7,opt,name=FreezeQty" json:"FreezeQty,omitempty"`           // 冻结数量
	OrderTime      *string      `protobuf:"bytes,8,opt,name=OrderTime" json:"OrderTime,omitempty"`            // 接收委托交易的时间
	ClientSerialNo *string      `protobuf:"bytes,9,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`  // 客户端流水号
}

func (x *HdWROrderRsp) Reset() {
	*x = HdWROrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[87]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HdWROrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HdWROrderRsp) ProtoMessage() {}

func (x *HdWROrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[87]
	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 HdWROrderRsp.ProtoReflect.Descriptor instead.
func (*HdWROrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{87}
}

func (x *HdWROrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HdWROrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *HdWROrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *HdWROrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *HdWROrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HdWROrderRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *HdWROrderRsp) GetFreezeQty() uint64 {
	if x != nil && x.FreezeQty != nil {
		return *x.FreezeQty
	}
	return 0
}

func (x *HdWROrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *HdWROrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 仓单出库提单明细数据
type WROutInDetail struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	LadingBillID *string `protobuf:"bytes,1,opt,name=LadingBillID" json:"LadingBillID,omitempty"` // 提单ID
	SubNum       *uint64 `protobuf:"varint,2,opt,name=SubNum" json:"SubNum,omitempty"`            // 提单子单号
	Qty          *uint64 `protobuf:"varint,3,opt,name=Qty" json:"Qty,omitempty"`                  // 子提单总数量
	OutQty       *uint64 `protobuf:"varint,4,opt,name=OutQty" json:"OutQty,omitempty"`            // 预约数量
}

func (x *WROutInDetail) Reset() {
	*x = WROutInDetail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[88]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WROutInDetail) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WROutInDetail) ProtoMessage() {}

func (x *WROutInDetail) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[88]
	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 WROutInDetail.ProtoReflect.Descriptor instead.
func (*WROutInDetail) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{88}
}

func (x *WROutInDetail) GetLadingBillID() string {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return ""
}

func (x *WROutInDetail) GetSubNum() uint64 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *WROutInDetail) GetQty() uint64 {
	if x != nil && x.Qty != nil {
		return *x.Qty
	}
	return 0
}

func (x *WROutInDetail) GetOutQty() uint64 {
	if x != nil && x.OutQty != nil {
		return *x.OutQty
	}
	return 0
}

// 仓单出库申请
type WROutApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead     `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialID    *uint64          `protobuf:"varint,2,opt,name=ClientSerialID" json:"ClientSerialID,omitempty"`       // 客户端唯一ID
	WRStandardID      *uint64          `protobuf:"varint,3,opt,name=WRStandardID" json:"WRStandardID,omitempty"`           // 仓单标准ID
	WarehouseID       *uint64          `protobuf:"varint,4,opt,name=WarehouseID" json:"WarehouseID,omitempty"`             // 仓库ID
	UserID            *uint64          `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`                       // 申请人ID
	AccountID         *uint64          `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`                 // 申请人账户ID
	Mobile            *string          `protobuf:"bytes,7,opt,name=Mobile" json:"Mobile,omitempty"`                        // 申请人手机号
	AppointmentDate   *string          `protobuf:"bytes,8,opt,name=AppointmentDate" json:"AppointmentDate,omitempty"`      // 预约出库时间（格式：20200101）
	AppointmentModel  *uint32          `protobuf:"varint,9,opt,name=AppointmentModel" json:"AppointmentModel,omitempty"`   // 预约方式:1-物流,2-自送，3-自提
	CountryID         *uint64          `protobuf:"varint,10,opt,name=CountryID" json:"CountryID,omitempty"`                // 国家
	ProvinceID        *uint64          `protobuf:"varint,11,opt,name=ProvinceID" json:"ProvinceID,omitempty"`              // 省
	DistrictID        *uint64          `protobuf:"varint,12,opt,name=DistrictID" json:"DistrictID,omitempty"`              // 区
	CityID            *uint64          `protobuf:"varint,13,opt,name=CityID" json:"CityID,omitempty"`                      // 市
	Address           *string          `protobuf:"bytes,14,opt,name=Address" json:"Address,omitempty"`                     // 详细地址
	ContactName       *string          `protobuf:"bytes,15,opt,name=ContactName" json:"ContactName,omitempty"`             // 收货人提货人
	ContactNum        *string          `protobuf:"bytes,16,opt,name=ContactNum" json:"ContactNum,omitempty"`               // 收货人提货人手机
	AppointmentRemark *string          `protobuf:"bytes,17,opt,name=AppointmentRemark" json:"AppointmentRemark,omitempty"` // 预约备注
	CreatorID         *uint64          `protobuf:"varint,18,opt,name=CreatorID" json:"CreatorID,omitempty"`                // 创建人ID
	WROutInDetails    []*WROutInDetail `protobuf:"bytes,19,rep,name=WROutInDetails" json:"WROutInDetails,omitempty"`       // 仓单出库提单明细数据
}

func (x *WROutApplyReq) Reset() {
	*x = WROutApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[89]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WROutApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WROutApplyReq) ProtoMessage() {}

func (x *WROutApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[89]
	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 WROutApplyReq.ProtoReflect.Descriptor instead.
func (*WROutApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{89}
}

func (x *WROutApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WROutApplyReq) GetClientSerialID() uint64 {
	if x != nil && x.ClientSerialID != nil {
		return *x.ClientSerialID
	}
	return 0
}

func (x *WROutApplyReq) GetWRStandardID() uint64 {
	if x != nil && x.WRStandardID != nil {
		return *x.WRStandardID
	}
	return 0
}

func (x *WROutApplyReq) GetWarehouseID() uint64 {
	if x != nil && x.WarehouseID != nil {
		return *x.WarehouseID
	}
	return 0
}

func (x *WROutApplyReq) GetUserID() uint64 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *WROutApplyReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *WROutApplyReq) GetMobile() string {
	if x != nil && x.Mobile != nil {
		return *x.Mobile
	}
	return ""
}

func (x *WROutApplyReq) GetAppointmentDate() string {
	if x != nil && x.AppointmentDate != nil {
		return *x.AppointmentDate
	}
	return ""
}

func (x *WROutApplyReq) GetAppointmentModel() uint32 {
	if x != nil && x.AppointmentModel != nil {
		return *x.AppointmentModel
	}
	return 0
}

func (x *WROutApplyReq) GetCountryID() uint64 {
	if x != nil && x.CountryID != nil {
		return *x.CountryID
	}
	return 0
}

func (x *WROutApplyReq) GetProvinceID() uint64 {
	if x != nil && x.ProvinceID != nil {
		return *x.ProvinceID
	}
	return 0
}

func (x *WROutApplyReq) GetDistrictID() uint64 {
	if x != nil && x.DistrictID != nil {
		return *x.DistrictID
	}
	return 0
}

func (x *WROutApplyReq) GetCityID() uint64 {
	if x != nil && x.CityID != nil {
		return *x.CityID
	}
	return 0
}

func (x *WROutApplyReq) GetAddress() string {
	if x != nil && x.Address != nil {
		return *x.Address
	}
	return ""
}

func (x *WROutApplyReq) GetContactName() string {
	if x != nil && x.ContactName != nil {
		return *x.ContactName
	}
	return ""
}

func (x *WROutApplyReq) GetContactNum() string {
	if x != nil && x.ContactNum != nil {
		return *x.ContactNum
	}
	return ""
}

func (x *WROutApplyReq) GetAppointmentRemark() string {
	if x != nil && x.AppointmentRemark != nil {
		return *x.AppointmentRemark
	}
	return ""
}

func (x *WROutApplyReq) GetCreatorID() uint64 {
	if x != nil && x.CreatorID != nil {
		return *x.CreatorID
	}
	return 0
}

func (x *WROutApplyReq) GetWROutInDetails() []*WROutInDetail {
	if x != nil {
		return x.WROutInDetails
	}
	return nil
}

// 仓单出库申请响应
type WROutApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                  // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`               // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                // 描述信息
	ClientSerialID *uint64      `protobuf:"varint,4,opt,name=ClientSerialID" json:"ClientSerialID,omitempty"` // 客户端唯一ID
}

func (x *WROutApplyRsp) Reset() {
	*x = WROutApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[90]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *WROutApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WROutApplyRsp) ProtoMessage() {}

func (x *WROutApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[90]
	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 WROutApplyRsp.ProtoReflect.Descriptor instead.
func (*WROutApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{90}
}

func (x *WROutApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *WROutApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *WROutApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *WROutApplyRsp) GetClientSerialID() uint64 {
	if x != nil && x.ClientSerialID != nil {
		return *x.ClientSerialID
	}
	return 0
}

// 交易委托请求
type OrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header            *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialNo    *string      `protobuf:"bytes,2,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`         // 客户端流水号
	ClientOrderTime   *string      `protobuf:"bytes,3,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`       // 客户端委托时间
	ClientType        *uint32      `protobuf:"varint,4,opt,name=ClientType" json:"ClientType,omitempty"`                // 终端类型
	LoginID           *uint64      `protobuf:"varint,5,opt,name=LoginID" json:"LoginID,omitempty"`                      // 登陆账号
	AccountID         *uint64      `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`                  // 交易账号
	GoodsID           *uint32      `protobuf:"varint,7,opt,name=GoodsID" json:"GoodsID,omitempty"`                      // 商品ID
	MarketID          *uint32      `protobuf:"varint,8,opt,name=MarketID" json:"MarketID,omitempty"`                    // 市场ID
	ValidType         *int32       `protobuf:"varint,9,opt,name=ValidType" json:"ValidType,omitempty"`                  // 校验类型
	OperateType       *uint32      `protobuf:"varint,10,opt,name=OperateType" json:"OperateType,omitempty"`             // 操作类型:
	OrderSrc          *uint32      `protobuf:"varint,11,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                   // 单据来源
	OperatorID        *uint64      `protobuf:"varint,12,opt,name=OperatorID" json:"OperatorID,omitempty"`               // 操作员账号ID
	OrderPrice        *float64     `protobuf:"fixed64,13,opt,name=OrderPrice" json:"OrderPrice,omitempty"`              // 委托价格
	MarketMaxSub      *float64     `protobuf:"fixed64,14,opt,name=MarketMaxSub" json:"MarketMaxSub,omitempty"`          // 市价允许最大偏差(做市)
	OrderQty          *uint64      `protobuf:"varint,15,opt,name=OrderQty" json:"OrderQty,omitempty"`                   // 委托数量
	BuyOrSell         *uint32      `protobuf:"varint,16,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`                 // 买卖方向
	BuildType         *uint32      `protobuf:"varint,17,opt,name=BuildType" json:"BuildType,omitempty"`                 // 下单类型
	CurtQuotePrice    *float64     `protobuf:"fixed64,18,opt,name=CurtQuotePrice" json:"CurtQuotePrice,omitempty"`      // 保留，计算冻结金额使用
	SpPrice           *float64     `protobuf:"fixed64,19,opt,name=SpPrice" json:"SpPrice,omitempty"`                    // 止盈价格
	SlPrice           *float64     `protobuf:"fixed64,20,opt,name=SlPrice" json:"SlPrice,omitempty"`                    // 止损价格
	PriceMode         *uint32      `protobuf:"varint,21,opt,name=PriceMode" json:"PriceMode,omitempty"`                 // 取价方式
	TimevalidType     *uint32      `protobuf:"varint,22,opt,name=TimevalidType" json:"TimevalidType,omitempty"`         // 时间有效类型
	TriggerType       *uint32      `protobuf:"varint,23,opt,name=TriggerType" json:"TriggerType,omitempty"`             // 预埋单触发类型
	TriggerPrice      *float64     `protobuf:"fixed64,24,opt,name=TriggerPrice" json:"TriggerPrice,omitempty"`          // 预埋单触发价格
	ListingSelectType *uint32      `protobuf:"varint,25,opt,name=ListingSelectType" json:"ListingSelectType,omitempty"` // 挂牌点选类型
	DelistingType     *uint32      `protobuf:"varint,26,opt,name=DelistingType" json:"DelistingType,omitempty"`         // 摘牌类型
	RelatedID         *uint64      `protobuf:"varint,27,opt,name=RelatedID" json:"RelatedID,omitempty"`                 // 关联单号
	OptionType        *uint32      `protobuf:"varint,28,opt,name=OptionType" json:"OptionType,omitempty"`               // 期权类型(1:认购(看涨)2:认沽(看跌))
	Premium           *float64     `protobuf:"fixed64,29,opt,name=Premium" json:"Premium,omitempty"`                    // 权利金
	TriggerOperator   *uint32      `protobuf:"varint,30,opt,name=TriggerOperator" json:"TriggerOperator,omitempty"`     // 触发条件(1:大于等于2:小于等于)
	ServiceTime       *string      `protobuf:"bytes,31,opt,name=ServiceTime" json:"ServiceTime,omitempty"`              // 服务端时间
	CouponTypeID      *uint64      `protobuf:"varint,32,opt,name=CouponTypeID" json:"CouponTypeID,omitempty"`           // 优惠券类型ID(买方)
	UsedQty           *uint32      `protobuf:"varint,33,opt,name=UsedQty" json:"UsedQty,omitempty"`                     // 使用数量
	ValidTime         *string      `protobuf:"bytes,34,opt,name=ValidTime" json:"ValidTime,omitempty"`                  // 指定有效日期
	ReceiveInfoID     *uint64      `protobuf:"varint,35,opt,name=ReceiveInfoID" json:"ReceiveInfoID,omitempty"`         // 收货地址ID
	OrderFlag         *uint32      `protobuf:"varint,36,opt,name=OrderFlag" json:"OrderFlag,omitempty"`                 // 委托标识-1:按量
	OrderAmount       *float64     `protobuf:"fixed64,37,opt,name=OrderAmount" json:"OrderAmount,omitempty"`            // 委托金额OrderFlag=2必填
}

func (x *OrderReq) Reset() {
	*x = OrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[91]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OrderReq) ProtoMessage() {}

func (x *OrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[91]
	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 OrderReq.ProtoReflect.Descriptor instead.
func (*OrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{91}
}

func (x *OrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *OrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *OrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *OrderReq) GetLoginID() uint64 {
	if x != nil && x.LoginID != nil {
		return *x.LoginID
	}
	return 0
}

func (x *OrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OrderReq) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *OrderReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *OrderReq) GetValidType() int32 {
	if x != nil && x.ValidType != nil {
		return *x.ValidType
	}
	return 0
}

func (x *OrderReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *OrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *OrderReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *OrderReq) GetOrderPrice() float64 {
	if x != nil && x.OrderPrice != nil {
		return *x.OrderPrice
	}
	return 0
}

func (x *OrderReq) GetMarketMaxSub() float64 {
	if x != nil && x.MarketMaxSub != nil {
		return *x.MarketMaxSub
	}
	return 0
}

func (x *OrderReq) GetOrderQty() uint64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *OrderReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *OrderReq) GetBuildType() uint32 {
	if x != nil && x.BuildType != nil {
		return *x.BuildType
	}
	return 0
}

func (x *OrderReq) GetCurtQuotePrice() float64 {
	if x != nil && x.CurtQuotePrice != nil {
		return *x.CurtQuotePrice
	}
	return 0
}

func (x *OrderReq) GetSpPrice() float64 {
	if x != nil && x.SpPrice != nil {
		return *x.SpPrice
	}
	return 0
}

func (x *OrderReq) GetSlPrice() float64 {
	if x != nil && x.SlPrice != nil {
		return *x.SlPrice
	}
	return 0
}

func (x *OrderReq) GetPriceMode() uint32 {
	if x != nil && x.PriceMode != nil {
		return *x.PriceMode
	}
	return 0
}

func (x *OrderReq) GetTimevalidType() uint32 {
	if x != nil && x.TimevalidType != nil {
		return *x.TimevalidType
	}
	return 0
}

func (x *OrderReq) GetTriggerType() uint32 {
	if x != nil && x.TriggerType != nil {
		return *x.TriggerType
	}
	return 0
}

func (x *OrderReq) GetTriggerPrice() float64 {
	if x != nil && x.TriggerPrice != nil {
		return *x.TriggerPrice
	}
	return 0
}

func (x *OrderReq) GetListingSelectType() uint32 {
	if x != nil && x.ListingSelectType != nil {
		return *x.ListingSelectType
	}
	return 0
}

func (x *OrderReq) GetDelistingType() uint32 {
	if x != nil && x.DelistingType != nil {
		return *x.DelistingType
	}
	return 0
}

func (x *OrderReq) GetRelatedID() uint64 {
	if x != nil && x.RelatedID != nil {
		return *x.RelatedID
	}
	return 0
}

func (x *OrderReq) GetOptionType() uint32 {
	if x != nil && x.OptionType != nil {
		return *x.OptionType
	}
	return 0
}

func (x *OrderReq) GetPremium() float64 {
	if x != nil && x.Premium != nil {
		return *x.Premium
	}
	return 0
}

func (x *OrderReq) GetTriggerOperator() uint32 {
	if x != nil && x.TriggerOperator != nil {
		return *x.TriggerOperator
	}
	return 0
}

func (x *OrderReq) GetServiceTime() string {
	if x != nil && x.ServiceTime != nil {
		return *x.ServiceTime
	}
	return ""
}

func (x *OrderReq) GetCouponTypeID() uint64 {
	if x != nil && x.CouponTypeID != nil {
		return *x.CouponTypeID
	}
	return 0
}

func (x *OrderReq) GetUsedQty() uint32 {
	if x != nil && x.UsedQty != nil {
		return *x.UsedQty
	}
	return 0
}

func (x *OrderReq) GetValidTime() string {
	if x != nil && x.ValidTime != nil {
		return *x.ValidTime
	}
	return ""
}

func (x *OrderReq) GetReceiveInfoID() uint64 {
	if x != nil && x.ReceiveInfoID != nil {
		return *x.ReceiveInfoID
	}
	return 0
}

func (x *OrderReq) GetOrderFlag() uint32 {
	if x != nil && x.OrderFlag != nil {
		return *x.OrderFlag
	}
	return 0
}

func (x *OrderReq) GetOrderAmount() float64 {
	if x != nil && x.OrderAmount != nil {
		return *x.OrderAmount
	}
	return 0
}

// 交易委托应答
type OrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`       // 消息头
	RetCode   *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`    // 返回码
	RetDesc   *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`     // 描述信息
	OrderID   *uint64      `protobuf:"varint,4,opt,name=OrderID" json:"OrderID,omitempty"`    // 一级生成的订单号
	OrderTime *string      `protobuf:"bytes,5,opt,name=OrderTime" json:"OrderTime,omitempty"` // 接收委托交易的时间
}

func (x *OrderRsp) Reset() {
	*x = OrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[92]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OrderRsp) ProtoMessage() {}

func (x *OrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[92]
	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 OrderRsp.ProtoReflect.Descriptor instead.
func (*OrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{92}
}

func (x *OrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *OrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *OrderRsp) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *OrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

// 撤单请求
type CancelOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialNo  *string      `protobuf:"bytes,2,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientOrderTime *string      `protobuf:"bytes,3,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"` // 客户端委托时间
	ClientType      *uint32      `protobuf:"varint,4,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
	OperateType     *uint32      `protobuf:"varint,5,opt,name=OperateType" json:"OperateType,omitempty"`        // 操作类型
	OldOrderId      *uint64      `protobuf:"varint,6,opt,name=OldOrderId" json:"OldOrderId,omitempty"`          // 原委托单号
	AccountID       *uint64      `protobuf:"varint,7,opt,name=AccountID" json:"AccountID,omitempty"`            // 交易账号
	OrderSrc        *uint32      `protobuf:"varint,8,opt,name=OrderSrc" json:"OrderSrc,omitempty"`              // 单据来源
	OperatorID      *uint64      `protobuf:"varint,9,opt,name=OperatorID" json:"OperatorID,omitempty"`          // 操作员账号ID
}

func (x *CancelOrderReq) Reset() {
	*x = CancelOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[93]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelOrderReq) ProtoMessage() {}

func (x *CancelOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[93]
	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 CancelOrderReq.ProtoReflect.Descriptor instead.
func (*CancelOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{93}
}

func (x *CancelOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CancelOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *CancelOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *CancelOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *CancelOrderReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *CancelOrderReq) GetOldOrderId() uint64 {
	if x != nil && x.OldOrderId != nil {
		return *x.OldOrderId
	}
	return 0
}

func (x *CancelOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *CancelOrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *CancelOrderReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

// 撤单应答
type CancelOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header       *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`              // 消息头
	RetCode      *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`           // 返回码
	RetDesc      *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`            // 描述信息
	ExchActionID *uint64      `protobuf:"varint,4,opt,name=ExchActionID" json:"ExchActionID,omitempty"` // 交易所操作号
	OrderTime    *string      `protobuf:"bytes,5,opt,name=OrderTime" json:"OrderTime,omitempty"`        // 接收委托交易的时间
}

func (x *CancelOrderRsp) Reset() {
	*x = CancelOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[94]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelOrderRsp) ProtoMessage() {}

func (x *CancelOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[94]
	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 CancelOrderRsp.ProtoReflect.Descriptor instead.
func (*CancelOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{94}
}

func (x *CancelOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CancelOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *CancelOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *CancelOrderRsp) GetExchActionID() uint64 {
	if x != nil && x.ExchActionID != nil {
		return *x.ExchActionID
	}
	return 0
}

func (x *CancelOrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

// 按单平仓请求
type HolderCloseReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	TradeID         *uint64      `protobuf:"varint,2,opt,name=TradeID" json:"TradeID,omitempty"`                // 持仓单号
	ClientSerialNo  *string      `protobuf:"bytes,3,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientOrderTime *string      `protobuf:"bytes,4,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"` // 客户端委托时间
	ClientType      *uint32      `protobuf:"varint,5,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
	LoginID         *uint64      `protobuf:"varint,6,opt,name=LoginID" json:"LoginID,omitempty"`                // 登陆账号
	AccountID       *uint64      `protobuf:"varint,7,opt,name=AccountID" json:"AccountID,omitempty"`            // 交易账号
	GoodsID         *uint32      `protobuf:"varint,8,opt,name=GoodsID" json:"GoodsID,omitempty"`                // 商品ID
	BuyOrSell       *uint32      `protobuf:"varint,9,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`            // 买卖方向
	MarketID        *uint32      `protobuf:"varint,10,opt,name=MarketID" json:"MarketID,omitempty"`             // 市场ID
	OrderSrc        *uint32      `protobuf:"varint,11,opt,name=OrderSrc" json:"OrderSrc,omitempty"`             // 单据来源
	OperatorID      *uint64      `protobuf:"varint,12,opt,name=OperatorID" json:"OperatorID,omitempty"`         // 操作员账号ID
}

func (x *HolderCloseReq) Reset() {
	*x = HolderCloseReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[95]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HolderCloseReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HolderCloseReq) ProtoMessage() {}

func (x *HolderCloseReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[95]
	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 HolderCloseReq.ProtoReflect.Descriptor instead.
func (*HolderCloseReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{95}
}

func (x *HolderCloseReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HolderCloseReq) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *HolderCloseReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *HolderCloseReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *HolderCloseReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *HolderCloseReq) GetLoginID() uint64 {
	if x != nil && x.LoginID != nil {
		return *x.LoginID
	}
	return 0
}

func (x *HolderCloseReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HolderCloseReq) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *HolderCloseReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *HolderCloseReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *HolderCloseReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *HolderCloseReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

// 按单平仓应答
type HolderCloseRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`       // 消息头
	RetCode   *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`    // 返回码
	RetDesc   *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`     // 描述信息
	OrderID   *uint64      `protobuf:"varint,4,opt,name=OrderID" json:"OrderID,omitempty"`    // 一级生成的订单号
	OrderTime *string      `protobuf:"bytes,5,opt,name=OrderTime" json:"OrderTime,omitempty"` // 接收委托交易的时间
}

func (x *HolderCloseRsp) Reset() {
	*x = HolderCloseRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[96]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HolderCloseRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HolderCloseRsp) ProtoMessage() {}

func (x *HolderCloseRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[96]
	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 HolderCloseRsp.ProtoReflect.Descriptor instead.
func (*HolderCloseRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{96}
}

func (x *HolderCloseRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HolderCloseRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *HolderCloseRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *HolderCloseRsp) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *HolderCloseRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

// 交割申报单明细
type DeliveryOrderDetail struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AccountID       *uint64 `protobuf:"varint,1,opt,name=AccountID" json:"AccountID,omitempty"`             // 对手方账号
	Qty             *uint64 `protobuf:"varint,2,opt,name=Qty" json:"Qty,omitempty"`                         // 点选数量
	BrandID         *uint32 `protobuf:"varint,3,opt,name=BrandID" json:"BrandID,omitempty"`                 // 品牌
	QualityID       *uint32 `protobuf:"varint,4,opt,name=QualityID" json:"QualityID,omitempty"`             // 品质
	StandardID      *uint32 `protobuf:"varint,5,opt,name=StandardID" json:"StandardID,omitempty"`           // 规格
	WarehouseID     *uint32 `protobuf:"varint,6,opt,name=WarehouseID" json:"WarehouseID,omitempty"`         // 仓库
	DeliveryMonthID *uint32 `protobuf:"varint,7,opt,name=DeliveryMonthID" json:"DeliveryMonthID,omitempty"` // 月份
	ReceiverAddress *string `protobuf:"bytes,8,opt,name=ReceiverAddress" json:"ReceiverAddress,omitempty"`  // 提货地址
	TakeMode        *uint32 `protobuf:"varint,9,opt,name=TakeMode" json:"TakeMode,omitempty"`               // 提货方式
	LadingBillID    *uint64 `protobuf:"varint,10,opt,name=LadingBillID" json:"LadingBillID,omitempty"`      // 提单ID
	SubNum          *uint64 `protobuf:"varint,11,opt,name=SubNum" json:"SubNum,omitempty"`                  // 提单子单号
	WRFactorTypeID  *uint64 `protobuf:"varint,12,opt,name=WRFactorTypeID" json:"WRFactorTypeID,omitempty"`  // 仓单要素类型ID
}

func (x *DeliveryOrderDetail) Reset() {
	*x = DeliveryOrderDetail{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[97]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeliveryOrderDetail) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeliveryOrderDetail) ProtoMessage() {}

func (x *DeliveryOrderDetail) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[97]
	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 DeliveryOrderDetail.ProtoReflect.Descriptor instead.
func (*DeliveryOrderDetail) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{97}
}

func (x *DeliveryOrderDetail) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetQty() uint64 {
	if x != nil && x.Qty != nil {
		return *x.Qty
	}
	return 0
}

func (x *DeliveryOrderDetail) GetBrandID() uint32 {
	if x != nil && x.BrandID != nil {
		return *x.BrandID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetQualityID() uint32 {
	if x != nil && x.QualityID != nil {
		return *x.QualityID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetStandardID() uint32 {
	if x != nil && x.StandardID != nil {
		return *x.StandardID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetWarehouseID() uint32 {
	if x != nil && x.WarehouseID != nil {
		return *x.WarehouseID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetDeliveryMonthID() uint32 {
	if x != nil && x.DeliveryMonthID != nil {
		return *x.DeliveryMonthID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetReceiverAddress() string {
	if x != nil && x.ReceiverAddress != nil {
		return *x.ReceiverAddress
	}
	return ""
}

func (x *DeliveryOrderDetail) GetTakeMode() uint32 {
	if x != nil && x.TakeMode != nil {
		return *x.TakeMode
	}
	return 0
}

func (x *DeliveryOrderDetail) GetLadingBillID() uint64 {
	if x != nil && x.LadingBillID != nil {
		return *x.LadingBillID
	}
	return 0
}

func (x *DeliveryOrderDetail) GetSubNum() uint64 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *DeliveryOrderDetail) GetWRFactorTypeID() uint64 {
	if x != nil && x.WRFactorTypeID != nil {
		return *x.WRFactorTypeID
	}
	return 0
}

// 交割申报请求
type DeliveryOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header              *MessageHead         `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	ClientSerialNo      *string              `protobuf:"bytes,2,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`            // 客户端流水号
	ClientOrderTime     *string              `protobuf:"bytes,3,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`          // 客户端委托时间
	ClientType          *uint32              `protobuf:"varint,4,opt,name=ClientType" json:"ClientType,omitempty"`                   // 终端类型
	AccountID           *uint64              `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`                     // 交易账号
	XGoodsID            *uint32              `protobuf:"varint,6,opt,name=XGoodsID" json:"XGoodsID,omitempty"`                       // 主商品ID（交割合约）
	PGoodsID            *uint32              `protobuf:"varint,7,opt,name=PGoodsID" json:"PGoodsID,omitempty"`                       // 辅助商品ID（辅助合约）
	P2GoodsID           *uint32              `protobuf:"varint,8,opt,name=P2GoodsID" json:"P2GoodsID,omitempty"`                     // 辅助商品ID（辅助合约2）
	DeliveryGoodsID     *uint32              `protobuf:"varint,9,opt,name=DeliveryGoodsID" json:"DeliveryGoodsID,omitempty"`         // 交割商品ID
	XQty                *uint64              `protobuf:"varint,10,opt,name=XQty" json:"XQty,omitempty"`                              // 交割合约数量
	PQty                *uint64              `protobuf:"varint,11,opt,name=PQty" json:"PQty,omitempty"`                              // 辅助合约数量
	P2Qty               *uint64              `protobuf:"varint,12,opt,name=P2Qty" json:"P2Qty,omitempty"`                            // 辅助合约2数量
	DeliveryQty         *uint64              `protobuf:"varint,13,opt,name=DeliveryQty" json:"DeliveryQty,omitempty"`                // 交割商品仓单数量
	OperateType         *uint32              `protobuf:"varint,14,opt,name=OperateType" json:"OperateType,omitempty"`                // 操作类型:
	OrderSrc            *uint32              `protobuf:"varint,15,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                      // 单据来源
	OperatorID          *uint32              `protobuf:"varint,16,opt,name=OperatorID" json:"OperatorID,omitempty"`                  // 操作员账号ID
	DeliveryOrderDetail *DeliveryOrderDetail `protobuf:"bytes,17,opt,name=DeliveryOrderDetail" json:"DeliveryOrderDetail,omitempty"` // 关联仓单头寸
	TakeMode            *uint32              `protobuf:"varint,18,opt,name=TakeMode" json:"TakeMode,omitempty"`                      // 提货方式
	ReceiverAddress     *string              `protobuf:"bytes,19,opt,name=ReceiverAddress" json:"ReceiverAddress,omitempty"`         // 提货地址
}

func (x *DeliveryOrderReq) Reset() {
	*x = DeliveryOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[98]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeliveryOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeliveryOrderReq) ProtoMessage() {}

func (x *DeliveryOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[98]
	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 DeliveryOrderReq.ProtoReflect.Descriptor instead.
func (*DeliveryOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{98}
}

func (x *DeliveryOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DeliveryOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *DeliveryOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *DeliveryOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *DeliveryOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *DeliveryOrderReq) GetXGoodsID() uint32 {
	if x != nil && x.XGoodsID != nil {
		return *x.XGoodsID
	}
	return 0
}

func (x *DeliveryOrderReq) GetPGoodsID() uint32 {
	if x != nil && x.PGoodsID != nil {
		return *x.PGoodsID
	}
	return 0
}

func (x *DeliveryOrderReq) GetP2GoodsID() uint32 {
	if x != nil && x.P2GoodsID != nil {
		return *x.P2GoodsID
	}
	return 0
}

func (x *DeliveryOrderReq) GetDeliveryGoodsID() uint32 {
	if x != nil && x.DeliveryGoodsID != nil {
		return *x.DeliveryGoodsID
	}
	return 0
}

func (x *DeliveryOrderReq) GetXQty() uint64 {
	if x != nil && x.XQty != nil {
		return *x.XQty
	}
	return 0
}

func (x *DeliveryOrderReq) GetPQty() uint64 {
	if x != nil && x.PQty != nil {
		return *x.PQty
	}
	return 0
}

func (x *DeliveryOrderReq) GetP2Qty() uint64 {
	if x != nil && x.P2Qty != nil {
		return *x.P2Qty
	}
	return 0
}

func (x *DeliveryOrderReq) GetDeliveryQty() uint64 {
	if x != nil && x.DeliveryQty != nil {
		return *x.DeliveryQty
	}
	return 0
}

func (x *DeliveryOrderReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *DeliveryOrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *DeliveryOrderReq) GetOperatorID() uint32 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *DeliveryOrderReq) GetDeliveryOrderDetail() *DeliveryOrderDetail {
	if x != nil {
		return x.DeliveryOrderDetail
	}
	return nil
}

func (x *DeliveryOrderReq) GetTakeMode() uint32 {
	if x != nil && x.TakeMode != nil {
		return *x.TakeMode
	}
	return 0
}

func (x *DeliveryOrderReq) GetReceiverAddress() string {
	if x != nil && x.ReceiverAddress != nil {
		return *x.ReceiverAddress
	}
	return ""
}

// 交割申报应答
type DeliveryOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header               *MessageHead           `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                             // 消息头
	RetCode              *int32                 `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                          // 返回码
	RetDesc              *string                `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                           // 描述信息
	ClientSerialNo       *string                `protobuf:"bytes,4,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`             // 客户端流水号
	DeliveryOrderDetails []*DeliveryOrderDetail `protobuf:"bytes,5,rep,name=DeliveryOrderDetails" json:"DeliveryOrderDetails,omitempty"` // 一级生成的订单号
	OrderTime            *string                `protobuf:"bytes,6,opt,name=OrderTime" json:"OrderTime,omitempty"`                       // 接收委托交易的时间
}

func (x *DeliveryOrderRsp) Reset() {
	*x = DeliveryOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[99]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeliveryOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeliveryOrderRsp) ProtoMessage() {}

func (x *DeliveryOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[99]
	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 DeliveryOrderRsp.ProtoReflect.Descriptor instead.
func (*DeliveryOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{99}
}

func (x *DeliveryOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DeliveryOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *DeliveryOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *DeliveryOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *DeliveryOrderRsp) GetDeliveryOrderDetails() []*DeliveryOrderDetail {
	if x != nil {
		return x.DeliveryOrderDetails
	}
	return nil
}

func (x *DeliveryOrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

// 补足定金请求
type MakeUpDepositReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	TradeID        *uint64      `protobuf:"varint,2,opt,name=TradeID" json:"TradeID,omitempty"`              // 成交单号，必填
	UserID         *uint32      `protobuf:"varint,3,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,4,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,5,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
	ClientType     *uint32      `protobuf:"varint,6,opt,name=ClientType" json:"ClientType,omitempty"`        // 终端类型
}

func (x *MakeUpDepositReq) Reset() {
	*x = MakeUpDepositReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[100]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MakeUpDepositReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MakeUpDepositReq) ProtoMessage() {}

func (x *MakeUpDepositReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[100]
	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 MakeUpDepositReq.ProtoReflect.Descriptor instead.
func (*MakeUpDepositReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{100}
}

func (x *MakeUpDepositReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MakeUpDepositReq) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *MakeUpDepositReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *MakeUpDepositReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *MakeUpDepositReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *MakeUpDepositReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 补足定金应答
type MakeUpDepositRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	TradeID        *uint64      `protobuf:"varint,4,opt,name=TradeID" json:"TradeID,omitempty"`              // 成交单号，必填
	ClientSerialNo *string      `protobuf:"bytes,5,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *MakeUpDepositRsp) Reset() {
	*x = MakeUpDepositRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[101]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MakeUpDepositRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MakeUpDepositRsp) ProtoMessage() {}

func (x *MakeUpDepositRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[101]
	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 MakeUpDepositRsp.ProtoReflect.Descriptor instead.
func (*MakeUpDepositRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{101}
}

func (x *MakeUpDepositRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MakeUpDepositRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *MakeUpDepositRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *MakeUpDepositRsp) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *MakeUpDepositRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 持仓追加定金接口请求
type HoldAppendDepositReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	GoodsID        *uint64      `protobuf:"varint,2,opt,name=GoodsID" json:"GoodsID,omitempty"`              // 商品ID，必填
	AccountID      *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,4,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
	ClientType     *uint32      `protobuf:"varint,5,opt,name=ClientType" json:"ClientType,omitempty"`        // 终端类型
}

func (x *HoldAppendDepositReq) Reset() {
	*x = HoldAppendDepositReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[102]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HoldAppendDepositReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HoldAppendDepositReq) ProtoMessage() {}

func (x *HoldAppendDepositReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[102]
	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 HoldAppendDepositReq.ProtoReflect.Descriptor instead.
func (*HoldAppendDepositReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{102}
}

func (x *HoldAppendDepositReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HoldAppendDepositReq) GetGoodsID() uint64 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *HoldAppendDepositReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HoldAppendDepositReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *HoldAppendDepositReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 持仓追加定金接口应答
type HoldAppendDepositRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	GoodsID        *uint64      `protobuf:"varint,4,opt,name=GoodsID" json:"GoodsID,omitempty"`              // 商品ID，必填
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *HoldAppendDepositRsp) Reset() {
	*x = HoldAppendDepositRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[103]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HoldAppendDepositRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HoldAppendDepositRsp) ProtoMessage() {}

func (x *HoldAppendDepositRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[103]
	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 HoldAppendDepositRsp.ProtoReflect.Descriptor instead.
func (*HoldAppendDepositRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{103}
}

func (x *HoldAppendDepositRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HoldAppendDepositRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *HoldAppendDepositRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *HoldAppendDepositRsp) GetGoodsID() uint64 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *HoldAppendDepositRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HoldAppendDepositRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 线下交收申请请求
type OfflineDeliveryReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header       *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	AccountID    *uint64      `protobuf:"varint,2,opt,name=AccountID" json:"AccountID,omitempty"`      // 账号ID
	UserID       *uint32      `protobuf:"varint,3,opt,name=UserID" json:"UserID,omitempty"`            // 用户ID
	GoodsCode    *string      `protobuf:"bytes,4,opt,name=GoodsCode" json:"GoodsCode,omitempty"`       // 商品代码
	GoodsID      *uint32      `protobuf:"varint,5,opt,name=GoodsID" json:"GoodsID,omitempty"`          // 商品ID
	BuyOrSell    *uint32      `protobuf:"varint,6,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`      // 方向
	DeliveryLot  *uint32      `protobuf:"varint,7,opt,name=DeliveryLot" json:"DeliveryLot,omitempty"`  // 交收手数
	DeliveryInfo *string      `protobuf:"bytes,8,opt,name=DeliveryInfo" json:"DeliveryInfo,omitempty"` // 交收信息
	ClientTicket *string      `protobuf:"bytes,9,opt,name=ClientTicket" json:"ClientTicket,omitempty"` // 客户端流水号
}

func (x *OfflineDeliveryReq) Reset() {
	*x = OfflineDeliveryReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[104]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OfflineDeliveryReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OfflineDeliveryReq) ProtoMessage() {}

func (x *OfflineDeliveryReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[104]
	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 OfflineDeliveryReq.ProtoReflect.Descriptor instead.
func (*OfflineDeliveryReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{104}
}

func (x *OfflineDeliveryReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OfflineDeliveryReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OfflineDeliveryReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *OfflineDeliveryReq) GetGoodsCode() string {
	if x != nil && x.GoodsCode != nil {
		return *x.GoodsCode
	}
	return ""
}

func (x *OfflineDeliveryReq) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *OfflineDeliveryReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *OfflineDeliveryReq) GetDeliveryLot() uint32 {
	if x != nil && x.DeliveryLot != nil {
		return *x.DeliveryLot
	}
	return 0
}

func (x *OfflineDeliveryReq) GetDeliveryInfo() string {
	if x != nil && x.DeliveryInfo != nil {
		return *x.DeliveryInfo
	}
	return ""
}

func (x *OfflineDeliveryReq) GetClientTicket() string {
	if x != nil && x.ClientTicket != nil {
		return *x.ClientTicket
	}
	return ""
}

// 线下交收申请请求
type OfflineDeliveryRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header       *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`             // 消息头
	RetCode      *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`          // 返回码
	RetDesc      *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`           // 描述信息
	AccountID    *uint64      `protobuf:"varint,4,opt,name=AccountID" json:"AccountID,omitempty"`      // 账号ID
	UserID       *uint32      `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`            // 用户ID
	ApplyID      *uint64      `protobuf:"varint,6,opt,name=ApplyID" json:"ApplyID,omitempty"`          // 申请ID
	ClientTicket *string      `protobuf:"bytes,7,opt,name=ClientTicket" json:"ClientTicket,omitempty"` // 客户端流水号
}

func (x *OfflineDeliveryRsp) Reset() {
	*x = OfflineDeliveryRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[105]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OfflineDeliveryRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OfflineDeliveryRsp) ProtoMessage() {}

func (x *OfflineDeliveryRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[105]
	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 OfflineDeliveryRsp.ProtoReflect.Descriptor instead.
func (*OfflineDeliveryRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{105}
}

func (x *OfflineDeliveryRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OfflineDeliveryRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *OfflineDeliveryRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *OfflineDeliveryRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OfflineDeliveryRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *OfflineDeliveryRsp) GetApplyID() uint64 {
	if x != nil && x.ApplyID != nil {
		return *x.ApplyID
	}
	return 0
}

func (x *OfflineDeliveryRsp) GetClientTicket() string {
	if x != nil && x.ClientTicket != nil {
		return *x.ClientTicket
	}
	return ""
}

// 持仓单摘牌请求
type HdWRDealOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID                *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                               // 用户ID
	AccountID             *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`                         // 资金账号
	RelatedWRTradeOrderID *uint64      `protobuf:"varint,4,opt,name=RelatedWRTradeOrderID" json:"RelatedWRTradeOrderID,omitempty"` // 关联委托单号(摘牌委托关联挂牌委托单ID)
	WRTransferUserID      *uint32      `protobuf:"varint,5,opt,name=WRTransferUserID" json:"WRTransferUserID,omitempty"`           // 仓单受让用户
	OrderQty              *uint64      `protobuf:"varint,6,opt,name=OrderQty" json:"OrderQty,omitempty"`                           // 委托数量
	OrderSrc              *uint32      `protobuf:"varint,7,opt,name=OrderSrc" json:"OrderSrc,omitempty"`                           // 委托来源
	ClientSerialNo        *string      `protobuf:"bytes,8,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`                // 客户端流水号
	ClientOrderTime       *string      `protobuf:"bytes,9,opt,name=ClientOrderTime" json:"ClientOrderTime,omitempty"`              // 客户端委托时间
	ClientType            *uint32      `protobuf:"varint,10,opt,name=ClientType" json:"ClientType,omitempty"`                      // 终端类型
	OperatorID            *uint64      `protobuf:"varint,11,opt,name=OperatorID" json:"OperatorID,omitempty"`                      // 操作员账号ID
	BuyOrSell             *uint32      `protobuf:"varint,12,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`                        // 买卖方向
	ApplyID               *uint64      `protobuf:"varint,13,opt,name=ApplyID" json:"ApplyID,omitempty"`                            // 申请ID
	LadingBillId          *uint64      `protobuf:"varint,14,opt,name=LadingBillId" json:"LadingBillId,omitempty"`                  // 提单id(wrholdlb的LadingBillId字段),卖的时候填写
	SubNum                *uint64      `protobuf:"varint,15,opt,name=SubNum" json:"SubNum,omitempty"`                              // 提单子单号(wrholdlb的SubNum字段),卖的时候填写
	WRFactorTypeId        *uint64      `protobuf:"varint,16,opt,name=WRFactorTypeId" json:"WRFactorTypeId,omitempty"`              // 仓单要素ID(wrholdlb的WRFactorTypeId字段),卖的时候填写
	TradeDate             *string      `protobuf:"bytes,17,opt,name=TradeDate" json:"TradeDate,omitempty"`                         // 交易日
	DeliveryMonth         *string      `protobuf:"bytes,18,opt,name=DeliveryMonth" json:"DeliveryMonth,omitempty"`                 // 交收月
	HasWr                 *uint32      `protobuf:"varint,19,opt,name=HasWr" json:"HasWr,omitempty"`                                // 是否有仓单-0:没有仓单1:有仓单
	IsFinancing           *uint32      `protobuf:"varint,20,opt,name=IsFinancing" json:"IsFinancing,omitempty"`                    // 是否融资购买(买摘牌时有效)-0:否1:是
	ProductDetailID       *uint64      `protobuf:"varint,21,opt,name=ProductDetailID" json:"ProductDetailID,omitempty"`            // 金融机构产品组合ID(融资购买时有效)
}

func (x *HdWRDealOrderReq) Reset() {
	*x = HdWRDealOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[106]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HdWRDealOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HdWRDealOrderReq) ProtoMessage() {}

func (x *HdWRDealOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[106]
	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 HdWRDealOrderReq.ProtoReflect.Descriptor instead.
func (*HdWRDealOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{106}
}

func (x *HdWRDealOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HdWRDealOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetRelatedWRTradeOrderID() uint64 {
	if x != nil && x.RelatedWRTradeOrderID != nil {
		return *x.RelatedWRTradeOrderID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetWRTransferUserID() uint32 {
	if x != nil && x.WRTransferUserID != nil {
		return *x.WRTransferUserID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetOrderQty() uint64 {
	if x != nil && x.OrderQty != nil {
		return *x.OrderQty
	}
	return 0
}

func (x *HdWRDealOrderReq) GetOrderSrc() uint32 {
	if x != nil && x.OrderSrc != nil {
		return *x.OrderSrc
	}
	return 0
}

func (x *HdWRDealOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *HdWRDealOrderReq) GetClientOrderTime() string {
	if x != nil && x.ClientOrderTime != nil {
		return *x.ClientOrderTime
	}
	return ""
}

func (x *HdWRDealOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *HdWRDealOrderReq) GetOperatorID() uint64 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *HdWRDealOrderReq) GetApplyID() uint64 {
	if x != nil && x.ApplyID != nil {
		return *x.ApplyID
	}
	return 0
}

func (x *HdWRDealOrderReq) GetLadingBillId() uint64 {
	if x != nil && x.LadingBillId != nil {
		return *x.LadingBillId
	}
	return 0
}

func (x *HdWRDealOrderReq) GetSubNum() uint64 {
	if x != nil && x.SubNum != nil {
		return *x.SubNum
	}
	return 0
}

func (x *HdWRDealOrderReq) GetWRFactorTypeId() uint64 {
	if x != nil && x.WRFactorTypeId != nil {
		return *x.WRFactorTypeId
	}
	return 0
}

func (x *HdWRDealOrderReq) GetTradeDate() string {
	if x != nil && x.TradeDate != nil {
		return *x.TradeDate
	}
	return ""
}

func (x *HdWRDealOrderReq) GetDeliveryMonth() string {
	if x != nil && x.DeliveryMonth != nil {
		return *x.DeliveryMonth
	}
	return ""
}

func (x *HdWRDealOrderReq) GetHasWr() uint32 {
	if x != nil && x.HasWr != nil {
		return *x.HasWr
	}
	return 0
}

func (x *HdWRDealOrderReq) GetIsFinancing() uint32 {
	if x != nil && x.IsFinancing != nil {
		return *x.IsFinancing
	}
	return 0
}

func (x *HdWRDealOrderReq) GetProductDetailID() uint64 {
	if x != nil && x.ProductDetailID != nil {
		return *x.ProductDetailID
	}
	return 0
}

// 持仓单摘牌应答
type HdWRDealOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header                *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                                // 消息头
	RetCode               *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                             // 返回码
	RetDesc               *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                              // 描述信息
	UserID                *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                               // 用户ID
	AccountID             *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`                         // 资金账号
	WRTradeOrderID        *uint64      `protobuf:"varint,6,opt,name=WRTradeOrderID" json:"WRTradeOrderID,omitempty"`               // 仓单贸易委托单ID
	RelatedWRTradeOrderID *uint64      `protobuf:"varint,7,opt,name=RelatedWRTradeOrderID" json:"RelatedWRTradeOrderID,omitempty"` // 关联委托单号(摘牌委托关联挂牌委托单ID)
	FreezeAmount          *float64     `protobuf:"fixed64,8,opt,name=FreezeAmount" json:"FreezeAmount,omitempty"`                  // 冻结货款
	OrderTime             *string      `protobuf:"bytes,9,opt,name=OrderTime" json:"OrderTime,omitempty"`                          // 接收委托交易的时间
	ClientSerialNo        *string      `protobuf:"bytes,10,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`               // 客户端流水号
}

func (x *HdWRDealOrderRsp) Reset() {
	*x = HdWRDealOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[107]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *HdWRDealOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HdWRDealOrderRsp) ProtoMessage() {}

func (x *HdWRDealOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[107]
	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 HdWRDealOrderRsp.ProtoReflect.Descriptor instead.
func (*HdWRDealOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{107}
}

func (x *HdWRDealOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *HdWRDealOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *HdWRDealOrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetWRTradeOrderID() uint64 {
	if x != nil && x.WRTradeOrderID != nil {
		return *x.WRTradeOrderID
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetRelatedWRTradeOrderID() uint64 {
	if x != nil && x.RelatedWRTradeOrderID != nil {
		return *x.RelatedWRTradeOrderID
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetFreezeAmount() float64 {
	if x != nil && x.FreezeAmount != nil {
		return *x.FreezeAmount
	}
	return 0
}

func (x *HdWRDealOrderRsp) GetOrderTime() string {
	if x != nil && x.OrderTime != nil {
		return *x.OrderTime
	}
	return ""
}

func (x *HdWRDealOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 补充定金接口请求
type SupplementDepositReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	TradeID        *uint64      `protobuf:"varint,2,opt,name=TradeID" json:"TradeID,omitempty"`                // 成交单号，必填
	BuyOrSell      *uint32      `protobuf:"varint,3,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`            // 买卖方向，必填
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                  // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`            // 交易账号，必填
	RestockDeposit *float64     `protobuf:"fixed64,6,opt,name=RestockDeposit" json:"RestockDeposit,omitempty"` // 补充定金，必填
	MarketID       *uint32      `protobuf:"varint,7,opt,name=MarketID" json:"MarketID,omitempty"`              // 市场ID，必填
	ClientSerialNo *string      `protobuf:"bytes,8,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientType     *uint32      `protobuf:"varint,9,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
}

func (x *SupplementDepositReq) Reset() {
	*x = SupplementDepositReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[108]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SupplementDepositReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SupplementDepositReq) ProtoMessage() {}

func (x *SupplementDepositReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[108]
	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 SupplementDepositReq.ProtoReflect.Descriptor instead.
func (*SupplementDepositReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{108}
}

func (x *SupplementDepositReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *SupplementDepositReq) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *SupplementDepositReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *SupplementDepositReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *SupplementDepositReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *SupplementDepositReq) GetRestockDeposit() float64 {
	if x != nil && x.RestockDeposit != nil {
		return *x.RestockDeposit
	}
	return 0
}

func (x *SupplementDepositReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *SupplementDepositReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *SupplementDepositReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 补充定金接口响应
type SupplementDepositRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	TradeID        *uint64      `protobuf:"varint,4,opt,name=TradeID" json:"TradeID,omitempty"`              // 成交单号，必填
	UserID         *uint32      `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *SupplementDepositRsp) Reset() {
	*x = SupplementDepositRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[109]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SupplementDepositRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SupplementDepositRsp) ProtoMessage() {}

func (x *SupplementDepositRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[109]
	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 SupplementDepositRsp.ProtoReflect.Descriptor instead.
func (*SupplementDepositRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{109}
}

func (x *SupplementDepositRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *SupplementDepositRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *SupplementDepositRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *SupplementDepositRsp) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *SupplementDepositRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *SupplementDepositRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *SupplementDepositRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 退返定金接口请求
type RefundedDepositReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	TradeID        *uint64      `protobuf:"varint,2,opt,name=TradeID" json:"TradeID,omitempty"`                // 成交单号，必填
	BuyOrSell      *uint32      `protobuf:"varint,3,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`            // 买卖方向，必填
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                  // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`            // 交易账号，必填
	RestockDeposit *float64     `protobuf:"fixed64,6,opt,name=RestockDeposit" json:"RestockDeposit,omitempty"` // 补充定金，必填
	MarketID       *uint32      `protobuf:"varint,7,opt,name=MarketID" json:"MarketID,omitempty"`              // 市场ID，必填
	ClientSerialNo *string      `protobuf:"bytes,8,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientType     *uint32      `protobuf:"varint,9,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
}

func (x *RefundedDepositReq) Reset() {
	*x = RefundedDepositReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[110]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefundedDepositReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefundedDepositReq) ProtoMessage() {}

func (x *RefundedDepositReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[110]
	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 RefundedDepositReq.ProtoReflect.Descriptor instead.
func (*RefundedDepositReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{110}
}

func (x *RefundedDepositReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *RefundedDepositReq) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *RefundedDepositReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *RefundedDepositReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *RefundedDepositReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *RefundedDepositReq) GetRestockDeposit() float64 {
	if x != nil && x.RestockDeposit != nil {
		return *x.RestockDeposit
	}
	return 0
}

func (x *RefundedDepositReq) GetMarketID() uint32 {
	if x != nil && x.MarketID != nil {
		return *x.MarketID
	}
	return 0
}

func (x *RefundedDepositReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *RefundedDepositReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 退返定金接口响应
type RefundedDepositRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	TradeID        *uint64      `protobuf:"varint,4,opt,name=TradeID" json:"TradeID,omitempty"`              // 成交单号，必填
	UserID         *uint32      `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *RefundedDepositRsp) Reset() {
	*x = RefundedDepositRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[111]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefundedDepositRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefundedDepositRsp) ProtoMessage() {}

func (x *RefundedDepositRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[111]
	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 RefundedDepositRsp.ProtoReflect.Descriptor instead.
func (*RefundedDepositRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{111}
}

func (x *RefundedDepositRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *RefundedDepositRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *RefundedDepositRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *RefundedDepositRsp) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *RefundedDepositRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *RefundedDepositRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *RefundedDepositRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 持仓明细
type MarketOrderHoldDetails struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TradeID     *uint64 `protobuf:"varint,1,opt,name=TradeID" json:"TradeID,omitempty"`         // 成交单号，必填
	DeliveryQty *uint64 `protobuf:"varint,2,opt,name=DeliveryQty" json:"DeliveryQty,omitempty"` // 交收数量，必填
}

func (x *MarketOrderHoldDetails) Reset() {
	*x = MarketOrderHoldDetails{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[112]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarketOrderHoldDetails) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarketOrderHoldDetails) ProtoMessage() {}

func (x *MarketOrderHoldDetails) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[112]
	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 MarketOrderHoldDetails.ProtoReflect.Descriptor instead.
func (*MarketOrderHoldDetails) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{112}
}

func (x *MarketOrderHoldDetails) GetTradeID() uint64 {
	if x != nil && x.TradeID != nil {
		return *x.TradeID
	}
	return 0
}

func (x *MarketOrderHoldDetails) GetDeliveryQty() uint64 {
	if x != nil && x.DeliveryQty != nil {
		return *x.DeliveryQty
	}
	return 0
}

// 付款凭证
type PayAttrs struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	FileName *string `protobuf:"bytes,1,opt,name=FileName" json:"FileName,omitempty"` // 文件名，必填
	FileAddr *string `protobuf:"bytes,2,opt,name=FileAddr" json:"FileAddr,omitempty"` // 文件地址，必填
}

func (x *PayAttrs) Reset() {
	*x = PayAttrs{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[113]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PayAttrs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PayAttrs) ProtoMessage() {}

func (x *PayAttrs) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[113]
	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 PayAttrs.ProtoReflect.Descriptor instead.
func (*PayAttrs) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{113}
}

func (x *PayAttrs) GetFileName() string {
	if x != nil && x.FileName != nil {
		return *x.FileName
	}
	return ""
}

func (x *PayAttrs) GetFileAddr() string {
	if x != nil && x.FileAddr != nil {
		return *x.FileAddr
	}
	return ""
}

// 按单做市交收申请接口请求
type MarketOrderDeliveryApplyReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead              `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID         *uint32                   `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID，必填
	AccountID      *uint64                   `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	BuyOrSell      *uint32                   `protobuf:"varint,4,opt,name=BuyOrSell" json:"BuyOrSell,omitempty"`          // 方向，必填
	HoldDetails    []*MarketOrderHoldDetails `protobuf:"bytes,5,rep,name=HoldDetails" json:"HoldDetails,omitempty"`       // 持仓明细，必填
	ClientSerialNo *string                   `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
	ClientType     *uint32                   `protobuf:"varint,7,opt,name=ClientType" json:"ClientType,omitempty"`        // 终端类型
}

func (x *MarketOrderDeliveryApplyReq) Reset() {
	*x = MarketOrderDeliveryApplyReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[114]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarketOrderDeliveryApplyReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarketOrderDeliveryApplyReq) ProtoMessage() {}

func (x *MarketOrderDeliveryApplyReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[114]
	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 MarketOrderDeliveryApplyReq.ProtoReflect.Descriptor instead.
func (*MarketOrderDeliveryApplyReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{114}
}

func (x *MarketOrderDeliveryApplyReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MarketOrderDeliveryApplyReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *MarketOrderDeliveryApplyReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *MarketOrderDeliveryApplyReq) GetBuyOrSell() uint32 {
	if x != nil && x.BuyOrSell != nil {
		return *x.BuyOrSell
	}
	return 0
}

func (x *MarketOrderDeliveryApplyReq) GetHoldDetails() []*MarketOrderHoldDetails {
	if x != nil {
		return x.HoldDetails
	}
	return nil
}

func (x *MarketOrderDeliveryApplyReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *MarketOrderDeliveryApplyReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 按单做市交收申请接口响应
type MarketOrderDeliveryApplyRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	RetCode        *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`              // 返回码
	RetDesc        *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`               // 描述信息
	UserID         *uint32      `protobuf:"varint,4,opt,name=UserID" json:"UserID,omitempty"`                // 用户ID，必填
	AccountID      *uint64      `protobuf:"varint,5,opt,name=AccountID" json:"AccountID,omitempty"`          // 交易账号，必填
	ClientSerialNo *string      `protobuf:"bytes,6,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // 客户端流水号
}

func (x *MarketOrderDeliveryApplyRsp) Reset() {
	*x = MarketOrderDeliveryApplyRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[115]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MarketOrderDeliveryApplyRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MarketOrderDeliveryApplyRsp) ProtoMessage() {}

func (x *MarketOrderDeliveryApplyRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[115]
	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 MarketOrderDeliveryApplyRsp.ProtoReflect.Descriptor instead.
func (*MarketOrderDeliveryApplyRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{115}
}

func (x *MarketOrderDeliveryApplyRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *MarketOrderDeliveryApplyRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *MarketOrderDeliveryApplyRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *MarketOrderDeliveryApplyRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *MarketOrderDeliveryApplyRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *MarketOrderDeliveryApplyRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 交收终端操作接口请求
type DeliveryClientOperatorReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID          *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                   // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`             // 交易账号，必填
	DeliveryOrderID *uint64      `protobuf:"varint,4,opt,name=DeliveryOrderID" json:"DeliveryOrderID,omitempty"` // 交收单号，必填
	OperateType     *uint32      `protobuf:"varint,5,opt,name=OperateType" json:"OperateType,omitempty"`         // 操作类型，必填1:客户确认2:客户付款
	DeliveryPayMode *uint32      `protobuf:"varint,6,opt,name=DeliveryPayMode" json:"DeliveryPayMode,omitempty"` // 付款方式，必填1:线上支付2:线下支付
	PayAmount       *float64     `protobuf:"fixed64,7,opt,name=PayAmount" json:"PayAmount,omitempty"`            // 付款金额，必填
	PayAttr         []*PayAttrs  `protobuf:"bytes,8,rep,name=PayAttr" json:"PayAttr,omitempty"`                  // 付款凭证，必填
	OperatorID      *uint32      `protobuf:"varint,9,opt,name=OperatorID" json:"OperatorID,omitempty"`           // 操作人ID
	OperatorAccount *string      `protobuf:"bytes,10,opt,name=OperatorAccount" json:"OperatorAccount,omitempty"` // 操作人账号
	OperatorName    *string      `protobuf:"bytes,11,opt,name=OperatorName" json:"OperatorName,omitempty"`       // 操作人名称
	Remark          *string      `protobuf:"bytes,12,opt,name=Remark" json:"Remark,omitempty"`                   // 操作备注
	ClientSerialNo  *string      `protobuf:"bytes,13,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`   // 客户端流水号
	ClientType      *uint32      `protobuf:"varint,14,opt,name=ClientType" json:"ClientType,omitempty"`          // 终端类型
}

func (x *DeliveryClientOperatorReq) Reset() {
	*x = DeliveryClientOperatorReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[116]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeliveryClientOperatorReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeliveryClientOperatorReq) ProtoMessage() {}

func (x *DeliveryClientOperatorReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[116]
	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 DeliveryClientOperatorReq.ProtoReflect.Descriptor instead.
func (*DeliveryClientOperatorReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{116}
}

func (x *DeliveryClientOperatorReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DeliveryClientOperatorReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetDeliveryOrderID() uint64 {
	if x != nil && x.DeliveryOrderID != nil {
		return *x.DeliveryOrderID
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetOperateType() uint32 {
	if x != nil && x.OperateType != nil {
		return *x.OperateType
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetDeliveryPayMode() uint32 {
	if x != nil && x.DeliveryPayMode != nil {
		return *x.DeliveryPayMode
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetPayAmount() float64 {
	if x != nil && x.PayAmount != nil {
		return *x.PayAmount
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetPayAttr() []*PayAttrs {
	if x != nil {
		return x.PayAttr
	}
	return nil
}

func (x *DeliveryClientOperatorReq) GetOperatorID() uint32 {
	if x != nil && x.OperatorID != nil {
		return *x.OperatorID
	}
	return 0
}

func (x *DeliveryClientOperatorReq) GetOperatorAccount() string {
	if x != nil && x.OperatorAccount != nil {
		return *x.OperatorAccount
	}
	return ""
}

func (x *DeliveryClientOperatorReq) GetOperatorName() string {
	if x != nil && x.OperatorName != nil {
		return *x.OperatorName
	}
	return ""
}

func (x *DeliveryClientOperatorReq) GetRemark() string {
	if x != nil && x.Remark != nil {
		return *x.Remark
	}
	return ""
}

func (x *DeliveryClientOperatorReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *DeliveryClientOperatorReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 交收终端操作接口响应
type DeliveryClientOperatorRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                    // 消息头
	RetCode         *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                 // 返回码
	RetDesc         *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                  // 描述信息
	DeliveryOrderID *uint64      `protobuf:"varint,4,opt,name=DeliveryOrderID" json:"DeliveryOrderID,omitempty"` // 交收单号，必填
	UserID          *uint32      `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`                   // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`             // 交易账号，必填
	ClientSerialNo  *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`    // 客户端流水号
}

func (x *DeliveryClientOperatorRsp) Reset() {
	*x = DeliveryClientOperatorRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[117]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeliveryClientOperatorRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeliveryClientOperatorRsp) ProtoMessage() {}

func (x *DeliveryClientOperatorRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[117]
	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 DeliveryClientOperatorRsp.ProtoReflect.Descriptor instead.
func (*DeliveryClientOperatorRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{117}
}

func (x *DeliveryClientOperatorRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *DeliveryClientOperatorRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *DeliveryClientOperatorRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *DeliveryClientOperatorRsp) GetDeliveryOrderID() uint64 {
	if x != nil && x.DeliveryOrderID != nil {
		return *x.DeliveryOrderID
	}
	return 0
}

func (x *DeliveryClientOperatorRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *DeliveryClientOperatorRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *DeliveryClientOperatorRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

// 用户登录请求
type LoginReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header           *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	LoginID          *uint64      `protobuf:"varint,2,opt,name=LoginID" json:"LoginID,omitempty"`                   // 登录ID
	LoginPWD         *string      `protobuf:"bytes,3,opt,name=LoginPWD" json:"LoginPWD,omitempty"`                  // 登录密码
	LoginType        *uint32      `protobuf:"varint,4,opt,name=LoginType" json:"LoginType,omitempty"`               // 登陆类型
	ClientType       *uint32      `protobuf:"varint,5,opt,name=ClientType" json:"ClientType,omitempty"`             // 终端软件类型
	Version          *string      `protobuf:"bytes,6,opt,name=Version" json:"Version,omitempty"`                    // 终端软件版本号
	MobilePhone      *string      `protobuf:"bytes,7,opt,name=MobilePhone" json:"MobilePhone,omitempty"`            // 移动电话
	GUID             *string      `protobuf:"bytes,8,opt,name=GUID" json:"GUID,omitempty"`                          // 唯一标识码
	LoginIp          *string      `protobuf:"bytes,9,opt,name=LoginIp" json:"LoginIp,omitempty"`                    // 登录IP地址
	LoginPort        *uint32      `protobuf:"varint,10,opt,name=LoginPort" json:"LoginPort,omitempty"`              // 登陆通信端口
	DeviceID         *string      `protobuf:"bytes,11,opt,name=DeviceID" json:"DeviceID,omitempty"`                 // 设备标识
	EnvironmentInfo  *string      `protobuf:"bytes,12,opt,name=EnvironmentInfo" json:"EnvironmentInfo,omitempty"`   // 软件环境信息
	LoginCode        *string      `protobuf:"bytes,13,opt,name=LoginCode" json:"LoginCode,omitempty"`               // 登陆码
	ClientSystemInfo []byte       `protobuf:"bytes,14,opt,name=ClientSystemInfo" json:"ClientSystemInfo,omitempty"` // 终端系统信息
	ClientAppID      *string      `protobuf:"bytes,15,opt,name=ClientAppID" json:"ClientAppID,omitempty"`           // 终端AppID
}

func (x *LoginReq) Reset() {
	*x = LoginReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[118]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LoginReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginReq) ProtoMessage() {}

func (x *LoginReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[118]
	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 LoginReq.ProtoReflect.Descriptor instead.
func (*LoginReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{118}
}

func (x *LoginReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LoginReq) GetLoginID() uint64 {
	if x != nil && x.LoginID != nil {
		return *x.LoginID
	}
	return 0
}

func (x *LoginReq) GetLoginPWD() string {
	if x != nil && x.LoginPWD != nil {
		return *x.LoginPWD
	}
	return ""
}

func (x *LoginReq) GetLoginType() uint32 {
	if x != nil && x.LoginType != nil {
		return *x.LoginType
	}
	return 0
}

func (x *LoginReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

func (x *LoginReq) GetVersion() string {
	if x != nil && x.Version != nil {
		return *x.Version
	}
	return ""
}

func (x *LoginReq) GetMobilePhone() string {
	if x != nil && x.MobilePhone != nil {
		return *x.MobilePhone
	}
	return ""
}

func (x *LoginReq) GetGUID() string {
	if x != nil && x.GUID != nil {
		return *x.GUID
	}
	return ""
}

func (x *LoginReq) GetLoginIp() string {
	if x != nil && x.LoginIp != nil {
		return *x.LoginIp
	}
	return ""
}

func (x *LoginReq) GetLoginPort() uint32 {
	if x != nil && x.LoginPort != nil {
		return *x.LoginPort
	}
	return 0
}

func (x *LoginReq) GetDeviceID() string {
	if x != nil && x.DeviceID != nil {
		return *x.DeviceID
	}
	return ""
}

func (x *LoginReq) GetEnvironmentInfo() string {
	if x != nil && x.EnvironmentInfo != nil {
		return *x.EnvironmentInfo
	}
	return ""
}

func (x *LoginReq) GetLoginCode() string {
	if x != nil && x.LoginCode != nil {
		return *x.LoginCode
	}
	return ""
}

func (x *LoginReq) GetClientSystemInfo() []byte {
	if x != nil {
		return x.ClientSystemInfo
	}
	return nil
}

func (x *LoginReq) GetClientAppID() string {
	if x != nil && x.ClientAppID != nil {
		return *x.ClientAppID
	}
	return ""
}

// 用户登录应答
type LoginRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header           *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                       // 消息头
	RetCode          *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                    // 返回码
	RetDesc          *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                     // 描述信息
	LoginID          *uint64      `protobuf:"varint,4,opt,name=LoginID" json:"LoginID,omitempty"`                    // 登录ID
	LoginUserType    *uint32      `protobuf:"varint,5,opt,name=LoginUserType" json:"LoginUserType,omitempty"`        // 登陆用户类型
	AccountStatus    *uint32      `protobuf:"varint,6,opt,name=AccountStatus" json:"AccountStatus,omitempty"`        // 用户状态
	UserID           *uint32      `protobuf:"varint,7,opt,name=UserID" json:"UserID,omitempty"`                      // 用户ID
	MemberUserID     *uint32      `protobuf:"varint,8,opt,name=MemberUserID" json:"MemberUserID,omitempty"`          // 用户所属会员用户ID
	AccountIDs       []uint64     `protobuf:"varint,9,rep,name=AccountIDs" json:"AccountIDs,omitempty"`              // 账户ID列表(有权限的)
	Token            *string      `protobuf:"bytes,10,opt,name=Token" json:"Token,omitempty"`                        // 用户令牌
	SystemTime       *uint64      `protobuf:"varint,11,opt,name=SystemTime" json:"SystemTime,omitempty"`             // 系统时间
	HasUpdatedPwd    *uint32      `protobuf:"varint,12,opt,name=HasUpdatedPwd" json:"HasUpdatedPwd,omitempty"`       // 是否已更改密码
	PwdWrongCnt      *uint32      `protobuf:"varint,13,opt,name=PwdWrongCnt" json:"PwdWrongCnt,omitempty"`           // 当前密码输入错误次数
	PwdWrongLockCnt  *uint32      `protobuf:"varint,14,opt,name=PwdWrongLockCnt" json:"PwdWrongLockCnt,omitempty"`   // 登陆账号锁定密码输入错误次数
	LoginLockHourNum *uint32      `protobuf:"varint,15,opt,name=LoginLockHourNum" json:"LoginLockHourNum,omitempty"` // 登陆账号锁定时长(小时)
	LoginCode        *string      `protobuf:"bytes,16,opt,name=LoginCode" json:"LoginCode,omitempty"`                // 登陆码
	ClientSystemInfo []byte       `protobuf:"bytes,17,opt,name=ClientSystemInfo" json:"ClientSystemInfo,omitempty"`  // 终端系统信息
	ClientID         *uint64      `protobuf:"varint,18,opt,name=ClientID" json:"ClientID,omitempty"`                 // 终端ID(登陆服务分配，用于通道交易关联链路)
}

func (x *LoginRsp) Reset() {
	*x = LoginRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[119]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LoginRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoginRsp) ProtoMessage() {}

func (x *LoginRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[119]
	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 LoginRsp.ProtoReflect.Descriptor instead.
func (*LoginRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{119}
}

func (x *LoginRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LoginRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *LoginRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *LoginRsp) GetLoginID() uint64 {
	if x != nil && x.LoginID != nil {
		return *x.LoginID
	}
	return 0
}

func (x *LoginRsp) GetLoginUserType() uint32 {
	if x != nil && x.LoginUserType != nil {
		return *x.LoginUserType
	}
	return 0
}

func (x *LoginRsp) GetAccountStatus() uint32 {
	if x != nil && x.AccountStatus != nil {
		return *x.AccountStatus
	}
	return 0
}

func (x *LoginRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *LoginRsp) GetMemberUserID() uint32 {
	if x != nil && x.MemberUserID != nil {
		return *x.MemberUserID
	}
	return 0
}

func (x *LoginRsp) GetAccountIDs() []uint64 {
	if x != nil {
		return x.AccountIDs
	}
	return nil
}

func (x *LoginRsp) GetToken() string {
	if x != nil && x.Token != nil {
		return *x.Token
	}
	return ""
}

func (x *LoginRsp) GetSystemTime() uint64 {
	if x != nil && x.SystemTime != nil {
		return *x.SystemTime
	}
	return 0
}

func (x *LoginRsp) GetHasUpdatedPwd() uint32 {
	if x != nil && x.HasUpdatedPwd != nil {
		return *x.HasUpdatedPwd
	}
	return 0
}

func (x *LoginRsp) GetPwdWrongCnt() uint32 {
	if x != nil && x.PwdWrongCnt != nil {
		return *x.PwdWrongCnt
	}
	return 0
}

func (x *LoginRsp) GetPwdWrongLockCnt() uint32 {
	if x != nil && x.PwdWrongLockCnt != nil {
		return *x.PwdWrongLockCnt
	}
	return 0
}

func (x *LoginRsp) GetLoginLockHourNum() uint32 {
	if x != nil && x.LoginLockHourNum != nil {
		return *x.LoginLockHourNum
	}
	return 0
}

func (x *LoginRsp) GetLoginCode() string {
	if x != nil && x.LoginCode != nil {
		return *x.LoginCode
	}
	return ""
}

func (x *LoginRsp) GetClientSystemInfo() []byte {
	if x != nil {
		return x.ClientSystemInfo
	}
	return nil
}

func (x *LoginRsp) GetClientID() uint64 {
	if x != nil && x.ClientID != nil {
		return *x.ClientID
	}
	return 0
}

// 客户离线通知
type CustOfflineNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`        // 消息头
	SessionID []uint32     `protobuf:"varint,2,rep,name=SessionID" json:"SessionID,omitempty"` // uint32 用户的sessionid(由接入服务分配的)，是一数组。该接口是系统内部服务使用的接口
	LoginID   []uint64     `protobuf:"varint,3,rep,name=LoginID" json:"LoginID,omitempty"`     // uint64 用户登陆的loginid，是一数组。该接口是系统内部服务使用的接口
}

func (x *CustOfflineNtf) Reset() {
	*x = CustOfflineNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[120]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CustOfflineNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CustOfflineNtf) ProtoMessage() {}

func (x *CustOfflineNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[120]
	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 CustOfflineNtf.ProtoReflect.Descriptor instead.
func (*CustOfflineNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{120}
}

func (x *CustOfflineNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *CustOfflineNtf) GetSessionID() []uint32 {
	if x != nil {
		return x.SessionID
	}
	return nil
}

func (x *CustOfflineNtf) GetLoginID() []uint64 {
	if x != nil {
		return x.LoginID
	}
	return nil
}

// 用户登出请求
type LogoutReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	LoginID   *uint64      `protobuf:"varint,2,opt,name=LoginID" json:"LoginID,omitempty"`     // 登录ID
	Token     *string      `protobuf:"bytes,3,opt,name=Token" json:"Token,omitempty"`          // 登录时返回的用户令牌
	LoginIp   *string      `protobuf:"bytes,4,opt,name=LoginIp" json:"LoginIp,omitempty"`      // 登出IP地址
	LoginPort *uint32      `protobuf:"varint,5,opt,name=LoginPort" json:"LoginPort,omitempty"` // 登出通信端口
}

func (x *LogoutReq) Reset() {
	*x = LogoutReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[121]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LogoutReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogoutReq) ProtoMessage() {}

func (x *LogoutReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[121]
	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 LogoutReq.ProtoReflect.Descriptor instead.
func (*LogoutReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{121}
}

func (x *LogoutReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LogoutReq) GetLoginID() uint64 {
	if x != nil && x.LoginID != nil {
		return *x.LoginID
	}
	return 0
}

func (x *LogoutReq) GetToken() string {
	if x != nil && x.Token != nil {
		return *x.Token
	}
	return ""
}

func (x *LogoutReq) GetLoginIp() string {
	if x != nil && x.LoginIp != nil {
		return *x.LoginIp
	}
	return ""
}

func (x *LogoutReq) GetLoginPort() uint32 {
	if x != nil && x.LoginPort != nil {
		return *x.LoginPort
	}
	return 0
}

// 用户登出应答
type LogoutRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header  *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`    // 消息头
	RetCode *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"` // 返回码
	RetDesc *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`  // 描述信息
}

func (x *LogoutRsp) Reset() {
	*x = LogoutRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[122]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *LogoutRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LogoutRsp) ProtoMessage() {}

func (x *LogoutRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[122]
	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 LogoutRsp.ProtoReflect.Descriptor instead.
func (*LogoutRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{122}
}

func (x *LogoutRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *LogoutRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *LogoutRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

// 头寸变化通知
type PosChangedNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header    *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`        // 消息头
	NtfHeader *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`  // NotifyHead 公共消息头
	AccountID *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"` // uint64 交易账号
	GoodsID   *uint32      `protobuf:"varint,4,opt,name=GoodsID" json:"GoodsID,omitempty"`     // uint32 商品
}

func (x *PosChangedNtf) Reset() {
	*x = PosChangedNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[123]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PosChangedNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PosChangedNtf) ProtoMessage() {}

func (x *PosChangedNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[123]
	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 PosChangedNtf.ProtoReflect.Descriptor instead.
func (*PosChangedNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{123}
}

func (x *PosChangedNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *PosChangedNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *PosChangedNtf) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *PosChangedNtf) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

// 委托单撤单通知
type OrderCanceledNtf struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header         *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                 // 消息头
	NtfHeader      *NotifyHead  `protobuf:"bytes,2,opt,name=NtfHeader" json:"NtfHeader,omitempty"`           // NotifyHead 公共消息头
	OrderID        *uint64      `protobuf:"varint,3,opt,name=OrderID" json:"OrderID,omitempty"`              // uint64 一级生成的订单号
	ClientSerialNo *string      `protobuf:"bytes,4,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"` // string 客户端流水号
	GoodsID        *uint32      `protobuf:"varint,5,opt,name=GoodsID" json:"GoodsID,omitempty"`              // uint32 商品
	CancelQty      *uint64      `protobuf:"varint,6,opt,name=CancelQty" json:"CancelQty,omitempty"`          // uint64 撤销数量
	OrderStatus    *uint32      `protobuf:"varint,7,opt,name=OrderStatus" json:"OrderStatus,omitempty"`      // uint32 单据状态
}

func (x *OrderCanceledNtf) Reset() {
	*x = OrderCanceledNtf{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[124]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OrderCanceledNtf) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OrderCanceledNtf) ProtoMessage() {}

func (x *OrderCanceledNtf) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[124]
	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 OrderCanceledNtf.ProtoReflect.Descriptor instead.
func (*OrderCanceledNtf) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{124}
}

func (x *OrderCanceledNtf) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OrderCanceledNtf) GetNtfHeader() *NotifyHead {
	if x != nil {
		return x.NtfHeader
	}
	return nil
}

func (x *OrderCanceledNtf) GetOrderID() uint64 {
	if x != nil && x.OrderID != nil {
		return *x.OrderID
	}
	return 0
}

func (x *OrderCanceledNtf) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *OrderCanceledNtf) GetGoodsID() uint32 {
	if x != nil && x.GoodsID != nil {
		return *x.GoodsID
	}
	return 0
}

func (x *OrderCanceledNtf) GetCancelQty() uint64 {
	if x != nil && x.CancelQty != nil {
		return *x.CancelQty
	}
	return 0
}

func (x *OrderCanceledNtf) GetOrderStatus() uint32 {
	if x != nil && x.OrderStatus != nil {
		return *x.OrderStatus
	}
	return 0
}

// 线下交收申请撤销接口请求
type OfflineDeliveryApplyCancelOrderReq struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`
	UserID          *uint32      `protobuf:"varint,2,opt,name=UserID" json:"UserID,omitempty"`                   // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,3,opt,name=AccountID" json:"AccountID,omitempty"`             // 交易账号，必填
	DeliveryOrderID *uint64      `protobuf:"varint,4,opt,name=DeliveryOrderID" json:"DeliveryOrderID,omitempty"` // 交收单号，必填
	ClientSerialNo  *string      `protobuf:"bytes,5,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`    // 客户端流水号
	ClientType      *uint32      `protobuf:"varint,6,opt,name=ClientType" json:"ClientType,omitempty"`           // 终端类型
}

func (x *OfflineDeliveryApplyCancelOrderReq) Reset() {
	*x = OfflineDeliveryApplyCancelOrderReq{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[125]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OfflineDeliveryApplyCancelOrderReq) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OfflineDeliveryApplyCancelOrderReq) ProtoMessage() {}

func (x *OfflineDeliveryApplyCancelOrderReq) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[125]
	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 OfflineDeliveryApplyCancelOrderReq.ProtoReflect.Descriptor instead.
func (*OfflineDeliveryApplyCancelOrderReq) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{125}
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetDeliveryOrderID() uint64 {
	if x != nil && x.DeliveryOrderID != nil {
		return *x.DeliveryOrderID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

func (x *OfflineDeliveryApplyCancelOrderReq) GetClientType() uint32 {
	if x != nil && x.ClientType != nil {
		return *x.ClientType
	}
	return 0
}

// 线下交收申请撤销接口响应
type OfflineDeliveryApplyCancelOrderRsp struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Header          *MessageHead `protobuf:"bytes,1,opt,name=Header" json:"Header,omitempty"`                    // 消息头
	RetCode         *int32       `protobuf:"varint,2,opt,name=RetCode" json:"RetCode,omitempty"`                 // 返回码
	RetDesc         *string      `protobuf:"bytes,3,opt,name=RetDesc" json:"RetDesc,omitempty"`                  // 描述信息
	DeliveryOrderID *uint64      `protobuf:"varint,4,opt,name=DeliveryOrderID" json:"DeliveryOrderID,omitempty"` // 交收单号，必填
	UserID          *uint32      `protobuf:"varint,5,opt,name=UserID" json:"UserID,omitempty"`                   // 用户ID，必填
	AccountID       *uint64      `protobuf:"varint,6,opt,name=AccountID" json:"AccountID,omitempty"`             // 交易账号，必填
	ClientSerialNo  *string      `protobuf:"bytes,7,opt,name=ClientSerialNo" json:"ClientSerialNo,omitempty"`    // 客户端流水号
}

func (x *OfflineDeliveryApplyCancelOrderRsp) Reset() {
	*x = OfflineDeliveryApplyCancelOrderRsp{}
	if protoimpl.UnsafeEnabled {
		mi := &file_mtp2_proto_msgTypes[126]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *OfflineDeliveryApplyCancelOrderRsp) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OfflineDeliveryApplyCancelOrderRsp) ProtoMessage() {}

func (x *OfflineDeliveryApplyCancelOrderRsp) ProtoReflect() protoreflect.Message {
	mi := &file_mtp2_proto_msgTypes[126]
	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 OfflineDeliveryApplyCancelOrderRsp.ProtoReflect.Descriptor instead.
func (*OfflineDeliveryApplyCancelOrderRsp) Descriptor() ([]byte, []int) {
	return file_mtp2_proto_rawDescGZIP(), []int{126}
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetHeader() *MessageHead {
	if x != nil {
		return x.Header
	}
	return nil
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetRetCode() int32 {
	if x != nil && x.RetCode != nil {
		return *x.RetCode
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetRetDesc() string {
	if x != nil && x.RetDesc != nil {
		return *x.RetDesc
	}
	return ""
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetDeliveryOrderID() uint64 {
	if x != nil && x.DeliveryOrderID != nil {
		return *x.DeliveryOrderID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetUserID() uint32 {
	if x != nil && x.UserID != nil {
		return *x.UserID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetAccountID() uint64 {
	if x != nil && x.AccountID != nil {
		return *x.AccountID
	}
	return 0
}

func (x *OfflineDeliveryApplyCancelOrderRsp) GetClientSerialNo() string {
	if x != nil && x.ClientSerialNo != nil {
		return *x.ClientSerialNo
	}
	return ""
}

var File_mtp2_proto protoreflect.FileDescriptor

var file_mtp2_proto_rawDesc = []byte{
	0x0a, 0x0a, 0x6d, 0x74, 0x70, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
	0x22, 0xc7, 0x02, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x12, 0x18, 0x0a, 0x07, 0x46, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x07, 0x46, 0x75, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04,
	0x55, 0x55, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x55, 0x55, 0x49, 0x44,
	0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x54, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0a, 0x4e,
	0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x74, 0x66,
	0x4d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4e, 0x74, 0x66, 0x4d,
	0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x63,
	0x63, 0x74, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x45, 0x78, 0x63,
	0x6c, 0x75, 0x64, 0x65, 0x41, 0x63, 0x63, 0x74, 0x49, 0x44, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45,
	0x78, 0x63, 0x68, 0x49, 0x44, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x45, 0x78,
	0x63, 0x68, 0x49, 0x44, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49,
	0x44, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
	0x49, 0x44, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x43, 0x68, 0x61,
	0x6e, 0x67, 0x65, 0x64, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48,
	0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c,
	0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x86, 0x03, 0x0a,
	0x0e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x24, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x51,
	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
	0x51, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x4c, 0x12, 0x24, 0x0a,
	0x0d, 0x52, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x52, 0x6c, 0x73, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x61, 0x72,
	0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x57, 0x61, 0x72, 0x65, 0x48, 0x6f, 0x75,
	0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f,
	0x57, 0x61, 0x72, 0x65, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12,
	0x20, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x54, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a,
	0x09, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x09, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4d,
	0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65,
	0x50, 0x4c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x6c,
	0x6f, 0x73, 0x65, 0x50, 0x4c, 0x22, 0xed, 0x06, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44,
	0x65, 0x61, 0x6c, 0x65, 0x64, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e,
	0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x51, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
	0x1c, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a,
	0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72,
	0x53, 0x65, 0x6c, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f,
	0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74,
	0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74,
	0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a,
	0x0a, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x43, 0x6c, 0x6f, 0x73,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x73, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x53, 0x70, 0x65, 0x63, 0x69,
	0x61, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x57,
	0x61, 0x72, 0x65, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x14,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x57, 0x61, 0x72, 0x65, 0x48, 0x6f, 0x75, 0x73, 0x65, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x61, 0x72,
	0x67, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x55, 0x73, 0x65, 0x64, 0x4d,
	0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x49, 0x44, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49,
	0x44, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x49,
	0x44, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x18, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x69,
	0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75,
	0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x6c, 0x6f, 0x73,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x15, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x74, 0x66, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62,
	0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x74,
	0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x53, 0x74,
	0x65, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44,
	0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44,
	0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x69,
	0x6d, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f,
	0x74, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x51,
	0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
	0x51, 0x74, 0x79, 0x22, 0x44, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x46, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xaf, 0x01, 0x0a, 0x0c, 0x4d, 0x6f,
	0x64, 0x69, 0x66, 0x79, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x77, 0x64,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4d, 0x6f, 0x64, 0x69,
	0x66, 0x79, 0x50, 0x77, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x6f, 0x64,
	0x69, 0x66, 0x79, 0x50, 0x77, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b,
	0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x77, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x4f,
	0x6c, 0x64, 0x50, 0x77, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x6c, 0x64,
	0x50, 0x77, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x65, 0x77, 0x50, 0x77, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x4e, 0x65, 0x77, 0x50, 0x77, 0x64, 0x22, 0x6b, 0x0a, 0x0c, 0x4d,
	0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x77, 0x64, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x22, 0xcd, 0x03, 0x0a, 0x12, 0x55, 0x73, 0x65,
	0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65,
	0x69, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07,
	0x43, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43,
	0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
	0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e,
	0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x44, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x44,
	0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x43, 0x69, 0x74, 0x79, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x43, 0x69, 0x74, 0x79, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x63, 0x74, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x44, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72,
	0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65,
	0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x6d, 0x61,
	0x72, 0x6b, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66,
	0x6f, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69,
	0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x22, 0x97, 0x01, 0x0a, 0x12, 0x55, 0x73, 0x65,
	0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d,
	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x49, 0x64, 0x22, 0x66, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49,
	0x6e, 0x66, 0x6f, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x52, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x15, 0x44, 0x65,
	0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f,
	0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x22, 0x72, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49,
	0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63,
	0x65, 0x69, 0x76, 0x65, 0x49, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x73, 0x70,
	0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61,
	0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a,
	0x06, 0x41, 0x75, 0x74, 0x6f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x41,
	0x75, 0x74, 0x6f, 0x49, 0x64, 0x22, 0xb3, 0x03, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
	0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
	0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x61, 0x78, 0x70, 0x61, 0x79, 0x65, 0x72, 0x49,
	0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x54, 0x61, 0x78, 0x70, 0x61, 0x79, 0x65,
	0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e,
	0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63,
	0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74,
	0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x52, 0x65,
	0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x26, 0x0a,
	0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x49, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x97, 0x01, 0x0a, 0x12,
	0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12,
	0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x49, 0x64, 0x22, 0x66, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72,
	0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x27,
	0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69,
	0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d,
	0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x64, 0x22, 0x74, 0x0a,
	0x15, 0x44, 0x65, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x49,
	0x6e, 0x66, 0x6f, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44,
	0x65, 0x73, 0x63, 0x22, 0xac, 0x09, 0x0a, 0x0e, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x53,
	0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x24, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
	0x18, 0x02, 0x20, 0x02, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a,
	0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45,
	0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x09,
	0x52, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a,
	0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x02,
	0x28, 0x09, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x1c, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x18, 0x08, 0x20, 0x02,
	0x28, 0x09, 0x52, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x12, 0x20, 0x0a,
	0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x02,
	0x28, 0x05, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x49, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x05,
	0x52, 0x07, 0x49, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x6e, 0x42,
	0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0d,
	0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x36, 0x0a,
	0x16, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x46,
	0x6f, 0x72, 0x63, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x12, 0x3a, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x69,
	0x67, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x69,
	0x67, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x4e, 0x6f, 0x18, 0x10, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x61, 0x6e, 0x6b, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0f, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x12, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d,
	0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x6f, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x4e,
	0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e,
	0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x15, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x65, 0x72, 0x74, 0x49, 0x44, 0x18, 0x16, 0x20, 0x02, 0x28,
	0x09, 0x52, 0x06, 0x43, 0x65, 0x72, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x6e,
	0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x57, 0x44, 0x18, 0x17, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x57,
	0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x18,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x65,
	0x72, 0x74, 0x49, 0x44, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x67, 0x65, 0x6e,
	0x74, 0x43, 0x65, 0x72, 0x74, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x42, 0x61, 0x6e, 0x6b, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0f, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63,
	0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x69, 0x74,
	0x79, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x69, 0x74,
	0x79, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x72,
	0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50,
	0x68, 0x6f, 0x6e, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4d, 0x6f, 0x62, 0x69,
	0x6c, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x64, 0x65, 0x6e, 0x74,
	0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65,
	0x6d, 0x61, 0x69, 0x6c, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69,
	0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
	0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e,
	0x66, 0x6f, 0x22, 0xd5, 0x04, 0x0a, 0x0e, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x53, 0x69,
	0x67, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44,
	0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65,
	0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x65, 0x74,
	0x41, 0x64, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a,
	0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x08, 0x20, 0x02, 0x28, 0x09,
	0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78,
	0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74,
	0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61,
	0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b,
	0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72,
	0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72,
	0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43,
	0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c,
	0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67,
	0x12, 0x22, 0x0a, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c,
	0x64, 0x41, 0x63, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x62, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c,
	0x64, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
	0x62, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x16, 0x0a, 0x06, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x61, 0x6e, 0x6b,
	0x41, 0x63, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x61,
	0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x42, 0x61, 0x6e, 0x6b,
	0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x42,
	0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x81, 0x03, 0x0a, 0x14, 0x74,
	0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x69, 0x67, 0x6e,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d,
	0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x02, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52,
	0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x18, 0x05, 0x20, 0x02, 0x28, 0x09, 0x52,
	0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73,
	0x46, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x02, 0x28, 0x05, 0x52, 0x07, 0x49, 0x73, 0x46,
	0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79,
	0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x22,
	0x0a, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41,
	0x63, 0x63, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41,
	0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x61,
	0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb1,
	0x03, 0x0a, 0x14, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
	0x53, 0x69, 0x67, 0x6e, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e,
	0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e,
	0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x08, 0x20, 0x02,
	0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
	0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44,
	0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69,
	0x63, 0x6b, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74,
	0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x65, 0x6e, 0x74,
	0x65, 0x72, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22,
	0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d,
	0x73, 0x67, 0x22, 0xde, 0x05, 0x0a, 0x12, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x57, 0x69,
	0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x02, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68,
	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64,
	0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44,
	0x12, 0x1a, 0x0a, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x02,
	0x28, 0x09, 0x52, 0x08, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a,
	0x0a, 0x10, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68,
	0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61,
	0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68,
	0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26,
	0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x64,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64,
	0x42, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x42,
	0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e,
	0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x74,
	0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d,
	0x20, 0x02, 0x28, 0x01, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b,
	0x41, 0x70, 0x70, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x41, 0x70, 0x70, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x4f, 0x6c, 0x64, 0x54, 0x61, 0x50, 0x57, 0x44, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x4f, 0x6c, 0x64, 0x54, 0x61, 0x50, 0x57, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x65,
	0x73, 0x63, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x65, 0x73, 0x63, 0x12, 0x22,
	0x0a, 0x0c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x11,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x42, 0x61, 0x6e, 0x6b,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x42, 0x72, 0x61, 0x6e,
	0x63, 0x68, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78,
	0x74, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d,
	0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65,
	0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63,
	0x6b, 0x65, 0x74, 0x22, 0xb7, 0x03, 0x0a, 0x12, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x57,
	0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d,
	0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a,
	0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69, 0x63,
	0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54,
	0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a,
	0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43,
	0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12,
	0x24, 0x0a, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72,
	0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45,
	0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e,
	0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x65, 0x72,
	0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0f, 0x43, 0x65, 0x72, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44,
	0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x22, 0xf7, 0x04,
	0x0a, 0x11, 0x74, 0x32, 0x62, 0x42, 0x61, 0x6e, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d,
	0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x02, 0x28, 0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44, 0x18,
	0x03, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x43, 0x75, 0x73, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x54, 0x69,
	0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68,
	0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x75, 0x73, 0x69,
	0x6e, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x42, 0x75,
	0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x6f, 0x12, 0x2a, 0x0a, 0x10, 0x42, 0x61, 0x6e, 0x6b,
	0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x10, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c,
	0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x14, 0x42, 0x61, 0x6e, 0x6b, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x6c, 0x64, 0x54,
	0x61, 0x50, 0x57, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x6c, 0x64, 0x54,
	0x61, 0x50, 0x57, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c,
	0x20, 0x02, 0x28, 0x01, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08,
	0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x02, 0x28, 0x09, 0x52, 0x08,
	0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61,
	0x72, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
	0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x6e, 0x6b,
	0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x61,
	0x72, 0x64, 0x42, 0x61, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x42, 0x61, 0x6e, 0x6b,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x26,
	0x0a, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x42, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64,
	0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74,
	0x65, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb6, 0x03, 0x0a, 0x11, 0x74, 0x32, 0x62, 0x42,
	0x61, 0x6e, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78,
	0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0d, 0x45, 0x78, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x63, 0x68,
	0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x06, 0x20, 0x02, 0x28, 0x09, 0x52, 0x0a, 0x45, 0x78,
	0x63, 0x68, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x63, 0x68,
	0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x45, 0x78, 0x63, 0x68, 0x49, 0x64,
	0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22,
	0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b,
	0x65, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x43, 0x65, 0x6e, 0x74, 0x65,
	0x72, 0x45, 0x72, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x65, 0x6e, 0x74,
	0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x28, 0x0a, 0x0f,
	0x43, 0x65, 0x72, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x44, 0x61, 0x74, 0x65, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x65, 0x72, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65,
	0x63, 0x6b, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64,
	0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4e, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72,
	0x22, 0xa2, 0x01, 0x0a, 0x08, 0x57, 0x52, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x52,
	0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e, 0x0a,
	0x0a, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x0a, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x44, 0x12, 0x18, 0x0a,
	0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x22, 0xb0, 0x03, 0x0a, 0x11, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f,
	0x75, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x12, 0x20, 0x0a, 0x0b, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x69, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65,
	0x69, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x63,
	0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x65, 0x68,
	0x6f, 0x75, 0x73, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x65,
	0x68, 0x6f, 0x75, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0d, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24,
	0x0a, 0x0d, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
	0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x6e,
	0x63, 0x65, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x69, 0x74, 0x79, 0x69, 0x64, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, 0x69, 0x74, 0x79, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
	0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07,
	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63,
	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
	0x74, 0x61, 0x63, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f,
	0x6e, 0x74, 0x61, 0x63, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0x92, 0x01, 0x0a, 0x11, 0x57, 0x61, 0x72,
	0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27,
	0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x77,
	0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0b, 0x77, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x69, 0x64, 0x22, 0xf6, 0x01,
	0x0a, 0x1d, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e,
	0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x66,
	0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
	0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x42, 0x72, 0x65, 0x61, 0x63, 0x68,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x42, 0x72, 0x65, 0x61,
	0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63,
	0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x69,
	0x63, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d,
	0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68,
	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x41, 0x74, 0x74, 0x61,
	0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x50, 0x65, 0x72, 0x66, 0x6f,
	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65, 0x64,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61,
	0x6e, 0x49, 0x44, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71,
	0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61,
	0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72,
	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70,
	0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x49, 0x44, 0x12,
	0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x64, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x64, 0x61, 0x79, 0x73, 0x12, 0x1c, 0x0a,
	0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x61,
	0x70, 0x70, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xcb, 0x01,
	0x0a, 0x18, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x65, 0x6c,
	0x61, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f,
	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x49, 0x44,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a,
	0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x22, 0xc2, 0x02, 0x0a, 0x1b,
	0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x75, 0x61,
	0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
	0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65, 0x70, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x4f, 0x76,
	0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x0f, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x16, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x69, 0x64, 0x65, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
	0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x69, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0c,
	0x4f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x0c, 0x4f, 0x76, 0x65, 0x72, 0x53, 0x68, 0x6f, 0x72, 0x74, 0x51, 0x74, 0x79,
	0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x65, 0x65,
	0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65,
	0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x73, 0x70,
	0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61,
	0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x34, 0x0a,
	0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e,
	0x53, 0x74, 0x65, 0x70, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x50, 0x65,
	0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x74, 0x65,
	0x70, 0x49, 0x44, 0x22, 0xb4, 0x01, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11,
	0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d,
	0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43,
	0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xc6, 0x01, 0x0a, 0x1b, 0x50,
	0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
	0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f,
	0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50,
	0x6c, 0x61, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x22, 0xd2, 0x02, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x5a, 0x53, 0x47, 0x6f, 0x6f,
	0x64, 0x73, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44,
	0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74,
	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
	0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79,
	0x70, 0x65, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69,
	0x6c, 0x6c, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69,
	0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e,
	0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x88, 0x02, 0x0a, 0x17, 0x47, 0x6f, 0x6f,
	0x64, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57,
	0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a,
	0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x17, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x46, 0x61, 0x76,
	0x6f, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xc2, 0x05, 0x0a, 0x16, 0x47, 0x5a, 0x42, 0x75, 0x79, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12,
	0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x5a, 0x53, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x5a, 0x53, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x43, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x5a,
	0x53, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a,
	0x0b, 0x5a, 0x53, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x03,
	0x28, 0x0d, 0x52, 0x0b, 0x5a, 0x53, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x20, 0x0a, 0x0b, 0x5a, 0x53, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x5a, 0x53, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x24, 0x0a, 0x0d, 0x5a, 0x53, 0x43, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x5a, 0x53, 0x43, 0x6c, 0x61, 0x72,
	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x5a, 0x53, 0x43, 0x75, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x5a, 0x53, 0x43, 0x75,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x53, 0x79, 0x6d, 0x6d, 0x65,
	0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x5a,
	0x53, 0x53, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a,
	0x0c, 0x5a, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x0d, 0x52, 0x0c, 0x5a, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x2e, 0x0a, 0x12, 0x5a, 0x53, 0x46, 0x6c, 0x75, 0x6f, 0x72, 0x65, 0x73, 0x63, 0x65,
	0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x12, 0x5a,
	0x53, 0x46, 0x6c, 0x75, 0x6f, 0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x01, 0x52,
	0x04, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x5a, 0x53, 0x43, 0x72, 0x79, 0x73, 0x74,
	0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x5a, 0x53,
	0x43, 0x72, 0x79, 0x73, 0x74, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f,
	0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x72, 0x69,
	0x67, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x5a, 0x53, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x5a, 0x53, 0x53, 0x74, 0x79, 0x6c,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c,
	0x6f, 0x72, 0x31, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x5a,
	0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x31, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a,
	0x0e, 0x5a, 0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x32, 0x54, 0x79, 0x70, 0x65, 0x18,
	0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x5a, 0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
	0x32, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c,
	0x6f, 0x72, 0x33, 0x54, 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x5a,
	0x53, 0x43, 0x5a, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x33, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75,
	0x73, 0x65, 0x49, 0x44, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x61, 0x72,
	0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x73, 0x22, 0xaa, 0x03, 0x0a, 0x14, 0x5a, 0x53,
	0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52,
	0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x12, 0x53, 0x0a, 0x17, 0x47, 0x5a, 0x5f, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x5a, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x16,
	0x47, 0x5a, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x45, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
	0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x53, 0x72, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x53, 0x72, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26,
	0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x14, 0x5a, 0x53, 0x42, 0x75, 0x79,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72,
	0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x22, 0xbe, 0x04, 0x0a, 0x15, 0x5a, 0x53, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53,
	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x26, 0x0a,
	0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54,
	0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74,
	0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74,
	0x79, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49,
	0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42,
	0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x34, 0x0a,
	0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70,
	0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x50, 0x65,
	0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
	0x65, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x61, 0x6c,
	0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x56, 0x61,
	0x6c, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x53, 0x72, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x53, 0x72, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72,
	0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49,
	0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49,
	0x44, 0x22, 0xb6, 0x02, 0x0a, 0x15, 0x5a, 0x53, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65,
	0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a,
	0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x91, 0x03, 0x0a, 0x14, 0x5a,
	0x53, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x12, 0x34, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x51, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x22, 0xf1,
	0x02, 0x0a, 0x14, 0x5a, 0x53, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73,
	0x74, 0x69, 0x6e, 0x67, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x34, 0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x46, 0x72, 0x65, 0x65,
	0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c,
	0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x22, 0xf3, 0x03, 0x0a, 0x1a, 0x5a, 0x53, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65,
	0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x12, 0x2c, 0x0a, 0x11, 0x42, 0x75, 0x79, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x42, 0x75, 0x79,
	0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22,
	0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
	0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79,
	0x70, 0x65, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x41, 0x70, 0x70, 0x6c,
	0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67,
	0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61,
	0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75,
	0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e,
	0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x72,
	0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65,
	0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x22, 0xf1, 0x01, 0x0a, 0x1a, 0x5a, 0x53, 0x53,
	0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x70, 0x70,
	0x6c, 0x79, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xfa, 0x02, 0x0a,
	0x21, 0x5a, 0x53, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74,
	0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52,
	0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69,
	0x6e, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x14, 0x53, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65,
	0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69,
	0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72,
	0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72,
	0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xfc, 0x02, 0x0a, 0x21, 0x5a, 0x53,
	0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x12, 0x32, 0x0a, 0x14, 0x53, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74,
	0x69, 0x6e, 0x67, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x14, 0x53, 0x65, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
	0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22,
	0x0a, 0x0c, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75,
	0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xcd, 0x03, 0x0a, 0x1c, 0x5a, 0x53, 0x42,
	0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x65,
	0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x6c, 0x61,
	0x74, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x0a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54,
	0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x70, 0x70,
	0x6c, 0x79, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0xc1, 0x02, 0x0a, 0x1c, 0x5a, 0x53, 0x42,
	0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x65,
	0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c,
	0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69,
	0x6e, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72,
	0x67, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54,
	0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xea, 0x02, 0x0a,
	0x23, 0x5a, 0x53, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69,
	0x6e, 0x67, 0x4e, 0x65, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e,
	0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72, 0x67,
	0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x52, 0x65,
	0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x75, 0x64, 0x69,
	0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72,
	0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72,
	0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x82, 0x02, 0x0a, 0x23, 0x5a, 0x53,
	0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4e,
	0x65, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x73,
	0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16,
	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69,
	0x6e, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x57, 0x52, 0x42, 0x61, 0x72,
	0x67, 0x61, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x86,
	0x03, 0x0a, 0x17, 0x57, 0x52, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x63,
	0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x6c, 0x64,
	0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x4f, 0x6c, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x53, 0x72, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x53, 0x72, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72,
	0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65,
	0x6c, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53,
	0x65, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x57, 0x52, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x04, 0x57, 0x52, 0x49, 0x44, 0x22, 0xe8, 0x02, 0x0a, 0x17, 0x57, 0x52, 0x4c, 0x69,
	0x73, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x12, 0x28, 0x0a, 0x0f, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65,
	0x6c, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x57, 0x52, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x4f, 0x6c,
	0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x4f, 0x6c, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1c,
	0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x22, 0x97, 0x06, 0x0a, 0x14, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x5a, 0x53,
	0x4f, 0x75, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x52, 0x43, 0x6f, 0x6d, 0x6d,
	0x6f, 0x6e, 0x52, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
	0x72, 0x64, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73,
	0x65, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x57, 0x61, 0x72, 0x65, 0x68,
	0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x28,
	0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74,
	0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x10, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4d,
	0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49,
	0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79,
	0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x44,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65,
	0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x44,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74,
	0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x69, 0x74, 0x79, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x06, 0x43, 0x69, 0x74, 0x79, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64,
	0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61,
	0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63,
	0x74, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x74,
	0x61, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x2c, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e,
	0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x11, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x6d, 0x61, 0x72, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69,
	0x6c, 0x6c, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69,
	0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e,
	0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d,
	0x12, 0x10, 0x0a, 0x03, 0x51, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x51,
	0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x15, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xd7, 0x01, 0x0a,
	0x14, 0x52, 0x65, 0x63, 0x65, 0x69, 0x70, 0x74, 0x5a, 0x53, 0x4f, 0x75, 0x74, 0x41, 0x70, 0x70,
	0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44,
	0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x12, 0x24, 0x0a, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x52, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x52, 0x06, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c,
	0x79, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b,
	0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x5d, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x44,
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01,
	0x52, 0x0b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a,
	0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x92, 0x03, 0x0a, 0x1a, 0x53, 0x70, 0x6f, 0x74, 0x50, 0x72,
	0x65, 0x73, 0x61, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
	0x64, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61,
	0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x61, 0x72, 0x65, 0x68,
	0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x57, 0x61,
	0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x51, 0x74, 0x79,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x51, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x45,
	0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e,
	0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e,
	0x70, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09,
	0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x1a, 0x53,
	0x70, 0x6f, 0x74, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e,
	0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c,
	0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
	0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x68,
	0x0a, 0x13, 0x54, 0x48, 0x4a, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61,
	0x64, 0x65, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x28,
	0x0a, 0x0f, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x44, 0x22, 0x5e, 0x0a, 0x13, 0x50, 0x75, 0x72, 0x63,
	0x68, 0x61, 0x73, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x4e, 0x74, 0x66, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e,
	0x73, 0x66, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x54, 0x72,
	0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x44, 0x22, 0xad, 0x06, 0x0a, 0x10, 0x57, 0x52, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x44, 0x65, 0x61, 0x6c, 0x65, 0x64, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e,
	0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x4c, 0x69,
	0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10,
	0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e,
	0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51, 0x74,
	0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x51,
	0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x51,
	0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x72,
	0x61, 0x64, 0x65, 0x51, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49,
	0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44,
	0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x42, 0x75, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x53, 0x65, 0x6c,
	0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x72,
	0x61, 0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72,
	0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54,
	0x72, 0x61, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x46, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44,
	0x12, 0x2a, 0x0a, 0x10, 0x57, 0x52, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x57, 0x52, 0x54, 0x72,
	0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11,
	0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x46,
	0x69, 0x72, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x55, 0x6e,
	0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x55, 0x6e, 0x46, 0x72, 0x65, 0x65, 0x7a,
	0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f,
	0x52, 0x65, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18,
	0x11, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x52, 0x65, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x01, 0x52, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61,
	0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x44, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x11, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e,
	0x49, 0x44, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
	0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65,
	0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x22, 0xb9, 0x02, 0x0a, 0x14, 0x43, 0x4a, 0x4a,
	0x43, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65,
	0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x14, 0x43, 0x4a, 0x4a, 0x43, 0x4d, 0x65, 0x6d,
	0x62, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xbf, 0x03, 0x0a, 0x14, 0x42, 0x53, 0x46,
	0x57, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65,
	0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61,
	0x69, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x46,
	0x69, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0b, 0x46, 0x69, 0x6c, 0x65, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2a,
	0x0a, 0x10, 0x47, 0x5a, 0x42, 0x53, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x47, 0x5a, 0x42, 0x53, 0x44, 0x65,
	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x4f, 0x74,
	0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x73, 0x74, 0x69,
	0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xd1, 0x01, 0x0a, 0x14, 0x42,
	0x53, 0x46, 0x57, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65,
	0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x99,
	0x01, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x49, 0x6e,
	0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42,
	0x69, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x51, 0x75,
	0x65, 0x72, 0x79, 0x42, 0x69, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xa9, 0x02, 0x0a, 0x12, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x73,
	0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18,
	0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
	0x62, 0x6c, 0x65, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x0f, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e,
	0x12, 0x2c, 0x0a, 0x11, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x75, 0x74,
	0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x41, 0x76, 0x61,
	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x75, 0x74, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x26,
	0x0a, 0x0e, 0x49, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x49, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc4, 0x07, 0x0a, 0x11, 0x47, 0x5a, 0x50, 0x72, 0x65,
	0x73, 0x61, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x53, 0x65,
	0x6c, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57,
	0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x51, 0x74,
	0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65,
	0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x51, 0x74, 0x79,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4d, 0x69, 0x6e, 0x42, 0x75, 0x79, 0x51, 0x74,
	0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x79, 0x51, 0x74, 0x79, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x79, 0x51, 0x74, 0x79, 0x12,
	0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x51, 0x74, 0x79,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x69,
	0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x55, 0x6e, 0x69, 0x74, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74,
	0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x42,
	0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x42,
	0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x0e, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e,
	0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54,
	0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x59, 0x53, 0x5a, 0x53, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x59, 0x53, 0x5a,
	0x53, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x43,
	0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x5a, 0x53, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74,
	0x72, 0x12, 0x2a, 0x0a, 0x10, 0x5a, 0x53, 0x43, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79,
	0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x5a, 0x53, 0x43,
	0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a,
	0x07, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x59, 0x69, 0x65, 0x6c, 0x64,
	0x52, 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x59, 0x69, 0x65, 0x6c,
	0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x51, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63,
	0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x51, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x12,
	0x1e, 0x0a, 0x0a, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x16, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0a, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12,
	0x2a, 0x0a, 0x10, 0x59, 0x53, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
	0x6f, 0x64, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x59, 0x53, 0x50, 0x72, 0x6f,
	0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50,
	0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x16, 0x0a,
	0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
	0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xe0, 0x01,
	0x0a, 0x11, 0x47, 0x5a, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c,
	0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x22, 0xc4, 0x02, 0x0a, 0x11, 0x47, 0x5a, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57,
	0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72,
	0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
	0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e,
	0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
	0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xf6, 0x01, 0x0a, 0x11, 0x47, 0x5a, 0x50, 0x72,
	0x65, 0x73, 0x61, 0x6c, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x22, 0x61, 0x0a, 0x19, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x75, 0x72, 0x63,
	0x68, 0x61, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a,
	0x09, 0x53, 0x74, 0x65, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x09, 0x53, 0x74, 0x65, 0x70, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x51,
	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x51, 0x74, 0x79, 0x12, 0x14, 0x0a,
	0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x22, 0xe6, 0x09, 0x0a, 0x18, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72,
	0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x71,
	0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61,
	0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x6c,
	0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53,
	0x65, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x6c,
	0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0d, 0x53, 0x65, 0x6c, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12,
	0x26, 0x0a, 0x0e, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64,
	0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x73, 0x61,
	0x6c, 0x65, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x50, 0x72, 0x65,
	0x73, 0x61, 0x6c, 0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x69, 0x6e, 0x42, 0x75,
	0x79, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4d, 0x69, 0x6e, 0x42,
	0x75, 0x79, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x79, 0x51,
	0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x4d, 0x61, 0x78, 0x42, 0x75, 0x79,
	0x51, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x51, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x4d, 0x69, 0x6e, 0x53,
	0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61,
	0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61,
	0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74,
	0x65, 0x12, 0x2e, 0x0a, 0x12, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c,
	0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x42,
	0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
	0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x75, 0x79, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x42, 0x75, 0x79, 0x4d, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x50, 0x65, 0x72,
	0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
	0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72,
	0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x12,
	0x5d, 0x0a, 0x1a, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x75, 0x72, 0x63, 0x68,
	0x61, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x0e, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65,
	0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x1a, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x75, 0x72, 0x63,
	0x68, 0x61, 0x73, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a,
	0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x59, 0x53,
	0x5a, 0x53, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0c, 0x59, 0x53, 0x5a, 0x53, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x26,
	0x0a, 0x0e, 0x5a, 0x53, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x5a, 0x53, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x5a, 0x53, 0x43, 0x6f, 0x6c, 0x6f,
	0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x5a, 0x53, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2a,
	0x0a, 0x10, 0x5a, 0x53, 0x43, 0x6c, 0x61, 0x72, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53,
	0x74, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x5a, 0x53, 0x43, 0x6c, 0x61, 0x72,
	0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x5a, 0x53,
	0x43, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x5a, 0x53, 0x43, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x2c,
	0x0a, 0x11, 0x5a, 0x53, 0x53, 0x79, 0x6d, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65,
	0x53, 0x74, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x5a, 0x53, 0x53, 0x79, 0x6d,
	0x6d, 0x65, 0x74, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x28, 0x0a, 0x0f,
	0x5a, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x73, 0x68, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18,
	0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x5a, 0x53, 0x50, 0x6f, 0x6c, 0x69, 0x73, 0x68, 0x54,
	0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x5a, 0x53, 0x46, 0x6c, 0x75, 0x6f,
	0x72, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x18,
	0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x5a, 0x53, 0x46, 0x6c, 0x75, 0x6f, 0x72, 0x65, 0x73,
	0x63, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53,
	0x69, 0x7a, 0x65, 0x53, 0x74, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x59, 0x69, 0x65, 0x6c, 0x64, 0x52,
	0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x59, 0x69, 0x65, 0x6c, 0x64,
	0x52, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x51, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x51, 0x74, 0x79, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e,
	0x0a, 0x0a, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x1b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x2a,
	0x0a, 0x10, 0x59, 0x53, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
	0x64, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x59, 0x53, 0x50, 0x72, 0x6f, 0x64,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x69,
	0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0b, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06,
	0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65,
	0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xe7, 0x01, 0x0a,
	0x18, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73,
	0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x6c, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x65, 0x6c, 0x6c,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x61, 0x6c,
	0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
	0x50, 0x72, 0x65, 0x73, 0x61, 0x6c, 0x65, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xcb, 0x02, 0x0a, 0x18, 0x47, 0x5a, 0x43, 0x65, 0x6e,
	0x74, 0x65, 0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72,
	0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74,
	0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xfd, 0x01, 0x0a, 0x18, 0x47, 0x5a, 0x43, 0x65, 0x6e, 0x74, 0x65,
	0x72, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73,
	0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16,
	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x11, 0x42, 0x53, 0x57, 0x4d, 0x53, 0x52, 0x65,
	0x63, 0x6b, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53,
	0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xca, 0x01,
	0x0a, 0x11, 0x42, 0x53, 0x57, 0x4d, 0x53, 0x52, 0x65, 0x63, 0x6b, 0x6f, 0x6e, 0x50, 0x61, 0x79,
	0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73,
	0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xa7, 0x01, 0x0a, 0x0b, 0x57,
	0x52, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f,
	0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f,
	0x64, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x46, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x76,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f,
	0x76, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x61, 0x74, 0x69,
	0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52,
	0x61, 0x74, 0x69, 0x6f, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x44, 0x47, 0x46, 0x61, 0x63, 0x74, 0x6f,
	0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x44, 0x47, 0x46, 0x61, 0x63,
	0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x44, 0x47, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x49,
	0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x47, 0x46,
	0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0f, 0x44, 0x47, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65,
	0x6d, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x4d,
	0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x54,
	0x79, 0x70, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xf0, 0x0b, 0x0a, 0x0c, 0x48, 0x64, 0x57, 0x52,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42,
	0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61,
	0x74, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44,
	0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x57,
	0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70,
	0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20,
	0x02, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x02, 0x28, 0x04, 0x52, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x53,
	0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b,
	0x49, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4d,
	0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x49, 0x44, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x04,
	0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x49, 0x44, 0x73, 0x12, 0x1a, 0x0a,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x02, 0x28, 0x04, 0x52,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c,
	0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x02,
	0x28, 0x0d, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64,
	0x73, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x52, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x57, 0x52, 0x50, 0x72, 0x69, 0x63,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x46, 0x69, 0x78, 0x65, 0x64,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x47, 0x6f, 0x6f, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x57, 0x52, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x57, 0x52,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72,
	0x69, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09,
	0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x69,
	0x6d, 0x65, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x13, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x0a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x34,
	0x0a, 0x15, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d,
	0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x50,
	0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61,
	0x74, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
	0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18,
	0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c,
	0x12, 0x2a, 0x0a, 0x10, 0x50, 0x72, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79,
	0x4d, 0x6f, 0x64, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x50, 0x72, 0x69, 0x63,
	0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x43, 0x61, 0x6e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x43, 0x61, 0x6e, 0x42, 0x61, 0x72, 0x67, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b,
	0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x31, 0x18, 0x1d, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x31, 0x12, 0x20,
	0x0a, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x18, 0x1e, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x32,
	0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c,
	0x79, 0x49, 0x44, 0x18, 0x20, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x18, 0x21, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x07, 0x43, 0x61, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x11,
	0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63, 0x63, 0x49, 0x44, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x41, 0x63,
	0x63, 0x49, 0x44, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65,
	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
	0x12, 0x14, 0x0a, 0x05, 0x48, 0x61, 0x73, 0x57, 0x72, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x05, 0x48, 0x61, 0x73, 0x57, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e,
	0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x57, 0x52,
	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x36, 0x0a, 0x0c, 0x46, 0x61,
	0x63, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x47, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x49,
	0x74, 0x65, 0x6d, 0x73, 0x52, 0x0c, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65,
	0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x69, 0x6e, 0x51,
	0x74, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74,
	0x4d, 0x69, 0x6e, 0x51, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e,
	0x46, 0x6c, 0x61, 0x67, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4d, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e,
	0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x0f, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
	0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x2a, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x4d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x56, 0x61, 0x6c,
	0x75, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x6c, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73,
	0x46, 0x6c, 0x61, 0x67, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x41, 0x6c, 0x6c, 0x46,
	0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x22, 0xad, 0x02, 0x0a, 0x0c, 0x48,
	0x64, 0x57, 0x52, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65,
	0x51, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x46, 0x72, 0x65, 0x65, 0x7a,
	0x65, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x75, 0x0a, 0x0d, 0x57, 0x52,
	0x4f, 0x75, 0x74, 0x49, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x4c,
	0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12,
	0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x51, 0x74, 0x79, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x51, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x75, 0x74,
	0x51, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x4f, 0x75, 0x74, 0x51, 0x74,
	0x79, 0x22, 0xa3, 0x05, 0x0a, 0x0d, 0x57, 0x52, 0x4f, 0x75, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x57, 0x52, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
	0x72, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x57, 0x52, 0x53, 0x74,
	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x61, 0x72, 0x65,
	0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x57,
	0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x06, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6f,
	0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61,
	0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e,
	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x41, 0x70,
	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c,
	0x0a, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a,
	0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0a, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a,
	0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06,
	0x43, 0x69, 0x74, 0x79, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x43, 0x69,
	0x74, 0x79, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20,
	0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x10,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4e, 0x75, 0x6d,
	0x12, 0x2c, 0x0a, 0x11, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x41, 0x70, 0x70,
	0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c,
	0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x39, 0x0a, 0x0e,
	0x57, 0x52, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x13,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x57, 0x52, 0x4f, 0x75, 0x74, 0x49,
	0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x57, 0x52, 0x4f, 0x75, 0x74, 0x49, 0x6e,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x0d, 0x57, 0x52, 0x4f, 0x75,
	0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x44, 0x22, 0xcb,
	0x09, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49,
	0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18,
	0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b,
	0x65, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63,
	0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x0c,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44,
	0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65,
	0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x75, 0x62,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4d, 0x61,
	0x78, 0x53, 0x75, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79,
	0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79,
	0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x1c,
	0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x75, 0x72, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x12,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x43, 0x75, 0x72, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x50,
	0x72, 0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18,
	0x13, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x53, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x53, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x07, 0x53, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x63,
	0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x50, 0x72, 0x69,
	0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x54,
	0x69, 0x6d, 0x65, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b,
	0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22,
	0x0a, 0x0c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x18,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x50, 0x72, 0x69,
	0x63, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c,
	0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x4c,
	0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70,
	0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x69,
	0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65,
	0x64, 0x49, 0x44, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x52, 0x65, 0x6c, 0x61, 0x74,
	0x65, 0x64, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
	0x70, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x18,
	0x1d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x50, 0x72, 0x65, 0x6d, 0x69, 0x75, 0x6d, 0x12, 0x28,
	0x0a, 0x0f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f,
	0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6f,
	0x75, 0x70, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x18, 0x20, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x0c, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x12, 0x18,
	0x0a, 0x07, 0x55, 0x73, 0x65, 0x64, 0x51, 0x74, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x07, 0x55, 0x73, 0x65, 0x64, 0x51, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x56, 0x61, 0x6c,
	0x69, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76,
	0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x44, 0x18, 0x23, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x01, 0x52,
	0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x9f, 0x01, 0x0a,
	0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49,
	0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xc7,
	0x02, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65,
	0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e,
	0x0a, 0x0a, 0x4f, 0x6c, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0a, 0x4f, 0x6c, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c,
	0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0xaf, 0x01, 0x0a, 0x0e, 0x43, 0x61, 0x6e,
	0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68,
	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
	0x45, 0x78, 0x63, 0x68, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8d, 0x03, 0x0a, 0x0e, 0x48,
	0x6f, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f,
	0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f,
	0x64, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c,
	0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65,
	0x6c, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1a,
	0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x22, 0xa5, 0x01, 0x0a, 0x0e, 0x48,
	0x6f, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69,
	0x6d, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x51, 0x74, 0x79, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x51, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x42, 0x72,
	0x61, 0x6e, 0x64, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x42, 0x72, 0x61,
	0x6e, 0x64, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49,
	0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79,
	0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x49, 0x44,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
	0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75, 0x73, 0x65, 0x49,
	0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x57, 0x61, 0x72, 0x65, 0x68, 0x6f, 0x75,
	0x73, 0x65, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x44,
	0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x49, 0x44, 0x12, 0x28,
	0x0a, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
	0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
	0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x61, 0x6b, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x54, 0x61, 0x6b, 0x65,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69,
	0x6c, 0x6c, 0x49, 0x44, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69,
	0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e,
	0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d,
	0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65,
	0x49, 0x44, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74,
	0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x44, 0x22, 0x9a, 0x05, 0x0a, 0x10, 0x44, 0x65, 0x6c,
	0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x28,
	0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d,
	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x58, 0x47, 0x6f, 0x6f, 0x64, 0x73,
	0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x58, 0x47, 0x6f, 0x6f, 0x64, 0x73,
	0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x50, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1c,
	0x0a, 0x09, 0x50, 0x32, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x09, 0x50, 0x32, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f,
	0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18,
	0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x47,
	0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x58, 0x51, 0x74, 0x79, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x58, 0x51, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x51,
	0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x50, 0x51, 0x74, 0x79, 0x12, 0x14,
	0x0a, 0x05, 0x50, 0x32, 0x51, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x50,
	0x32, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x51, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76,
	0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x4f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x53, 0x72, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x53, 0x72, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
	0x6f, 0x72, 0x49, 0x44, 0x12, 0x49, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x13, 0x44, 0x65, 0x6c, 0x69,
	0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12,
	0x1a, 0x0a, 0x08, 0x54, 0x61, 0x6b, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x08, 0x54, 0x61, 0x6b, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x41, 0x64,
	0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x82, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
	0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12,
	0x4b, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e,
	0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x14, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x09,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x10, 0x4d,
	0x61, 0x6b, 0x65, 0x55, 0x70, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64,
	0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x22, 0xb1, 0x01, 0x0a, 0x10, 0x4d, 0x61, 0x6b, 0x65, 0x55, 0x70, 0x44, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44,
	0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65,
	0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x48, 0x6f, 0x6c, 0x64, 0x41, 0x70, 0x70,
	0x65, 0x6e, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x14, 0x48, 0x6f, 0x6c, 0x64, 0x41,
	0x70, 0x70, 0x65, 0x6e, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07,
	0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x47,
	0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xb3, 0x02, 0x0a,
	0x12, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75,
	0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42,
	0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x69,
	0x76, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x44,
	0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4c, 0x6f, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65,
	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0c, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22,
	0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b,
	0x65, 0x74, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65,
	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07,
	0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x41,
	0x70, 0x70, 0x6c, 0x79, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x74, 0x22, 0xdf, 0x05, 0x0a, 0x10, 0x48,
	0x64, 0x57, 0x52, 0x44, 0x65, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x34,
	0x0a, 0x15, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x52,
	0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x57, 0x52, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
	0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
	0x57, 0x52, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x72, 0x63, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54,
	0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a,
	0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75,
	0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42,
	0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x70, 0x70, 0x6c,
	0x79, 0x49, 0x44, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x41, 0x70, 0x70, 0x6c, 0x79,
	0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x69, 0x6c, 0x6c,
	0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x4c, 0x61, 0x64, 0x69, 0x6e, 0x67,
	0x42, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d,
	0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x53, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26,
	0x0a, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64,
	0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72,
	0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44,
	0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x54, 0x72, 0x61, 0x64, 0x65,
	0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x44, 0x65, 0x6c,
	0x69, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x48, 0x61,
	0x73, 0x57, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x48, 0x61, 0x73, 0x57, 0x72,
	0x12, 0x20, 0x0a, 0x0b, 0x49, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x18,
	0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x49, 0x73, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69,
	0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x49, 0x44, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x50, 0x72, 0x6f,
	0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x49, 0x44, 0x22, 0xed, 0x02, 0x0a,
	0x10, 0x48, 0x64, 0x57, 0x52, 0x44, 0x65, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73,
	0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16,
	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x57, 0x52,
	0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x34, 0x0a, 0x15,
	0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x52, 0x65, 0x6c,
	0x61, 0x74, 0x65, 0x64, 0x57, 0x52, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65, 0x41, 0x6d, 0x6f, 0x75,
	0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x46, 0x72, 0x65, 0x65, 0x7a, 0x65,
	0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54,
	0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72,
	0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xb9, 0x02, 0x0a,
	0x14, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73,
	0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f,
	0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79,
	0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c,
	0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44,
	0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c,
	0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x14, 0x53, 0x75, 0x70,
	0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x73,
	0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18,
	0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72,
	0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26,
	0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xb7, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x65, 0x64, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a,
	0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49,
	0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44,
	0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x16,
	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44,
	0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x52, 0x65,
	0x73, 0x74, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f,
	0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
	0x22, 0xe9, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x44, 0x65, 0x70,
	0x6f, 0x73, 0x69, 0x74, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44, 0x12, 0x16,
	0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
	0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65,
	0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x54, 0x0a, 0x16,
	0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x6f, 0x6c, 0x64, 0x44,
	0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49,
	0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x54, 0x72, 0x61, 0x64, 0x65, 0x49, 0x44,
	0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51, 0x74, 0x79, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x51,
	0x74, 0x79, 0x22, 0x42, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x1a,
	0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69,
	0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69,
	0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x22, 0xa0, 0x02, 0x0a, 0x1b, 0x4d, 0x61, 0x72, 0x6b, 0x65,
	0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x70,
	0x70, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53, 0x65,
	0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x53,
	0x65, 0x6c, 0x6c, 0x12, 0x3c, 0x0a, 0x0b, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69,
	0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x65, 0x74,
	0x61, 0x69, 0x6c, 0x73, 0x52, 0x0b, 0x48, 0x6f, 0x6c, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x73, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x1b, 0x4d, 0x61,
	0x72, 0x6b, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
	0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c,
	0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69,
	0x61, 0x6c, 0x4e, 0x6f, 0x22, 0x84, 0x04, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
	0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52,
	0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
	0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65,
	0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
	0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69,
	0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a,
	0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x50, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79,
	0x50, 0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x79, 0x41, 0x6d,
	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x50, 0x61, 0x79, 0x41,
	0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x41, 0x74, 0x74, 0x72,
	0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x79, 0x41,
	0x74, 0x74, 0x72, 0x73, 0x52, 0x07, 0x50, 0x61, 0x79, 0x41, 0x74, 0x74, 0x72, 0x12, 0x1e, 0x0a,
	0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x0a, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x44, 0x12, 0x28, 0x0a,
	0x0f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x4f, 0x70, 0x65, 0x72, 0x61,
	0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x4f,
	0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52,
	0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x6d,
	0x61, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72,
	0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x19,
	0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52,
	0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65,
	0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52,
	0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44,
	0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
	0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x22, 0xe1,
	0x03, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62,
	0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x1a,
	0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x57, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x57, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f,
	0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4c,
	0x6f, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x6e,
	0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x65, 0x50,
	0x68, 0x6f, 0x6e, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x55, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x47, 0x55, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69,
	0x6e, 0x49, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
	0x49, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74,
	0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f,
	0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18,
	0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65,
	0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
	0x43, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f,
	0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18,
	0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x70, 0x70,
	0x49, 0x44, 0x22, 0xe3, 0x04, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x73, 0x70, 0x12,
	0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64,
	0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43,
	0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x4c,
	0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55,
	0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x4c,
	0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, 0x4d, 0x65,
	0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0c, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1e,
	0x0a, 0x0a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x18, 0x09, 0x20, 0x03,
	0x28, 0x04, 0x52, 0x0a, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x73, 0x12, 0x14,
	0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54,
	0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x69,
	0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x48, 0x61, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x64, 0x50, 0x77, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x48, 0x61, 0x73,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x50, 0x77, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x77,
	0x64, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x0b, 0x50, 0x77, 0x64, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x43, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f,
	0x50, 0x77, 0x64, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6e, 0x74, 0x18,
	0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x50, 0x77, 0x64, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x4c,
	0x6f, 0x63, 0x6b, 0x43, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c,
	0x6f, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x6f, 0x75, 0x72, 0x4e,
	0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18,
	0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d,
	0x49, 0x6e, 0x66, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x43, 0x6c, 0x69, 0x65,
	0x6e, 0x74, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08,
	0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x44, 0x22, 0x71, 0x0a, 0x0e, 0x43, 0x75, 0x73, 0x74,
	0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44,
	0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49,
	0x44, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x04, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x22, 0x9c, 0x01, 0x0a, 0x09,
	0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d,
	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x05,
	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x6f, 0x6b,
	0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x70, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x70, 0x12, 0x1c, 0x0a, 0x09,
	0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x68, 0x0a, 0x09, 0x4c, 0x6f,
	0x67, 0x6f, 0x75, 0x74, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65,
	0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x52, 0x65, 0x74,
	0x44, 0x65, 0x73, 0x63, 0x22, 0x9e, 0x01, 0x0a, 0x0d, 0x50, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e,
	0x67, 0x65, 0x64, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x48, 0x65,
	0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1c, 0x0a,
	0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x47,
	0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f,
	0x6f, 0x64, 0x73, 0x49, 0x44, 0x22, 0x85, 0x02, 0x0a, 0x10, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43,
	0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x4e, 0x74, 0x66, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65,
	0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61,
	0x64, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
	0x66, 0x79, 0x48, 0x65, 0x61, 0x64, 0x52, 0x09, 0x4e, 0x74, 0x66, 0x48, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43,
	0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61,
	0x6c, 0x4e, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x44, 0x12, 0x1c, 0x0a,
	0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x51, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x51, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d,
	0x52, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf5, 0x01,
	0x0a, 0x22, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
	0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x52, 0x65, 0x71, 0x12, 0x27, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a,
	0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x55,
	0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x44, 0x65,
	0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a,
	0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72,
	0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54,
	0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x89, 0x02, 0x0a, 0x22, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e,
	0x65, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x43, 0x61,
	0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x73, 0x70, 0x12, 0x27, 0x0a, 0x06,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70,
	0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x52, 0x06, 0x48,
	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x52, 0x65, 0x74, 0x44, 0x65, 0x73, 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x44, 0x65, 0x6c,
	0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x04, 0x52, 0x0f, 0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65,
	0x72, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0d, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41,
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09,
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e,
	0x6f,
}

var (
	file_mtp2_proto_rawDescOnce sync.Once
	file_mtp2_proto_rawDescData = file_mtp2_proto_rawDesc
)

func file_mtp2_proto_rawDescGZIP() []byte {
	file_mtp2_proto_rawDescOnce.Do(func() {
		file_mtp2_proto_rawDescData = protoimpl.X.CompressGZIP(file_mtp2_proto_rawDescData)
	})
	return file_mtp2_proto_rawDescData
}

var file_mtp2_proto_msgTypes = make([]protoimpl.MessageInfo, 127)
var file_mtp2_proto_goTypes = []interface{}{
	(*MessageHead)(nil),                         // 0: pb.MessageHead
	(*NotifyHead)(nil),                          // 1: pb.NotifyHead
	(*MoneyChangedNtf)(nil),                     // 2: pb.MoneyChangedNtf
	(*ArrayCloseInfo)(nil),                      // 3: pb.ArrayCloseInfo
	(*OrderDealedNtf)(nil),                      // 4: pb.OrderDealedNtf
	(*MarketStatusChangeNtf)(nil),               // 5: pb.MarketStatusChangeNtf
	(*ListingOrderChangeNtf)(nil),               // 6: pb.ListingOrderChangeNtf
	(*FileDetail)(nil),                          // 7: pb.FileDetail
	(*ModifyPwdReq)(nil),                        // 8: pb.ModifyPwdReq
	(*ModifyPwdRsp)(nil),                        // 9: pb.ModifyPwdRsp
	(*UserReceiveInfoReq)(nil),                  // 10: pb.UserReceiveInfoReq
	(*UserReceiveInfoRsp)(nil),                  // 11: pb.UserReceiveInfoRsp
	(*DelUserReceiveInfoReq)(nil),               // 12: pb.DelUserReceiveInfoReq
	(*DelUserReceiveInfoRsp)(nil),               // 13: pb.DelUserReceiveInfoRsp
	(*UserReceiveIsDefaultReq)(nil),             // 14: pb.UserReceiveIsDefaultReq
	(*UserReceiveIsDefaultRsp)(nil),             // 15: pb.UserReceiveIsDefaultRsp
	(*UserReceiptInfoReq)(nil),                  // 16: pb.UserReceiptInfoReq
	(*UserReceiptInfoRsp)(nil),                  // 17: pb.UserReceiptInfoRsp
	(*DelUserReceiptInfoReq)(nil),               // 18: pb.DelUserReceiptInfoReq
	(*DelUserReceiptInfoRsp)(nil),               // 19: pb.DelUserReceiptInfoRsp
	(*T2BBankSignReq)(nil),                      // 20: pb.t2bBankSignReq
	(*T2BBankSignRsp)(nil),                      // 21: pb.t2bBankSignRsp
	(*T2BBankCancelSignReq)(nil),                // 22: pb.t2bBankCancelSignReq
	(*T2BBankCancelSignRsp)(nil),                // 23: pb.t2bBankCancelSignRsp
	(*T2BBankWithdrawReq)(nil),                  // 24: pb.t2bBankWithdrawReq
	(*T2BBankWithdrawRsp)(nil),                  // 25: pb.t2bBankWithdrawRsp
	(*T2BBankDepositReq)(nil),                   // 26: pb.t2bBankDepositReq
	(*T2BBankDepositRsp)(nil),                   // 27: pb.t2bBankDepositRsp
	(*WRCommon)(nil),                            // 28: pb.WRCommon
	(*WarehouseApplyReq)(nil),                   // 29: pb.WarehouseApplyReq
	(*WarehouseApplyRsp)(nil),                   // 30: pb.WarehouseApplyRsp
	(*PerformanceContractedApplyReq)(nil),       // 31: pb.PerformanceContractedApplyReq
	(*PerformanceContractedApplyRsp)(nil),       // 32: pb.PerformanceContractedApplyRsp
	(*PerformanceDelayApplyReq)(nil),            // 33: pb.PerformanceDelayApplyReq
	(*PerformanceDelayApplyRsp)(nil),            // 34: pb.PerformanceDelayApplyRsp
	(*PerformanceManualConfirmReq)(nil),         // 35: pb.PerformanceManualConfirmReq
	(*PerformanceManualConfirmRsp)(nil),         // 36: pb.PerformanceManualConfirmRsp
	(*PerformanceModifyContactReq)(nil),         // 37: pb.PerformanceModifyContactReq
	(*PerformanceModifyContactRsp)(nil),         // 38: pb.PerformanceModifyContactRsp
	(*AddZSGoodsRsp)(nil),                       // 39: pb.AddZSGoodsRsp
	(*GoodsFavoriteOperateReq)(nil),             // 40: pb.GoodsFavoriteOperateReq
	(*GoodsFavoriteOperateRsp)(nil),             // 41: pb.GoodsFavoriteOperateRsp
	(*GZBuyOrderDetailExInfo)(nil),              // 42: pb.GZBuyOrderDetailExInfo
	(*ZSBuyOrderListingReq)(nil),                // 43: pb.ZSBuyOrderListingReq
	(*ZSBuyOrderListingRsp)(nil),                // 44: pb.ZSBuyOrderListingRsp
	(*ZSSellOrderListingReq)(nil),               // 45: pb.ZSSellOrderListingReq
	(*ZSSellOrderListingRsp)(nil),               // 46: pb.ZSSellOrderListingRsp
	(*ZSBuyOrderDestingReq)(nil),                // 47: pb.ZSBuyOrderDestingReq
	(*ZSBuyOrderDestingRsp)(nil),                // 48: pb.ZSBuyOrderDestingRsp
	(*ZSSellOrderDestingApplyReq)(nil),          // 49: pb.ZSSellOrderDestingApplyReq
	(*ZSSellOrderDestingApplyRsp)(nil),          // 50: pb.ZSSellOrderDestingApplyRsp
	(*ZSSellOrderDestingApplyOperateReq)(nil),   // 51: pb.ZSSellOrderDestingApplyOperateReq
	(*ZSSellOrderDestingApplyOperateRsp)(nil),   // 52: pb.ZSSellOrderDestingApplyOperateRsp
	(*ZSBuyOrderDestingNegPriceReq)(nil),        // 53: pb.ZSBuyOrderDestingNegPriceReq
	(*ZSBuyOrderDestingNegPriceRsp)(nil),        // 54: pb.ZSBuyOrderDestingNegPriceRsp
	(*ZSBuyOrderDestingNegPriceOperateReq)(nil), // 55: pb.ZSBuyOrderDestingNegPriceOperateReq
	(*ZSBuyOrderDestingNegPriceOperateRsp)(nil), // 56: pb.ZSBuyOrderDestingNegPriceOperateRsp
	(*WRListingCancelOrderReq)(nil),             // 57: pb.WRListingCancelOrderReq
	(*WRListingCancelOrderRsp)(nil),             // 58: pb.WRListingCancelOrderRsp
	(*ReceiptZSOutApplyReq)(nil),                // 59: pb.ReceiptZSOutApplyReq
	(*ReceiptZSOutApplyRsp)(nil),                // 60: pb.ReceiptZSOutApplyRsp
	(*DepositConfigInfo)(nil),                   // 61: pb.DepositConfigInfo
	(*SpotPresaleListingOrderReq)(nil),          // 62: pb.SpotPresaleListingOrderReq
	(*SpotPresaleListingOrderRsp)(nil),          // 63: pb.SpotPresaleListingOrderRsp
	(*THJPurchaseTradeNtf)(nil),                 // 64: pb.THJPurchaseTradeNtf
	(*PurchaseTransferNtf)(nil),                 // 65: pb.PurchaseTransferNtf
	(*WRTradeDealedNtf)(nil),                    // 66: pb.WRTradeDealedNtf
	(*CJJCMemberOperateReq)(nil),                // 67: pb.CJJCMemberOperateReq
	(*CJJCMemberOperateRsp)(nil),                // 68: pb.CJJCMemberOperateRsp
	(*BSFWMemberOperateReq)(nil),                // 69: pb.BSFWMemberOperateReq
	(*BSFWMemberOperateRsp)(nil),                // 70: pb.BSFWMemberOperateRsp
	(*AccountFundInfoReq)(nil),                  // 71: pb.AccountFundInfoReq
	(*AccountFundInfoRsp)(nil),                  // 72: pb.AccountFundInfoRsp
	(*GZPresaleApplyReq)(nil),                   // 73: pb.GZPresaleApplyReq
	(*GZPresaleApplyRsp)(nil),                   // 74: pb.GZPresaleApplyRsp
	(*GZPresaleOrderReq)(nil),                   // 75: pb.GZPresaleOrderReq
	(*GZPresaleOrderRsp)(nil),                   // 76: pb.GZPresaleOrderRsp
	(*GZCenterPurchasePriceList)(nil),           // 77: pb.GZCenterPurchasePriceList
	(*GZCenterPurchaseApplyReq)(nil),            // 78: pb.GZCenterPurchaseApplyReq
	(*GZCenterPurchaseApplyRsp)(nil),            // 79: pb.GZCenterPurchaseApplyRsp
	(*GZCenterPurchaseOrderReq)(nil),            // 80: pb.GZCenterPurchaseOrderReq
	(*GZCenterPurchaseOrderRsp)(nil),            // 81: pb.GZCenterPurchaseOrderRsp
	(*BSWMSReckonPayReq)(nil),                   // 82: pb.BSWMSReckonPayReq
	(*BSWMSReckonPayRsp)(nil),                   // 83: pb.BSWMSReckonPayRsp
	(*WRGoodsInfo)(nil),                         // 84: pb.WRGoodsInfo
	(*DGFactoryItems)(nil),                      // 85: pb.DGFactoryItems
	(*HdWROrderReq)(nil),                        // 86: pb.HdWROrderReq
	(*HdWROrderRsp)(nil),                        // 87: pb.HdWROrderRsp
	(*WROutInDetail)(nil),                       // 88: pb.WROutInDetail
	(*WROutApplyReq)(nil),                       // 89: pb.WROutApplyReq
	(*WROutApplyRsp)(nil),                       // 90: pb.WROutApplyRsp
	(*OrderReq)(nil),                            // 91: pb.OrderReq
	(*OrderRsp)(nil),                            // 92: pb.OrderRsp
	(*CancelOrderReq)(nil),                      // 93: pb.CancelOrderReq
	(*CancelOrderRsp)(nil),                      // 94: pb.CancelOrderRsp
	(*HolderCloseReq)(nil),                      // 95: pb.HolderCloseReq
	(*HolderCloseRsp)(nil),                      // 96: pb.HolderCloseRsp
	(*DeliveryOrderDetail)(nil),                 // 97: pb.DeliveryOrderDetail
	(*DeliveryOrderReq)(nil),                    // 98: pb.DeliveryOrderReq
	(*DeliveryOrderRsp)(nil),                    // 99: pb.DeliveryOrderRsp
	(*MakeUpDepositReq)(nil),                    // 100: pb.MakeUpDepositReq
	(*MakeUpDepositRsp)(nil),                    // 101: pb.MakeUpDepositRsp
	(*HoldAppendDepositReq)(nil),                // 102: pb.HoldAppendDepositReq
	(*HoldAppendDepositRsp)(nil),                // 103: pb.HoldAppendDepositRsp
	(*OfflineDeliveryReq)(nil),                  // 104: pb.OfflineDeliveryReq
	(*OfflineDeliveryRsp)(nil),                  // 105: pb.OfflineDeliveryRsp
	(*HdWRDealOrderReq)(nil),                    // 106: pb.HdWRDealOrderReq
	(*HdWRDealOrderRsp)(nil),                    // 107: pb.HdWRDealOrderRsp
	(*SupplementDepositReq)(nil),                // 108: pb.SupplementDepositReq
	(*SupplementDepositRsp)(nil),                // 109: pb.SupplementDepositRsp
	(*RefundedDepositReq)(nil),                  // 110: pb.RefundedDepositReq
	(*RefundedDepositRsp)(nil),                  // 111: pb.RefundedDepositRsp
	(*MarketOrderHoldDetails)(nil),              // 112: pb.MarketOrderHoldDetails
	(*PayAttrs)(nil),                            // 113: pb.PayAttrs
	(*MarketOrderDeliveryApplyReq)(nil),         // 114: pb.MarketOrderDeliveryApplyReq
	(*MarketOrderDeliveryApplyRsp)(nil),         // 115: pb.MarketOrderDeliveryApplyRsp
	(*DeliveryClientOperatorReq)(nil),           // 116: pb.DeliveryClientOperatorReq
	(*DeliveryClientOperatorRsp)(nil),           // 117: pb.DeliveryClientOperatorRsp
	(*LoginReq)(nil),                            // 118: pb.LoginReq
	(*LoginRsp)(nil),                            // 119: pb.LoginRsp
	(*CustOfflineNtf)(nil),                      // 120: pb.CustOfflineNtf
	(*LogoutReq)(nil),                           // 121: pb.LogoutReq
	(*LogoutRsp)(nil),                           // 122: pb.LogoutRsp
	(*PosChangedNtf)(nil),                       // 123: pb.PosChangedNtf
	(*OrderCanceledNtf)(nil),                    // 124: pb.OrderCanceledNtf
	(*OfflineDeliveryApplyCancelOrderReq)(nil),  // 125: pb.OfflineDeliveryApplyCancelOrderReq
	(*OfflineDeliveryApplyCancelOrderRsp)(nil),  // 126: pb.OfflineDeliveryApplyCancelOrderRsp
}
var file_mtp2_proto_depIdxs = []int32{
	0,   // 0: pb.MoneyChangedNtf.Header:type_name -> pb.MessageHead
	1,   // 1: pb.MoneyChangedNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 2: pb.OrderDealedNtf.Header:type_name -> pb.MessageHead
	1,   // 3: pb.OrderDealedNtf.NtfHeader:type_name -> pb.NotifyHead
	3,   // 4: pb.OrderDealedNtf.CloseInfos:type_name -> pb.ArrayCloseInfo
	0,   // 5: pb.MarketStatusChangeNtf.Header:type_name -> pb.MessageHead
	1,   // 6: pb.MarketStatusChangeNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 7: pb.ListingOrderChangeNtf.Header:type_name -> pb.MessageHead
	1,   // 8: pb.ListingOrderChangeNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 9: pb.ModifyPwdReq.Header:type_name -> pb.MessageHead
	0,   // 10: pb.ModifyPwdRsp.Header:type_name -> pb.MessageHead
	0,   // 11: pb.UserReceiveInfoReq.Header:type_name -> pb.MessageHead
	0,   // 12: pb.UserReceiveInfoRsp.Header:type_name -> pb.MessageHead
	0,   // 13: pb.DelUserReceiveInfoReq.Header:type_name -> pb.MessageHead
	0,   // 14: pb.DelUserReceiveInfoRsp.Header:type_name -> pb.MessageHead
	0,   // 15: pb.UserReceiveIsDefaultReq.Header:type_name -> pb.MessageHead
	0,   // 16: pb.UserReceiveIsDefaultRsp.Header:type_name -> pb.MessageHead
	0,   // 17: pb.UserReceiptInfoReq.Header:type_name -> pb.MessageHead
	0,   // 18: pb.UserReceiptInfoRsp.Header:type_name -> pb.MessageHead
	0,   // 19: pb.DelUserReceiptInfoReq.Header:type_name -> pb.MessageHead
	0,   // 20: pb.DelUserReceiptInfoRsp.Header:type_name -> pb.MessageHead
	0,   // 21: pb.t2bBankSignReq.Header:type_name -> pb.MessageHead
	0,   // 22: pb.t2bBankSignRsp.Header:type_name -> pb.MessageHead
	0,   // 23: pb.t2bBankCancelSignReq.Header:type_name -> pb.MessageHead
	0,   // 24: pb.t2bBankCancelSignRsp.Header:type_name -> pb.MessageHead
	0,   // 25: pb.t2bBankWithdrawReq.Header:type_name -> pb.MessageHead
	0,   // 26: pb.t2bBankWithdrawRsp.Header:type_name -> pb.MessageHead
	0,   // 27: pb.t2bBankDepositReq.Header:type_name -> pb.MessageHead
	0,   // 28: pb.t2bBankDepositRsp.Header:type_name -> pb.MessageHead
	0,   // 29: pb.WarehouseApplyReq.Header:type_name -> pb.MessageHead
	0,   // 30: pb.WarehouseApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 31: pb.PerformanceContractedApplyReq.Header:type_name -> pb.MessageHead
	0,   // 32: pb.PerformanceContractedApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 33: pb.PerformanceDelayApplyReq.Header:type_name -> pb.MessageHead
	0,   // 34: pb.PerformanceDelayApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 35: pb.PerformanceManualConfirmReq.Header:type_name -> pb.MessageHead
	0,   // 36: pb.PerformanceManualConfirmRsp.Header:type_name -> pb.MessageHead
	0,   // 37: pb.PerformanceModifyContactReq.Header:type_name -> pb.MessageHead
	0,   // 38: pb.PerformanceModifyContactRsp.Header:type_name -> pb.MessageHead
	0,   // 39: pb.AddZSGoodsRsp.Header:type_name -> pb.MessageHead
	0,   // 40: pb.GoodsFavoriteOperateReq.Header:type_name -> pb.MessageHead
	0,   // 41: pb.GoodsFavoriteOperateRsp.Header:type_name -> pb.MessageHead
	0,   // 42: pb.ZSBuyOrderListingReq.Header:type_name -> pb.MessageHead
	42,  // 43: pb.ZSBuyOrderListingReq.GZ_BuyOrderDetailExInfo:type_name -> pb.GZBuyOrderDetailExInfo
	0,   // 44: pb.ZSBuyOrderListingRsp.Header:type_name -> pb.MessageHead
	0,   // 45: pb.ZSSellOrderListingReq.Header:type_name -> pb.MessageHead
	0,   // 46: pb.ZSSellOrderListingRsp.Header:type_name -> pb.MessageHead
	0,   // 47: pb.ZSBuyOrderDestingReq.Header:type_name -> pb.MessageHead
	0,   // 48: pb.ZSBuyOrderDestingRsp.Header:type_name -> pb.MessageHead
	0,   // 49: pb.ZSSellOrderDestingApplyReq.Header:type_name -> pb.MessageHead
	0,   // 50: pb.ZSSellOrderDestingApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 51: pb.ZSSellOrderDestingApplyOperateReq.Header:type_name -> pb.MessageHead
	0,   // 52: pb.ZSSellOrderDestingApplyOperateRsp.Header:type_name -> pb.MessageHead
	0,   // 53: pb.ZSBuyOrderDestingNegPriceReq.Header:type_name -> pb.MessageHead
	0,   // 54: pb.ZSBuyOrderDestingNegPriceRsp.Header:type_name -> pb.MessageHead
	0,   // 55: pb.ZSBuyOrderDestingNegPriceOperateReq.Header:type_name -> pb.MessageHead
	0,   // 56: pb.ZSBuyOrderDestingNegPriceOperateRsp.Header:type_name -> pb.MessageHead
	0,   // 57: pb.WRListingCancelOrderReq.Header:type_name -> pb.MessageHead
	0,   // 58: pb.WRListingCancelOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 59: pb.ReceiptZSOutApplyReq.Header:type_name -> pb.MessageHead
	28,  // 60: pb.ReceiptZSOutApplyReq.Common:type_name -> pb.WRCommon
	0,   // 61: pb.ReceiptZSOutApplyRsp.Header:type_name -> pb.MessageHead
	28,  // 62: pb.ReceiptZSOutApplyRsp.Common:type_name -> pb.WRCommon
	0,   // 63: pb.SpotPresaleListingOrderReq.Header:type_name -> pb.MessageHead
	61,  // 64: pb.SpotPresaleListingOrderReq.DepositConfigs:type_name -> pb.DepositConfigInfo
	0,   // 65: pb.SpotPresaleListingOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 66: pb.THJPurchaseTradeNtf.Header:type_name -> pb.MessageHead
	0,   // 67: pb.PurchaseTransferNtf.Header:type_name -> pb.MessageHead
	0,   // 68: pb.WRTradeDealedNtf.Header:type_name -> pb.MessageHead
	1,   // 69: pb.WRTradeDealedNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 70: pb.CJJCMemberOperateReq.Header:type_name -> pb.MessageHead
	0,   // 71: pb.CJJCMemberOperateRsp.Header:type_name -> pb.MessageHead
	0,   // 72: pb.BSFWMemberOperateReq.Header:type_name -> pb.MessageHead
	7,   // 73: pb.BSFWMemberOperateReq.FileDetails:type_name -> pb.FileDetail
	0,   // 74: pb.BSFWMemberOperateRsp.Header:type_name -> pb.MessageHead
	0,   // 75: pb.AccountFundInfoReq.Header:type_name -> pb.MessageHead
	0,   // 76: pb.AccountFundInfoRsp.Header:type_name -> pb.MessageHead
	0,   // 77: pb.GZPresaleApplyReq.Header:type_name -> pb.MessageHead
	0,   // 78: pb.GZPresaleApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 79: pb.GZPresaleOrderReq.Header:type_name -> pb.MessageHead
	0,   // 80: pb.GZPresaleOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 81: pb.GZCenterPurchaseApplyReq.Header:type_name -> pb.MessageHead
	77,  // 82: pb.GZCenterPurchaseApplyReq.GZCenterPurchasePriceLists:type_name -> pb.GZCenterPurchasePriceList
	0,   // 83: pb.GZCenterPurchaseApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 84: pb.GZCenterPurchaseOrderReq.Header:type_name -> pb.MessageHead
	0,   // 85: pb.GZCenterPurchaseOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 86: pb.BSWMSReckonPayReq.Header:type_name -> pb.MessageHead
	0,   // 87: pb.BSWMSReckonPayRsp.Header:type_name -> pb.MessageHead
	0,   // 88: pb.HdWROrderReq.Header:type_name -> pb.MessageHead
	84,  // 89: pb.HdWROrderReq.WRTradeGoods:type_name -> pb.WRGoodsInfo
	85,  // 90: pb.HdWROrderReq.FactoryItems:type_name -> pb.DGFactoryItems
	0,   // 91: pb.HdWROrderRsp.Header:type_name -> pb.MessageHead
	0,   // 92: pb.WROutApplyReq.Header:type_name -> pb.MessageHead
	88,  // 93: pb.WROutApplyReq.WROutInDetails:type_name -> pb.WROutInDetail
	0,   // 94: pb.WROutApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 95: pb.OrderReq.Header:type_name -> pb.MessageHead
	0,   // 96: pb.OrderRsp.Header:type_name -> pb.MessageHead
	0,   // 97: pb.CancelOrderReq.Header:type_name -> pb.MessageHead
	0,   // 98: pb.CancelOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 99: pb.HolderCloseReq.Header:type_name -> pb.MessageHead
	0,   // 100: pb.HolderCloseRsp.Header:type_name -> pb.MessageHead
	0,   // 101: pb.DeliveryOrderReq.Header:type_name -> pb.MessageHead
	97,  // 102: pb.DeliveryOrderReq.DeliveryOrderDetail:type_name -> pb.DeliveryOrderDetail
	0,   // 103: pb.DeliveryOrderRsp.Header:type_name -> pb.MessageHead
	97,  // 104: pb.DeliveryOrderRsp.DeliveryOrderDetails:type_name -> pb.DeliveryOrderDetail
	0,   // 105: pb.MakeUpDepositReq.Header:type_name -> pb.MessageHead
	0,   // 106: pb.MakeUpDepositRsp.Header:type_name -> pb.MessageHead
	0,   // 107: pb.HoldAppendDepositReq.Header:type_name -> pb.MessageHead
	0,   // 108: pb.HoldAppendDepositRsp.Header:type_name -> pb.MessageHead
	0,   // 109: pb.OfflineDeliveryReq.Header:type_name -> pb.MessageHead
	0,   // 110: pb.OfflineDeliveryRsp.Header:type_name -> pb.MessageHead
	0,   // 111: pb.HdWRDealOrderReq.Header:type_name -> pb.MessageHead
	0,   // 112: pb.HdWRDealOrderRsp.Header:type_name -> pb.MessageHead
	0,   // 113: pb.SupplementDepositReq.Header:type_name -> pb.MessageHead
	0,   // 114: pb.SupplementDepositRsp.Header:type_name -> pb.MessageHead
	0,   // 115: pb.RefundedDepositReq.Header:type_name -> pb.MessageHead
	0,   // 116: pb.RefundedDepositRsp.Header:type_name -> pb.MessageHead
	0,   // 117: pb.MarketOrderDeliveryApplyReq.Header:type_name -> pb.MessageHead
	112, // 118: pb.MarketOrderDeliveryApplyReq.HoldDetails:type_name -> pb.MarketOrderHoldDetails
	0,   // 119: pb.MarketOrderDeliveryApplyRsp.Header:type_name -> pb.MessageHead
	0,   // 120: pb.DeliveryClientOperatorReq.Header:type_name -> pb.MessageHead
	113, // 121: pb.DeliveryClientOperatorReq.PayAttr:type_name -> pb.PayAttrs
	0,   // 122: pb.DeliveryClientOperatorRsp.Header:type_name -> pb.MessageHead
	0,   // 123: pb.LoginReq.Header:type_name -> pb.MessageHead
	0,   // 124: pb.LoginRsp.Header:type_name -> pb.MessageHead
	0,   // 125: pb.CustOfflineNtf.Header:type_name -> pb.MessageHead
	0,   // 126: pb.LogoutReq.Header:type_name -> pb.MessageHead
	0,   // 127: pb.LogoutRsp.Header:type_name -> pb.MessageHead
	0,   // 128: pb.PosChangedNtf.Header:type_name -> pb.MessageHead
	1,   // 129: pb.PosChangedNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 130: pb.OrderCanceledNtf.Header:type_name -> pb.MessageHead
	1,   // 131: pb.OrderCanceledNtf.NtfHeader:type_name -> pb.NotifyHead
	0,   // 132: pb.OfflineDeliveryApplyCancelOrderReq.Header:type_name -> pb.MessageHead
	0,   // 133: pb.OfflineDeliveryApplyCancelOrderRsp.Header:type_name -> pb.MessageHead
	134, // [134:134] is the sub-list for method output_type
	134, // [134:134] is the sub-list for method input_type
	134, // [134:134] is the sub-list for extension type_name
	134, // [134:134] is the sub-list for extension extendee
	0,   // [0:134] is the sub-list for field type_name
}

func init() { file_mtp2_proto_init() }
func file_mtp2_proto_init() {
	if File_mtp2_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_mtp2_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MessageHead); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NotifyHead); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MoneyChangedNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ArrayCloseInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrderDealedNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketStatusChangeNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ListingOrderChangeNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FileDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyPwdReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyPwdRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiveInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiveInfoRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DelUserReceiveInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DelUserReceiveInfoRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiveIsDefaultReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiveIsDefaultRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiptInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UserReceiptInfoRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DelUserReceiptInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DelUserReceiptInfoRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankSignReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankSignRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankCancelSignReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankCancelSignRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankWithdrawReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankWithdrawRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankDepositReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*T2BBankDepositRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WRCommon); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WarehouseApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WarehouseApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceContractedApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceContractedApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceDelayApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceDelayApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceManualConfirmReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceManualConfirmRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceModifyContactReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PerformanceModifyContactRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AddZSGoodsRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GoodsFavoriteOperateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GoodsFavoriteOperateRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZBuyOrderDetailExInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderListingReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderListingRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderListingReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderListingRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderDestingApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderDestingApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderDestingApplyOperateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSSellOrderDestingApplyOperateRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingNegPriceReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingNegPriceRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingNegPriceOperateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ZSBuyOrderDestingNegPriceOperateRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WRListingCancelOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WRListingCancelOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptZSOutApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ReceiptZSOutApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DepositConfigInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SpotPresaleListingOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SpotPresaleListingOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*THJPurchaseTradeNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PurchaseTransferNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WRTradeDealedNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CJJCMemberOperateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CJJCMemberOperateRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BSFWMemberOperateReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BSFWMemberOperateRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AccountFundInfoReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AccountFundInfoRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZPresaleApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZPresaleApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZPresaleOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZPresaleOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZCenterPurchasePriceList); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZCenterPurchaseApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZCenterPurchaseApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZCenterPurchaseOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GZCenterPurchaseOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BSWMSReckonPayReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BSWMSReckonPayRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WRGoodsInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DGFactoryItems); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HdWROrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HdWROrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WROutInDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WROutApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*WROutApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HolderCloseReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HolderCloseRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeliveryOrderDetail); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeliveryOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeliveryOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MakeUpDepositReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MakeUpDepositRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HoldAppendDepositReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HoldAppendDepositRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfflineDeliveryReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfflineDeliveryRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HdWRDealOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*HdWRDealOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SupplementDepositReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SupplementDepositRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefundedDepositReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefundedDepositRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketOrderHoldDetails); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PayAttrs); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketOrderDeliveryApplyReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MarketOrderDeliveryApplyRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeliveryClientOperatorReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeliveryClientOperatorRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoginReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LoginRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CustOfflineNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LogoutReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LogoutRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PosChangedNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OrderCanceledNtf); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfflineDeliveryApplyCancelOrderReq); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_mtp2_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfflineDeliveryApplyCancelOrderRsp); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_mtp2_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   127,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_mtp2_proto_goTypes,
		DependencyIndexes: file_mtp2_proto_depIdxs,
		MessageInfos:      file_mtp2_proto_msgTypes,
	}.Build()
	File_mtp2_proto = out.File
	file_mtp2_proto_rawDesc = nil
	file_mtp2_proto_goTypes = nil
	file_mtp2_proto_depIdxs = nil
}
