// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v5.27.2
// source: pay_refund.proto

// pay_refund 退款订单

package refund

import (
	pagination "cloud/service/pagination"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// PayRefundObject 数据对象
type PayRefundObject struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id *int64 `protobuf:"varint,1,opt,name=id,proto3,oneof" json:"id" db:"id"` //支付退款编号
	// @inject_tag: db:"no" json:"no"
	No *string `protobuf:"bytes,2,opt,name=no,proto3,oneof" json:"no" db:"no"` //退款单号
	// @inject_tag: db:"app_id" json:"appId"
	AppId *int64 `protobuf:"varint,3,opt,name=app_id,json=appId,proto3,oneof" json:"appId" db:"app_id"` //应用编号
	// @inject_tag: db:"channel_id" json:"channelId"
	ChannelId *int64 `protobuf:"varint,4,opt,name=channel_id,json=channelId,proto3,oneof" json:"channelId" db:"channel_id"` //渠道编号
	// @inject_tag: db:"channel_code" json:"channelCode"
	ChannelCode *string `protobuf:"bytes,5,opt,name=channel_code,json=channelCode,proto3,oneof" json:"channelCode" db:"channel_code"` //渠道编码
	// @inject_tag: db:"order_id" json:"orderId"
	OrderId *int64 `protobuf:"varint,6,opt,name=order_id,json=orderId,proto3,oneof" json:"orderId" db:"order_id"` //支付订单编号 pay_order 表id
	// @inject_tag: db:"order_no" json:"orderNo"
	OrderNo *string `protobuf:"bytes,7,opt,name=order_no,json=orderNo,proto3,oneof" json:"orderNo" db:"order_no"` //支付订单 no
	// @inject_tag: db:"merchant_order_id" json:"merchantOrderId"
	MerchantOrderId *string `protobuf:"bytes,8,opt,name=merchant_order_id,json=merchantOrderId,proto3,oneof" json:"merchantOrderId" db:"merchant_order_id"` //商户订单编号（商户系统生成）
	// @inject_tag: db:"merchant_refund_id" json:"merchantRefundId"
	MerchantRefundId *string `protobuf:"bytes,9,opt,name=merchant_refund_id,json=merchantRefundId,proto3,oneof" json:"merchantRefundId" db:"merchant_refund_id"` //商户退款订单号（商户系统生成）
	// @inject_tag: db:"notify_url" json:"notifyUrl"
	NotifyUrl *string `protobuf:"bytes,10,opt,name=notify_url,json=notifyUrl,proto3,oneof" json:"notifyUrl" db:"notify_url"` //异步通知商户地址
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,11,opt,name=status,proto3,oneof" json:"status" db:"status"` //退款状态
	// @inject_tag: db:"pay_price" json:"payPrice"
	PayPrice *int64 `protobuf:"varint,12,opt,name=pay_price,json=payPrice,proto3,oneof" json:"payPrice" db:"pay_price"` //支付金额,单位分
	// @inject_tag: db:"refund_price" json:"refundPrice"
	RefundPrice *int64 `protobuf:"varint,13,opt,name=refund_price,json=refundPrice,proto3,oneof" json:"refundPrice" db:"refund_price"` //退款金额,单位分
	// @inject_tag: db:"reason" json:"reason"
	Reason *string `protobuf:"bytes,14,opt,name=reason,proto3,oneof" json:"reason" db:"reason"` //退款原因
	// @inject_tag: db:"user_ip" json:"userIp"
	UserIp *string `protobuf:"bytes,15,opt,name=user_ip,json=userIp,proto3,oneof" json:"userIp" db:"user_ip"` //ip
	// @inject_tag: db:"channel_order_no" json:"channelOrderNo"
	ChannelOrderNo *string `protobuf:"bytes,16,opt,name=channel_order_no,json=channelOrderNo,proto3,oneof" json:"channelOrderNo" db:"channel_order_no"` //渠道订单号，pay_order 中的 channel_order_no 对应
	// @inject_tag: db:"channel_refund_no" json:"channelRefundNo"
	ChannelRefundNo *string `protobuf:"bytes,17,opt,name=channel_refund_no,json=channelRefundNo,proto3,oneof" json:"channelRefundNo" db:"channel_refund_no"` //渠道退款单号，渠道返
	// @inject_tag: db:"success_time" json:"successTime"
	SuccessTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=success_time,json=successTime,proto3" json:"successTime" db:"success_time"` //退款成功时间
	// @inject_tag: db:"channel_error_code" json:"channelErrorCode"
	ChannelErrorCode *string `protobuf:"bytes,19,opt,name=channel_error_code,json=channelErrorCode,proto3,oneof" json:"channelErrorCode" db:"channel_error_code"` //渠道调用报错时，错误码
	// @inject_tag: db:"channel_error_msg" json:"channelErrorMsg"
	ChannelErrorMsg *string `protobuf:"bytes,20,opt,name=channel_error_msg,json=channelErrorMsg,proto3,oneof" json:"channelErrorMsg" db:"channel_error_msg"` //渠道调用报错时，错误信息
	// @inject_tag: db:"channel_notify_data" json:"channelNotifyData"
	ChannelNotifyData *string `protobuf:"bytes,21,opt,name=channel_notify_data,json=channelNotifyData,proto3,oneof" json:"channelNotifyData" db:"channel_notify_data"` //支付渠道异步通知的内容
	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,22,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` //删除
	// @inject_tag: db:"tenant_id" json:"tenantId"
	TenantId *int64 `protobuf:"varint,23,opt,name=tenant_id,json=tenantId,proto3,oneof" json:"tenantId" db:"tenant_id"` //租户
	// @inject_tag: db:"creator" json:"creator"
	Creator *string `protobuf:"bytes,24,opt,name=creator,proto3,oneof" json:"creator" db:"creator"` //创建人
	// @inject_tag: db:"create_time" json:"createTime"
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,25,opt,name=create_time,json=createTime,proto3" json:"createTime" db:"create_time"` //创建时间
	// @inject_tag: db:"updater" json:"updater"
	Updater *string `protobuf:"bytes,26,opt,name=updater,proto3,oneof" json:"updater" db:"updater"` //更新人
	// @inject_tag: db:"update_time" json:"updateTime"
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,27,opt,name=update_time,json=updateTime,proto3" json:"updateTime" db:"update_time"` //更新时间
}

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

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

func (*PayRefundObject) ProtoMessage() {}

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

func (x *PayRefundObject) GetId() int64 {
	if x != nil && x.Id != nil {
		return *x.Id
	}
	return 0
}

func (x *PayRefundObject) GetNo() string {
	if x != nil && x.No != nil {
		return *x.No
	}
	return ""
}

func (x *PayRefundObject) GetAppId() int64 {
	if x != nil && x.AppId != nil {
		return *x.AppId
	}
	return 0
}

func (x *PayRefundObject) GetChannelId() int64 {
	if x != nil && x.ChannelId != nil {
		return *x.ChannelId
	}
	return 0
}

func (x *PayRefundObject) GetChannelCode() string {
	if x != nil && x.ChannelCode != nil {
		return *x.ChannelCode
	}
	return ""
}

func (x *PayRefundObject) GetOrderId() int64 {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return 0
}

func (x *PayRefundObject) GetOrderNo() string {
	if x != nil && x.OrderNo != nil {
		return *x.OrderNo
	}
	return ""
}

func (x *PayRefundObject) GetMerchantOrderId() string {
	if x != nil && x.MerchantOrderId != nil {
		return *x.MerchantOrderId
	}
	return ""
}

func (x *PayRefundObject) GetMerchantRefundId() string {
	if x != nil && x.MerchantRefundId != nil {
		return *x.MerchantRefundId
	}
	return ""
}

func (x *PayRefundObject) GetNotifyUrl() string {
	if x != nil && x.NotifyUrl != nil {
		return *x.NotifyUrl
	}
	return ""
}

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

func (x *PayRefundObject) GetPayPrice() int64 {
	if x != nil && x.PayPrice != nil {
		return *x.PayPrice
	}
	return 0
}

func (x *PayRefundObject) GetRefundPrice() int64 {
	if x != nil && x.RefundPrice != nil {
		return *x.RefundPrice
	}
	return 0
}

func (x *PayRefundObject) GetReason() string {
	if x != nil && x.Reason != nil {
		return *x.Reason
	}
	return ""
}

func (x *PayRefundObject) GetUserIp() string {
	if x != nil && x.UserIp != nil {
		return *x.UserIp
	}
	return ""
}

func (x *PayRefundObject) GetChannelOrderNo() string {
	if x != nil && x.ChannelOrderNo != nil {
		return *x.ChannelOrderNo
	}
	return ""
}

func (x *PayRefundObject) GetChannelRefundNo() string {
	if x != nil && x.ChannelRefundNo != nil {
		return *x.ChannelRefundNo
	}
	return ""
}

func (x *PayRefundObject) GetSuccessTime() *timestamppb.Timestamp {
	if x != nil {
		return x.SuccessTime
	}
	return nil
}

func (x *PayRefundObject) GetChannelErrorCode() string {
	if x != nil && x.ChannelErrorCode != nil {
		return *x.ChannelErrorCode
	}
	return ""
}

func (x *PayRefundObject) GetChannelErrorMsg() string {
	if x != nil && x.ChannelErrorMsg != nil {
		return *x.ChannelErrorMsg
	}
	return ""
}

func (x *PayRefundObject) GetChannelNotifyData() string {
	if x != nil && x.ChannelNotifyData != nil {
		return *x.ChannelNotifyData
	}
	return ""
}

func (x *PayRefundObject) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

func (x *PayRefundObject) GetTenantId() int64 {
	if x != nil && x.TenantId != nil {
		return *x.TenantId
	}
	return 0
}

func (x *PayRefundObject) GetCreator() string {
	if x != nil && x.Creator != nil {
		return *x.Creator
	}
	return ""
}

func (x *PayRefundObject) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *PayRefundObject) GetUpdater() string {
	if x != nil && x.Updater != nil {
		return *x.Updater
	}
	return ""
}

func (x *PayRefundObject) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

// PayRefundTotalResponse 列表数据总量
type PayRefundTotalResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data int64  `protobuf:"varint,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundTotalResponse) ProtoMessage() {}

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

func (x *PayRefundTotalResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundTotalResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *PayRefundTotalResponse) GetData() int64 {
	if x != nil {
		return x.Data
	}
	return 0
}

// PayRefundCreateRequest 创建数据请求
type PayRefundCreateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Data *PayRefundObject `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundCreateRequest) ProtoMessage() {}

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

func (x *PayRefundCreateRequest) GetData() *PayRefundObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// PayRefundCreateResponse 创建数据响应
type PayRefundCreateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data int64  `protobuf:"varint,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundCreateResponse) ProtoMessage() {}

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

func (x *PayRefundCreateResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundCreateResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *PayRefundCreateResponse) GetData() int64 {
	if x != nil {
		return x.Data
	}
	return 0
}

// PayRefundUpdateRequest 更新数据请求
type PayRefundUpdateRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id   int64            `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //支付退款编号
	Data *PayRefundObject `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundUpdateRequest) ProtoMessage() {}

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

func (x *PayRefundUpdateRequest) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *PayRefundUpdateRequest) GetData() *PayRefundObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// PayRefundUpdateResponse 更新数据响应
type PayRefundUpdateResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*PayRefundUpdateResponse) ProtoMessage() {}

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

func (x *PayRefundUpdateResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundUpdateResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// PayRefundDeleteRequest 删除数据请求
type PayRefundDeleteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //支付退款编号
}

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

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

func (*PayRefundDeleteRequest) ProtoMessage() {}

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

func (x *PayRefundDeleteRequest) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

// PayRefundDeleteResponse 删除数据响应
type PayRefundDeleteResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*PayRefundDeleteResponse) ProtoMessage() {}

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

func (x *PayRefundDeleteResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundDeleteResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// PayRefundRequest 查询单条数据请求
type PayRefundRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //支付退款编号
}

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

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

func (*PayRefundRequest) ProtoMessage() {}

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

func (x *PayRefundRequest) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

// PayRefundResponse 查询单条数据响应
type PayRefundResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64            `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string           `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data *PayRefundObject `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundResponse) ProtoMessage() {}

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

func (x *PayRefundResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *PayRefundResponse) GetData() *PayRefundObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// PayRefundRecoverRequest 恢复数据请求
type PayRefundRecoverRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"id" json:"id"
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id" db:"id"` //支付退款编号
}

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

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

func (*PayRefundRecoverRequest) ProtoMessage() {}

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

func (x *PayRefundRecoverRequest) GetId() int64 {
	if x != nil {
		return x.Id
	}
	return 0
}

// PayRefundRecoverResponse 删除数据响应
type PayRefundRecoverResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64  `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
}

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

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

func (*PayRefundRecoverResponse) ProtoMessage() {}

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

func (x *PayRefundRecoverResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundRecoverResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

// PayRefundListRequest 列表数据
type PayRefundListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"tenant_id" json:"tenantId"
	TenantId *int64 `protobuf:"varint,1,opt,name=tenant_id,json=tenantId,proto3,oneof" json:"tenantId" db:"tenant_id"` // 租户
	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,2,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` // 删除
	// @inject_tag: db:"app_id" json:"appId"
	AppId *int64 `protobuf:"varint,3,opt,name=app_id,json=appId,proto3,oneof" json:"appId" db:"app_id"` // 应用编号
	// @inject_tag: db:"channel_id" json:"channelId"
	ChannelId *int64 `protobuf:"varint,4,opt,name=channel_id,json=channelId,proto3,oneof" json:"channelId" db:"channel_id"` // 渠道编号
	// @inject_tag: db:"channel_code" json:"channelCode"
	ChannelCode *string `protobuf:"bytes,5,opt,name=channel_code,json=channelCode,proto3,oneof" json:"channelCode" db:"channel_code"` // 渠道编码
	// @inject_tag: db:"merchant_order_id" json:"merchantOrderId"
	MerchantOrderId *string `protobuf:"bytes,6,opt,name=merchant_order_id,json=merchantOrderId,proto3,oneof" json:"merchantOrderId" db:"merchant_order_id"` // 商户订单编号（商户系统生成）
	// @inject_tag: db:"order_id" json:"orderId"
	OrderId *int64 `protobuf:"varint,7,opt,name=order_id,json=orderId,proto3,oneof" json:"orderId" db:"order_id"` // 支付订单编号 pay_order 表id
	// @inject_tag: db:"order_no" json:"orderNo"
	OrderNo *string `protobuf:"bytes,8,opt,name=order_no,json=orderNo,proto3,oneof" json:"orderNo" db:"order_no"` // 支付订单 no
	// @inject_tag: db:"channel_order_no" json:"channelOrderNo"
	ChannelOrderNo *string `protobuf:"bytes,9,opt,name=channel_order_no,json=channelOrderNo,proto3,oneof" json:"channelOrderNo" db:"channel_order_no"` // 渠道订单号，pay_order 中的 channel_order_no 对应
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,10,opt,name=status,proto3,oneof" json:"status" db:"status"` // 退款状态
	// @inject_tag: db:"begin_create_time" json:"beginCreateTime"
	BeginCreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=begin_create_time,json=beginCreateTime,proto3" json:"beginCreateTime" db:"begin_create_time"` // 创建时间
	// @inject_tag: db:"finish_create_time" json:"finishCreateTime"
	FinishCreateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=finish_create_time,json=finishCreateTime,proto3" json:"finishCreateTime" db:"finish_create_time"` // 创建时间
	// @inject_tag: db:"pagination" json:"pagination"
	Pagination *pagination.PaginationRequest `protobuf:"bytes,13,opt,name=pagination,proto3,oneof" json:"pagination" db:"pagination"` // 分页
}

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

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

func (*PayRefundListRequest) ProtoMessage() {}

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

func (x *PayRefundListRequest) GetTenantId() int64 {
	if x != nil && x.TenantId != nil {
		return *x.TenantId
	}
	return 0
}

func (x *PayRefundListRequest) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

func (x *PayRefundListRequest) GetAppId() int64 {
	if x != nil && x.AppId != nil {
		return *x.AppId
	}
	return 0
}

func (x *PayRefundListRequest) GetChannelId() int64 {
	if x != nil && x.ChannelId != nil {
		return *x.ChannelId
	}
	return 0
}

func (x *PayRefundListRequest) GetChannelCode() string {
	if x != nil && x.ChannelCode != nil {
		return *x.ChannelCode
	}
	return ""
}

func (x *PayRefundListRequest) GetMerchantOrderId() string {
	if x != nil && x.MerchantOrderId != nil {
		return *x.MerchantOrderId
	}
	return ""
}

func (x *PayRefundListRequest) GetOrderId() int64 {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return 0
}

func (x *PayRefundListRequest) GetOrderNo() string {
	if x != nil && x.OrderNo != nil {
		return *x.OrderNo
	}
	return ""
}

func (x *PayRefundListRequest) GetChannelOrderNo() string {
	if x != nil && x.ChannelOrderNo != nil {
		return *x.ChannelOrderNo
	}
	return ""
}

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

func (x *PayRefundListRequest) GetBeginCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.BeginCreateTime
	}
	return nil
}

func (x *PayRefundListRequest) GetFinishCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishCreateTime
	}
	return nil
}

func (x *PayRefundListRequest) GetPagination() *pagination.PaginationRequest {
	if x != nil {
		return x.Pagination
	}
	return nil
}

// PayRefundListResponse 数据响应
type PayRefundListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Code int64              `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	Msg  string             `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
	Data []*PayRefundObject `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PayRefundListResponse) ProtoMessage() {}

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

func (x *PayRefundListResponse) GetCode() int64 {
	if x != nil {
		return x.Code
	}
	return 0
}

func (x *PayRefundListResponse) GetMsg() string {
	if x != nil {
		return x.Msg
	}
	return ""
}

func (x *PayRefundListResponse) GetData() []*PayRefundObject {
	if x != nil {
		return x.Data
	}
	return nil
}

// PayRefundListTotalRequest 列表数据
type PayRefundListTotalRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// @inject_tag: db:"tenant_id" json:"tenantId"
	TenantId *int64 `protobuf:"varint,1,opt,name=tenant_id,json=tenantId,proto3,oneof" json:"tenantId" db:"tenant_id"` // 租户
	// @inject_tag: db:"deleted" json:"deleted"
	Deleted *int32 `protobuf:"varint,2,opt,name=deleted,proto3,oneof" json:"deleted" db:"deleted"` // 删除
	// @inject_tag: db:"app_id" json:"appId"
	AppId *int64 `protobuf:"varint,3,opt,name=app_id,json=appId,proto3,oneof" json:"appId" db:"app_id"` // 应用编号
	// @inject_tag: db:"channel_id" json:"channelId"
	ChannelId *int64 `protobuf:"varint,4,opt,name=channel_id,json=channelId,proto3,oneof" json:"channelId" db:"channel_id"` // 渠道编号
	// @inject_tag: db:"channel_code" json:"channelCode"
	ChannelCode *string `protobuf:"bytes,5,opt,name=channel_code,json=channelCode,proto3,oneof" json:"channelCode" db:"channel_code"` // 渠道编码
	// @inject_tag: db:"merchant_order_id" json:"merchantOrderId"
	MerchantOrderId *string `protobuf:"bytes,6,opt,name=merchant_order_id,json=merchantOrderId,proto3,oneof" json:"merchantOrderId" db:"merchant_order_id"` // 商户订单编号（商户系统生成）
	// @inject_tag: db:"order_id" json:"orderId"
	OrderId *int64 `protobuf:"varint,7,opt,name=order_id,json=orderId,proto3,oneof" json:"orderId" db:"order_id"` // 支付订单编号 pay_order 表id
	// @inject_tag: db:"order_no" json:"orderNo"
	OrderNo *string `protobuf:"bytes,8,opt,name=order_no,json=orderNo,proto3,oneof" json:"orderNo" db:"order_no"` // 支付订单 no
	// @inject_tag: db:"channel_order_no" json:"channelOrderNo"
	ChannelOrderNo *string `protobuf:"bytes,9,opt,name=channel_order_no,json=channelOrderNo,proto3,oneof" json:"channelOrderNo" db:"channel_order_no"` // 渠道订单号，pay_order 中的 channel_order_no 对应
	// @inject_tag: db:"status" json:"status"
	Status *int32 `protobuf:"varint,10,opt,name=status,proto3,oneof" json:"status" db:"status"` // 退款状态
	// @inject_tag: db:"begin_create_time" json:"beginCreateTime"
	BeginCreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=begin_create_time,json=beginCreateTime,proto3" json:"beginCreateTime" db:"begin_create_time"` // 创建时间
	// @inject_tag: db:"finish_create_time" json:"finishCreateTime"
	FinishCreateTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=finish_create_time,json=finishCreateTime,proto3" json:"finishCreateTime" db:"finish_create_time"` // 创建时间
}

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

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

func (*PayRefundListTotalRequest) ProtoMessage() {}

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

func (x *PayRefundListTotalRequest) GetTenantId() int64 {
	if x != nil && x.TenantId != nil {
		return *x.TenantId
	}
	return 0
}

func (x *PayRefundListTotalRequest) GetDeleted() int32 {
	if x != nil && x.Deleted != nil {
		return *x.Deleted
	}
	return 0
}

func (x *PayRefundListTotalRequest) GetAppId() int64 {
	if x != nil && x.AppId != nil {
		return *x.AppId
	}
	return 0
}

func (x *PayRefundListTotalRequest) GetChannelId() int64 {
	if x != nil && x.ChannelId != nil {
		return *x.ChannelId
	}
	return 0
}

func (x *PayRefundListTotalRequest) GetChannelCode() string {
	if x != nil && x.ChannelCode != nil {
		return *x.ChannelCode
	}
	return ""
}

func (x *PayRefundListTotalRequest) GetMerchantOrderId() string {
	if x != nil && x.MerchantOrderId != nil {
		return *x.MerchantOrderId
	}
	return ""
}

func (x *PayRefundListTotalRequest) GetOrderId() int64 {
	if x != nil && x.OrderId != nil {
		return *x.OrderId
	}
	return 0
}

func (x *PayRefundListTotalRequest) GetOrderNo() string {
	if x != nil && x.OrderNo != nil {
		return *x.OrderNo
	}
	return ""
}

func (x *PayRefundListTotalRequest) GetChannelOrderNo() string {
	if x != nil && x.ChannelOrderNo != nil {
		return *x.ChannelOrderNo
	}
	return ""
}

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

func (x *PayRefundListTotalRequest) GetBeginCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.BeginCreateTime
	}
	return nil
}

func (x *PayRefundListTotalRequest) GetFinishCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.FinishCreateTime
	}
	return nil
}

var File_pay_refund_proto protoreflect.FileDescriptor

var file_pay_refund_proto_rawDesc = []byte{
	0x0a, 0x10, 0x70, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x12, 0x06, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x10, 0x70, 0x61, 0x67,
	0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x0b,
	0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
	0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x6e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x61,
	0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x05, 0x61,
	0x70, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x04, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64,
	0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f,
	0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f,
	0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07,
	0x52, 0x0f, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49,
	0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74,
	0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x08, 0x52, 0x10, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x75,
	0x6e, 0x64, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66,
	0x79, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x6e,
	0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0b, 0x52, 0x08, 0x70,
	0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x72, 0x65,
	0x66, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03,
	0x48, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x88,
	0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01,
	0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12,
	0x1c, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x0e, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a,
	0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e,
	0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e,
	0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a,
	0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
	0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f,
	0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x2f, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x5f, 0x6d, 0x73, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x0f, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x88, 0x01, 0x01,
	0x12, 0x33, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69,
	0x66, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52,
	0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x44, 0x61,
	0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64,
	0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
	0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x48, 0x15, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f,
	0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
	0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x18, 0x1a, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x88, 0x01,
	0x01, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x05,
	0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6e, 0x6f, 0x42, 0x09, 0x0a, 0x07,
	0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65,
	0x72, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e,
	0x6f, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x65, 0x72, 0x63,
	0x68, 0x61, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x42, 0x0d,
	0x0a, 0x0b, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x09, 0x0a,
	0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79,
	0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x42, 0x13,
	0x0a, 0x11, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x5f, 0x6e, 0x6f, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f,
	0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x5f, 0x6d, 0x73, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a,
	0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72,
	0x22, 0x52, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x6f, 0x74,
	0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f,
	0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10,
	0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67,
	0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b,
	0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72,
	0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x17, 0x50,
	0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04,
	0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x22, 0x55, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61,
	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3f, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x52, 0x65,
	0x66, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x28, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x52,
	0x65, 0x66, 0x75, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02,
	0x69, 0x64, 0x22, 0x3f, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a,
	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64,
	0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
	0x6d, 0x73, 0x67, 0x22, 0x22, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x66, 0x0a, 0x11, 0x50, 0x61, 0x79, 0x52, 0x65,
	0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
	0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65,
	0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d,
	0x73, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66,
	0x75, 0x6e, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22,
	0x29, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f,
	0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x40, 0x0a, 0x18, 0x50, 0x61,
	0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
	0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf6, 0x05, 0x0a,
	0x14, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74,
	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x88,
	0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f,
	0x0a, 0x11, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x6d, 0x65, 0x72,
	0x63, 0x68, 0x61, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12,
	0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x03, 0x48, 0x06, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12,
	0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x07, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12,
	0x2d, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x5f, 0x6e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0e, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x1b,
	0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09,
	0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x11, 0x62,
	0x65, 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x52, 0x0f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x66, 0x69, 0x6e,
	0x69, 0x73, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a,
	0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50,
	0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x48, 0x0a, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01,
	0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42,
	0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f,
	0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x65, 0x72, 0x63, 0x68,
	0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09,
	0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x69, 0x6e,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75,
	0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f,
	0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x03, 0x6d, 0x73, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x17, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52,
	0x65, 0x66, 0x75, 0x6e, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x22, 0xa8, 0x05, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4c,
	0x69, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x20, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01,
	0x01, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x05, 0x48, 0x01, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01,
	0x12, 0x1a, 0x0a, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
	0x48, 0x02, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
	0x48, 0x03, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01,
	0x12, 0x26, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x65, 0x72, 0x63,
	0x68, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64,
	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x07, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64,
	0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x4e, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x11, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x5f, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x62, 0x65,
	0x67, 0x69, 0x6e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a,
	0x12, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x43, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x65, 0x6e, 0x61,
	0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b,
	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x14, 0x0a, 0x12,
	0x5f, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f,
	0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42,
	0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x42, 0x13, 0x0a, 0x11,
	0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x6e,
	0x6f, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0xce, 0x04, 0x0a,
	0x10, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x12, 0x52, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61,
	0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61,
	0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75,
	0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0f, 0x50, 0x61, 0x79,
	0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x72,
	0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x72,
	0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a,
	0x09, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x18, 0x2e, 0x72, 0x65, 0x66,
	0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61,
	0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x55, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f,
	0x76, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79,
	0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61,
	0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66,
	0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64,
	0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50,
	0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e,
	0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x66,
	0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4c, 0x69, 0x73,
	0x74, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
	0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x21, 0x5a,
	0x1f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x70,
	0x61, 0x79, 0x2f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x3b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_pay_refund_proto_rawDescOnce sync.Once
	file_pay_refund_proto_rawDescData = file_pay_refund_proto_rawDesc
)

func file_pay_refund_proto_rawDescGZIP() []byte {
	file_pay_refund_proto_rawDescOnce.Do(func() {
		file_pay_refund_proto_rawDescData = protoimpl.X.CompressGZIP(file_pay_refund_proto_rawDescData)
	})
	return file_pay_refund_proto_rawDescData
}

var file_pay_refund_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_pay_refund_proto_goTypes = []any{
	(*PayRefundObject)(nil),              // 0: refund.PayRefundObject
	(*PayRefundTotalResponse)(nil),       // 1: refund.PayRefundTotalResponse
	(*PayRefundCreateRequest)(nil),       // 2: refund.PayRefundCreateRequest
	(*PayRefundCreateResponse)(nil),      // 3: refund.PayRefundCreateResponse
	(*PayRefundUpdateRequest)(nil),       // 4: refund.PayRefundUpdateRequest
	(*PayRefundUpdateResponse)(nil),      // 5: refund.PayRefundUpdateResponse
	(*PayRefundDeleteRequest)(nil),       // 6: refund.PayRefundDeleteRequest
	(*PayRefundDeleteResponse)(nil),      // 7: refund.PayRefundDeleteResponse
	(*PayRefundRequest)(nil),             // 8: refund.PayRefundRequest
	(*PayRefundResponse)(nil),            // 9: refund.PayRefundResponse
	(*PayRefundRecoverRequest)(nil),      // 10: refund.PayRefundRecoverRequest
	(*PayRefundRecoverResponse)(nil),     // 11: refund.PayRefundRecoverResponse
	(*PayRefundListRequest)(nil),         // 12: refund.PayRefundListRequest
	(*PayRefundListResponse)(nil),        // 13: refund.PayRefundListResponse
	(*PayRefundListTotalRequest)(nil),    // 14: refund.PayRefundListTotalRequest
	(*timestamppb.Timestamp)(nil),        // 15: google.protobuf.Timestamp
	(*pagination.PaginationRequest)(nil), // 16: pagination.PaginationRequest
}
var file_pay_refund_proto_depIdxs = []int32{
	15, // 0: refund.PayRefundObject.success_time:type_name -> google.protobuf.Timestamp
	15, // 1: refund.PayRefundObject.create_time:type_name -> google.protobuf.Timestamp
	15, // 2: refund.PayRefundObject.update_time:type_name -> google.protobuf.Timestamp
	0,  // 3: refund.PayRefundCreateRequest.data:type_name -> refund.PayRefundObject
	0,  // 4: refund.PayRefundUpdateRequest.data:type_name -> refund.PayRefundObject
	0,  // 5: refund.PayRefundResponse.data:type_name -> refund.PayRefundObject
	15, // 6: refund.PayRefundListRequest.begin_create_time:type_name -> google.protobuf.Timestamp
	15, // 7: refund.PayRefundListRequest.finish_create_time:type_name -> google.protobuf.Timestamp
	16, // 8: refund.PayRefundListRequest.pagination:type_name -> pagination.PaginationRequest
	0,  // 9: refund.PayRefundListResponse.data:type_name -> refund.PayRefundObject
	15, // 10: refund.PayRefundListTotalRequest.begin_create_time:type_name -> google.protobuf.Timestamp
	15, // 11: refund.PayRefundListTotalRequest.finish_create_time:type_name -> google.protobuf.Timestamp
	2,  // 12: refund.PayRefundService.PayRefundCreate:input_type -> refund.PayRefundCreateRequest
	4,  // 13: refund.PayRefundService.PayRefundUpdate:input_type -> refund.PayRefundUpdateRequest
	6,  // 14: refund.PayRefundService.PayRefundDelete:input_type -> refund.PayRefundDeleteRequest
	8,  // 15: refund.PayRefundService.PayRefund:input_type -> refund.PayRefundRequest
	10, // 16: refund.PayRefundService.PayRefundRecover:input_type -> refund.PayRefundRecoverRequest
	12, // 17: refund.PayRefundService.PayRefundList:input_type -> refund.PayRefundListRequest
	14, // 18: refund.PayRefundService.PayRefundListTotal:input_type -> refund.PayRefundListTotalRequest
	3,  // 19: refund.PayRefundService.PayRefundCreate:output_type -> refund.PayRefundCreateResponse
	5,  // 20: refund.PayRefundService.PayRefundUpdate:output_type -> refund.PayRefundUpdateResponse
	7,  // 21: refund.PayRefundService.PayRefundDelete:output_type -> refund.PayRefundDeleteResponse
	9,  // 22: refund.PayRefundService.PayRefund:output_type -> refund.PayRefundResponse
	11, // 23: refund.PayRefundService.PayRefundRecover:output_type -> refund.PayRefundRecoverResponse
	13, // 24: refund.PayRefundService.PayRefundList:output_type -> refund.PayRefundListResponse
	1,  // 25: refund.PayRefundService.PayRefundListTotal:output_type -> refund.PayRefundTotalResponse
	19, // [19:26] is the sub-list for method output_type
	12, // [12:19] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_pay_refund_proto_init() }
func file_pay_refund_proto_init() {
	if File_pay_refund_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_pay_refund_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundObject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundTotalResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundCreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundCreateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundUpdateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundUpdateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundDeleteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundDeleteResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundRecoverRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundRecoverResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_pay_refund_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*PayRefundListTotalRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_pay_refund_proto_msgTypes[0].OneofWrappers = []any{}
	file_pay_refund_proto_msgTypes[12].OneofWrappers = []any{}
	file_pay_refund_proto_msgTypes[14].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_pay_refund_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_pay_refund_proto_goTypes,
		DependencyIndexes: file_pay_refund_proto_depIdxs,
		MessageInfos:      file_pay_refund_proto_msgTypes,
	}.Build()
	File_pay_refund_proto = out.File
	file_pay_refund_proto_rawDesc = nil
	file_pay_refund_proto_goTypes = nil
	file_pay_refund_proto_depIdxs = nil
}
