// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v3.21.8
// source: memcache_service.proto

package memcache

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type MemcacheServiceError_ErrorCode int32

const (
	MemcacheServiceError_OK                MemcacheServiceError_ErrorCode = 0
	MemcacheServiceError_UNSPECIFIED_ERROR MemcacheServiceError_ErrorCode = 1
	MemcacheServiceError_NAMESPACE_NOT_SET MemcacheServiceError_ErrorCode = 2
	MemcacheServiceError_PERMISSION_DENIED MemcacheServiceError_ErrorCode = 3
	MemcacheServiceError_INVALID_VALUE     MemcacheServiceError_ErrorCode = 6
)

// Enum value maps for MemcacheServiceError_ErrorCode.
var (
	MemcacheServiceError_ErrorCode_name = map[int32]string{
		0: "OK",
		1: "UNSPECIFIED_ERROR",
		2: "NAMESPACE_NOT_SET",
		3: "PERMISSION_DENIED",
		6: "INVALID_VALUE",
	}
	MemcacheServiceError_ErrorCode_value = map[string]int32{
		"OK":                0,
		"UNSPECIFIED_ERROR": 1,
		"NAMESPACE_NOT_SET": 2,
		"PERMISSION_DENIED": 3,
		"INVALID_VALUE":     6,
	}
)

func (x MemcacheServiceError_ErrorCode) Enum() *MemcacheServiceError_ErrorCode {
	p := new(MemcacheServiceError_ErrorCode)
	*p = x
	return p
}

func (x MemcacheServiceError_ErrorCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheServiceError_ErrorCode) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[0].Descriptor()
}

func (MemcacheServiceError_ErrorCode) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[0]
}

func (x MemcacheServiceError_ErrorCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheServiceError_ErrorCode) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheServiceError_ErrorCode(num)
	return nil
}

// Deprecated: Use MemcacheServiceError_ErrorCode.Descriptor instead.
func (MemcacheServiceError_ErrorCode) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{0, 0}
}

type MemcacheSetRequest_SetPolicy int32

const (
	MemcacheSetRequest_SET     MemcacheSetRequest_SetPolicy = 1
	MemcacheSetRequest_ADD     MemcacheSetRequest_SetPolicy = 2
	MemcacheSetRequest_REPLACE MemcacheSetRequest_SetPolicy = 3
	MemcacheSetRequest_CAS     MemcacheSetRequest_SetPolicy = 4
)

// Enum value maps for MemcacheSetRequest_SetPolicy.
var (
	MemcacheSetRequest_SetPolicy_name = map[int32]string{
		1: "SET",
		2: "ADD",
		3: "REPLACE",
		4: "CAS",
	}
	MemcacheSetRequest_SetPolicy_value = map[string]int32{
		"SET":     1,
		"ADD":     2,
		"REPLACE": 3,
		"CAS":     4,
	}
)

func (x MemcacheSetRequest_SetPolicy) Enum() *MemcacheSetRequest_SetPolicy {
	p := new(MemcacheSetRequest_SetPolicy)
	*p = x
	return p
}

func (x MemcacheSetRequest_SetPolicy) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheSetRequest_SetPolicy) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[1].Descriptor()
}

func (MemcacheSetRequest_SetPolicy) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[1]
}

func (x MemcacheSetRequest_SetPolicy) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheSetRequest_SetPolicy) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheSetRequest_SetPolicy(num)
	return nil
}

// Deprecated: Use MemcacheSetRequest_SetPolicy.Descriptor instead.
func (MemcacheSetRequest_SetPolicy) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{5, 0}
}

type MemcacheSetResponse_SetStatusCode int32

const (
	MemcacheSetResponse_STORED     MemcacheSetResponse_SetStatusCode = 1
	MemcacheSetResponse_NOT_STORED MemcacheSetResponse_SetStatusCode = 2
	MemcacheSetResponse_ERROR      MemcacheSetResponse_SetStatusCode = 3
	MemcacheSetResponse_EXISTS     MemcacheSetResponse_SetStatusCode = 4
)

// Enum value maps for MemcacheSetResponse_SetStatusCode.
var (
	MemcacheSetResponse_SetStatusCode_name = map[int32]string{
		1: "STORED",
		2: "NOT_STORED",
		3: "ERROR",
		4: "EXISTS",
	}
	MemcacheSetResponse_SetStatusCode_value = map[string]int32{
		"STORED":     1,
		"NOT_STORED": 2,
		"ERROR":      3,
		"EXISTS":     4,
	}
)

func (x MemcacheSetResponse_SetStatusCode) Enum() *MemcacheSetResponse_SetStatusCode {
	p := new(MemcacheSetResponse_SetStatusCode)
	*p = x
	return p
}

func (x MemcacheSetResponse_SetStatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheSetResponse_SetStatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[2].Descriptor()
}

func (MemcacheSetResponse_SetStatusCode) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[2]
}

func (x MemcacheSetResponse_SetStatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheSetResponse_SetStatusCode) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheSetResponse_SetStatusCode(num)
	return nil
}

// Deprecated: Use MemcacheSetResponse_SetStatusCode.Descriptor instead.
func (MemcacheSetResponse_SetStatusCode) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{6, 0}
}

type MemcacheDeleteResponse_DeleteStatusCode int32

const (
	MemcacheDeleteResponse_DELETED   MemcacheDeleteResponse_DeleteStatusCode = 1
	MemcacheDeleteResponse_NOT_FOUND MemcacheDeleteResponse_DeleteStatusCode = 2
)

// Enum value maps for MemcacheDeleteResponse_DeleteStatusCode.
var (
	MemcacheDeleteResponse_DeleteStatusCode_name = map[int32]string{
		1: "DELETED",
		2: "NOT_FOUND",
	}
	MemcacheDeleteResponse_DeleteStatusCode_value = map[string]int32{
		"DELETED":   1,
		"NOT_FOUND": 2,
	}
)

func (x MemcacheDeleteResponse_DeleteStatusCode) Enum() *MemcacheDeleteResponse_DeleteStatusCode {
	p := new(MemcacheDeleteResponse_DeleteStatusCode)
	*p = x
	return p
}

func (x MemcacheDeleteResponse_DeleteStatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheDeleteResponse_DeleteStatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[3].Descriptor()
}

func (MemcacheDeleteResponse_DeleteStatusCode) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[3]
}

func (x MemcacheDeleteResponse_DeleteStatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheDeleteResponse_DeleteStatusCode) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheDeleteResponse_DeleteStatusCode(num)
	return nil
}

// Deprecated: Use MemcacheDeleteResponse_DeleteStatusCode.Descriptor instead.
func (MemcacheDeleteResponse_DeleteStatusCode) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{8, 0}
}

type MemcacheIncrementRequest_Direction int32

const (
	MemcacheIncrementRequest_INCREMENT MemcacheIncrementRequest_Direction = 1
	MemcacheIncrementRequest_DECREMENT MemcacheIncrementRequest_Direction = 2
)

// Enum value maps for MemcacheIncrementRequest_Direction.
var (
	MemcacheIncrementRequest_Direction_name = map[int32]string{
		1: "INCREMENT",
		2: "DECREMENT",
	}
	MemcacheIncrementRequest_Direction_value = map[string]int32{
		"INCREMENT": 1,
		"DECREMENT": 2,
	}
)

func (x MemcacheIncrementRequest_Direction) Enum() *MemcacheIncrementRequest_Direction {
	p := new(MemcacheIncrementRequest_Direction)
	*p = x
	return p
}

func (x MemcacheIncrementRequest_Direction) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheIncrementRequest_Direction) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[4].Descriptor()
}

func (MemcacheIncrementRequest_Direction) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[4]
}

func (x MemcacheIncrementRequest_Direction) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheIncrementRequest_Direction) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheIncrementRequest_Direction(num)
	return nil
}

// Deprecated: Use MemcacheIncrementRequest_Direction.Descriptor instead.
func (MemcacheIncrementRequest_Direction) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{9, 0}
}

type MemcacheIncrementResponse_IncrementStatusCode int32

const (
	MemcacheIncrementResponse_OK          MemcacheIncrementResponse_IncrementStatusCode = 1
	MemcacheIncrementResponse_NOT_CHANGED MemcacheIncrementResponse_IncrementStatusCode = 2
	MemcacheIncrementResponse_ERROR       MemcacheIncrementResponse_IncrementStatusCode = 3
)

// Enum value maps for MemcacheIncrementResponse_IncrementStatusCode.
var (
	MemcacheIncrementResponse_IncrementStatusCode_name = map[int32]string{
		1: "OK",
		2: "NOT_CHANGED",
		3: "ERROR",
	}
	MemcacheIncrementResponse_IncrementStatusCode_value = map[string]int32{
		"OK":          1,
		"NOT_CHANGED": 2,
		"ERROR":       3,
	}
)

func (x MemcacheIncrementResponse_IncrementStatusCode) Enum() *MemcacheIncrementResponse_IncrementStatusCode {
	p := new(MemcacheIncrementResponse_IncrementStatusCode)
	*p = x
	return p
}

func (x MemcacheIncrementResponse_IncrementStatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (MemcacheIncrementResponse_IncrementStatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_memcache_service_proto_enumTypes[5].Descriptor()
}

func (MemcacheIncrementResponse_IncrementStatusCode) Type() protoreflect.EnumType {
	return &file_memcache_service_proto_enumTypes[5]
}

func (x MemcacheIncrementResponse_IncrementStatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Do not use.
func (x *MemcacheIncrementResponse_IncrementStatusCode) UnmarshalJSON(b []byte) error {
	num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
	if err != nil {
		return err
	}
	*x = MemcacheIncrementResponse_IncrementStatusCode(num)
	return nil
}

// Deprecated: Use MemcacheIncrementResponse_IncrementStatusCode.Descriptor instead.
func (MemcacheIncrementResponse_IncrementStatusCode) EnumDescriptor() ([]byte, []int) {
	return file_memcache_service_proto_rawDescGZIP(), []int{10, 0}
}

type MemcacheServiceError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*MemcacheServiceError) ProtoMessage() {}

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

type AppOverride struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	AppId *string `protobuf:"bytes,1,req,name=app_id,json=appId" json:"app_id,omitempty"`
	// Deprecated: Do not use.
	NumMemcachegBackends *int32 `protobuf:"varint,2,opt,name=num_memcacheg_backends,json=numMemcachegBackends" json:"num_memcacheg_backends,omitempty"`
	// Deprecated: Do not use.
	IgnoreShardlock *bool `protobuf:"varint,3,opt,name=ignore_shardlock,json=ignoreShardlock" json:"ignore_shardlock,omitempty"`
	// Deprecated: Do not use.
	MemcachePoolHint *string `protobuf:"bytes,4,opt,name=memcache_pool_hint,json=memcachePoolHint" json:"memcache_pool_hint,omitempty"`
	// Deprecated: Do not use.
	MemcacheShardingStrategy []byte `protobuf:"bytes,5,opt,name=memcache_sharding_strategy,json=memcacheShardingStrategy" json:"memcache_sharding_strategy,omitempty"`
}

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

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

func (*AppOverride) ProtoMessage() {}

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

func (x *AppOverride) GetAppId() string {
	if x != nil && x.AppId != nil {
		return *x.AppId
	}
	return ""
}

// Deprecated: Do not use.
func (x *AppOverride) GetNumMemcachegBackends() int32 {
	if x != nil && x.NumMemcachegBackends != nil {
		return *x.NumMemcachegBackends
	}
	return 0
}

// Deprecated: Do not use.
func (x *AppOverride) GetIgnoreShardlock() bool {
	if x != nil && x.IgnoreShardlock != nil {
		return *x.IgnoreShardlock
	}
	return false
}

// Deprecated: Do not use.
func (x *AppOverride) GetMemcachePoolHint() string {
	if x != nil && x.MemcachePoolHint != nil {
		return *x.MemcachePoolHint
	}
	return ""
}

// Deprecated: Do not use.
func (x *AppOverride) GetMemcacheShardingStrategy() []byte {
	if x != nil {
		return x.MemcacheShardingStrategy
	}
	return nil
}

type MemcacheGetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key       [][]byte     `protobuf:"bytes,1,rep,name=key" json:"key,omitempty"`
	NameSpace *string      `protobuf:"bytes,2,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	ForCas    *bool        `protobuf:"varint,4,opt,name=for_cas,json=forCas" json:"for_cas,omitempty"`
	Override  *AppOverride `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"`
	ForPeek   *bool        `protobuf:"varint,6,opt,name=for_peek,json=forPeek,def=0" json:"for_peek,omitempty"`
}

// Default values for MemcacheGetRequest fields.
const (
	Default_MemcacheGetRequest_NameSpace = string("")
	Default_MemcacheGetRequest_ForPeek   = bool(false)
)

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

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

func (*MemcacheGetRequest) ProtoMessage() {}

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

func (x *MemcacheGetRequest) GetKey() [][]byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *MemcacheGetRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheGetRequest_NameSpace
}

func (x *MemcacheGetRequest) GetForCas() bool {
	if x != nil && x.ForCas != nil {
		return *x.ForCas
	}
	return false
}

func (x *MemcacheGetRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

func (x *MemcacheGetRequest) GetForPeek() bool {
	if x != nil && x.ForPeek != nil {
		return *x.ForPeek
	}
	return Default_MemcacheGetRequest_ForPeek
}

type ItemTimestamps struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ExpirationTimeSec *int64 `protobuf:"varint,1,opt,name=expiration_time_sec,json=expirationTimeSec" json:"expiration_time_sec,omitempty"`
	LastAccessTimeSec *int64 `protobuf:"varint,2,opt,name=last_access_time_sec,json=lastAccessTimeSec" json:"last_access_time_sec,omitempty"`
	DeleteLockTimeSec *int64 `protobuf:"varint,3,opt,name=delete_lock_time_sec,json=deleteLockTimeSec" json:"delete_lock_time_sec,omitempty"`
}

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

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

func (*ItemTimestamps) ProtoMessage() {}

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

func (x *ItemTimestamps) GetExpirationTimeSec() int64 {
	if x != nil && x.ExpirationTimeSec != nil {
		return *x.ExpirationTimeSec
	}
	return 0
}

func (x *ItemTimestamps) GetLastAccessTimeSec() int64 {
	if x != nil && x.LastAccessTimeSec != nil {
		return *x.LastAccessTimeSec
	}
	return 0
}

func (x *ItemTimestamps) GetDeleteLockTimeSec() int64 {
	if x != nil && x.DeleteLockTimeSec != nil {
		return *x.DeleteLockTimeSec
	}
	return 0
}

type MemcacheGetResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item []*MemcacheGetResponse_Item `protobuf:"group,1,rep,name=Item,json=item" json:"item,omitempty"`
}

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

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

func (*MemcacheGetResponse) ProtoMessage() {}

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

func (x *MemcacheGetResponse) GetItem() []*MemcacheGetResponse_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

type MemcacheSetRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item      []*MemcacheSetRequest_Item `protobuf:"group,1,rep,name=Item,json=item" json:"item,omitempty"`
	NameSpace *string                    `protobuf:"bytes,7,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	Override  *AppOverride               `protobuf:"bytes,10,opt,name=override" json:"override,omitempty"`
}

// Default values for MemcacheSetRequest fields.
const (
	Default_MemcacheSetRequest_NameSpace = string("")
)

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

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

func (*MemcacheSetRequest) ProtoMessage() {}

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

func (x *MemcacheSetRequest) GetItem() []*MemcacheSetRequest_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *MemcacheSetRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheSetRequest_NameSpace
}

func (x *MemcacheSetRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheSetResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SetStatus []MemcacheSetResponse_SetStatusCode `protobuf:"varint,1,rep,name=set_status,json=setStatus,enum=appengine.MemcacheSetResponse_SetStatusCode" json:"set_status,omitempty"`
}

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

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

func (*MemcacheSetResponse) ProtoMessage() {}

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

func (x *MemcacheSetResponse) GetSetStatus() []MemcacheSetResponse_SetStatusCode {
	if x != nil {
		return x.SetStatus
	}
	return nil
}

type MemcacheDeleteRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item      []*MemcacheDeleteRequest_Item `protobuf:"group,1,rep,name=Item,json=item" json:"item,omitempty"`
	NameSpace *string                       `protobuf:"bytes,4,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	Override  *AppOverride                  `protobuf:"bytes,5,opt,name=override" json:"override,omitempty"`
}

// Default values for MemcacheDeleteRequest fields.
const (
	Default_MemcacheDeleteRequest_NameSpace = string("")
)

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

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

func (*MemcacheDeleteRequest) ProtoMessage() {}

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

func (x *MemcacheDeleteRequest) GetItem() []*MemcacheDeleteRequest_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *MemcacheDeleteRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheDeleteRequest_NameSpace
}

func (x *MemcacheDeleteRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheDeleteResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	DeleteStatus []MemcacheDeleteResponse_DeleteStatusCode `protobuf:"varint,1,rep,name=delete_status,json=deleteStatus,enum=appengine.MemcacheDeleteResponse_DeleteStatusCode" json:"delete_status,omitempty"`
}

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

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

func (*MemcacheDeleteResponse) ProtoMessage() {}

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

func (x *MemcacheDeleteResponse) GetDeleteStatus() []MemcacheDeleteResponse_DeleteStatusCode {
	if x != nil {
		return x.DeleteStatus
	}
	return nil
}

type MemcacheIncrementRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key          []byte                              `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
	NameSpace    *string                             `protobuf:"bytes,4,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	Delta        *uint64                             `protobuf:"varint,2,opt,name=delta,def=1" json:"delta,omitempty"`
	Direction    *MemcacheIncrementRequest_Direction `protobuf:"varint,3,opt,name=direction,enum=appengine.MemcacheIncrementRequest_Direction,def=1" json:"direction,omitempty"`
	InitialValue *uint64                             `protobuf:"varint,5,opt,name=initial_value,json=initialValue" json:"initial_value,omitempty"`
	InitialFlags *uint32                             `protobuf:"fixed32,6,opt,name=initial_flags,json=initialFlags" json:"initial_flags,omitempty"`
	Override     *AppOverride                        `protobuf:"bytes,7,opt,name=override" json:"override,omitempty"`
}

// Default values for MemcacheIncrementRequest fields.
const (
	Default_MemcacheIncrementRequest_NameSpace = string("")
	Default_MemcacheIncrementRequest_Delta     = uint64(1)
	Default_MemcacheIncrementRequest_Direction = MemcacheIncrementRequest_INCREMENT
)

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

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

func (*MemcacheIncrementRequest) ProtoMessage() {}

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

func (x *MemcacheIncrementRequest) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *MemcacheIncrementRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheIncrementRequest_NameSpace
}

func (x *MemcacheIncrementRequest) GetDelta() uint64 {
	if x != nil && x.Delta != nil {
		return *x.Delta
	}
	return Default_MemcacheIncrementRequest_Delta
}

func (x *MemcacheIncrementRequest) GetDirection() MemcacheIncrementRequest_Direction {
	if x != nil && x.Direction != nil {
		return *x.Direction
	}
	return Default_MemcacheIncrementRequest_Direction
}

func (x *MemcacheIncrementRequest) GetInitialValue() uint64 {
	if x != nil && x.InitialValue != nil {
		return *x.InitialValue
	}
	return 0
}

func (x *MemcacheIncrementRequest) GetInitialFlags() uint32 {
	if x != nil && x.InitialFlags != nil {
		return *x.InitialFlags
	}
	return 0
}

func (x *MemcacheIncrementRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheIncrementResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NewValue        *uint64                                        `protobuf:"varint,1,opt,name=new_value,json=newValue" json:"new_value,omitempty"`
	IncrementStatus *MemcacheIncrementResponse_IncrementStatusCode `protobuf:"varint,2,opt,name=increment_status,json=incrementStatus,enum=appengine.MemcacheIncrementResponse_IncrementStatusCode" json:"increment_status,omitempty"`
}

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

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

func (*MemcacheIncrementResponse) ProtoMessage() {}

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

func (x *MemcacheIncrementResponse) GetNewValue() uint64 {
	if x != nil && x.NewValue != nil {
		return *x.NewValue
	}
	return 0
}

func (x *MemcacheIncrementResponse) GetIncrementStatus() MemcacheIncrementResponse_IncrementStatusCode {
	if x != nil && x.IncrementStatus != nil {
		return *x.IncrementStatus
	}
	return MemcacheIncrementResponse_OK
}

type MemcacheBatchIncrementRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NameSpace *string                     `protobuf:"bytes,1,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	Item      []*MemcacheIncrementRequest `protobuf:"bytes,2,rep,name=item" json:"item,omitempty"`
	Override  *AppOverride                `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"`
}

// Default values for MemcacheBatchIncrementRequest fields.
const (
	Default_MemcacheBatchIncrementRequest_NameSpace = string("")
)

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

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

func (*MemcacheBatchIncrementRequest) ProtoMessage() {}

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

func (x *MemcacheBatchIncrementRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheBatchIncrementRequest_NameSpace
}

func (x *MemcacheBatchIncrementRequest) GetItem() []*MemcacheIncrementRequest {
	if x != nil {
		return x.Item
	}
	return nil
}

func (x *MemcacheBatchIncrementRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheBatchIncrementResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item []*MemcacheIncrementResponse `protobuf:"bytes,1,rep,name=item" json:"item,omitempty"`
}

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

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

func (*MemcacheBatchIncrementResponse) ProtoMessage() {}

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

func (x *MemcacheBatchIncrementResponse) GetItem() []*MemcacheIncrementResponse {
	if x != nil {
		return x.Item
	}
	return nil
}

type MemcacheFlushRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"`
}

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

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

func (*MemcacheFlushRequest) ProtoMessage() {}

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

func (x *MemcacheFlushRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheFlushResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*MemcacheFlushResponse) ProtoMessage() {}

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

type MemcacheStatsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Override *AppOverride `protobuf:"bytes,1,opt,name=override" json:"override,omitempty"`
}

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

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

func (*MemcacheStatsRequest) ProtoMessage() {}

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

func (x *MemcacheStatsRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MergedNamespaceStats struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Hits          *uint64 `protobuf:"varint,1,req,name=hits" json:"hits,omitempty"`
	Misses        *uint64 `protobuf:"varint,2,req,name=misses" json:"misses,omitempty"`
	ByteHits      *uint64 `protobuf:"varint,3,req,name=byte_hits,json=byteHits" json:"byte_hits,omitempty"`
	Items         *uint64 `protobuf:"varint,4,req,name=items" json:"items,omitempty"`
	Bytes         *uint64 `protobuf:"varint,5,req,name=bytes" json:"bytes,omitempty"`
	OldestItemAge *uint32 `protobuf:"fixed32,6,req,name=oldest_item_age,json=oldestItemAge" json:"oldest_item_age,omitempty"`
}

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

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

func (*MergedNamespaceStats) ProtoMessage() {}

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

func (x *MergedNamespaceStats) GetHits() uint64 {
	if x != nil && x.Hits != nil {
		return *x.Hits
	}
	return 0
}

func (x *MergedNamespaceStats) GetMisses() uint64 {
	if x != nil && x.Misses != nil {
		return *x.Misses
	}
	return 0
}

func (x *MergedNamespaceStats) GetByteHits() uint64 {
	if x != nil && x.ByteHits != nil {
		return *x.ByteHits
	}
	return 0
}

func (x *MergedNamespaceStats) GetItems() uint64 {
	if x != nil && x.Items != nil {
		return *x.Items
	}
	return 0
}

func (x *MergedNamespaceStats) GetBytes() uint64 {
	if x != nil && x.Bytes != nil {
		return *x.Bytes
	}
	return 0
}

func (x *MergedNamespaceStats) GetOldestItemAge() uint32 {
	if x != nil && x.OldestItemAge != nil {
		return *x.OldestItemAge
	}
	return 0
}

type MemcacheStatsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Stats *MergedNamespaceStats `protobuf:"bytes,1,opt,name=stats" json:"stats,omitempty"`
}

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

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

func (*MemcacheStatsResponse) ProtoMessage() {}

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

func (x *MemcacheStatsResponse) GetStats() *MergedNamespaceStats {
	if x != nil {
		return x.Stats
	}
	return nil
}

type MemcacheGrabTailRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ItemCount *int32       `protobuf:"varint,1,req,name=item_count,json=itemCount" json:"item_count,omitempty"`
	NameSpace *string      `protobuf:"bytes,2,opt,name=name_space,json=nameSpace,def=" json:"name_space,omitempty"`
	Override  *AppOverride `protobuf:"bytes,3,opt,name=override" json:"override,omitempty"`
}

// Default values for MemcacheGrabTailRequest fields.
const (
	Default_MemcacheGrabTailRequest_NameSpace = string("")
)

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

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

func (*MemcacheGrabTailRequest) ProtoMessage() {}

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

func (x *MemcacheGrabTailRequest) GetItemCount() int32 {
	if x != nil && x.ItemCount != nil {
		return *x.ItemCount
	}
	return 0
}

func (x *MemcacheGrabTailRequest) GetNameSpace() string {
	if x != nil && x.NameSpace != nil {
		return *x.NameSpace
	}
	return Default_MemcacheGrabTailRequest_NameSpace
}

func (x *MemcacheGrabTailRequest) GetOverride() *AppOverride {
	if x != nil {
		return x.Override
	}
	return nil
}

type MemcacheGrabTailResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Item []*MemcacheGrabTailResponse_Item `protobuf:"group,1,rep,name=Item,json=item" json:"item,omitempty"`
}

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

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

func (*MemcacheGrabTailResponse) ProtoMessage() {}

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

func (x *MemcacheGrabTailResponse) GetItem() []*MemcacheGrabTailResponse_Item {
	if x != nil {
		return x.Item
	}
	return nil
}

type MemcacheGetResponse_Item struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key              []byte          `protobuf:"bytes,2,req,name=key" json:"key,omitempty"`
	Value            []byte          `protobuf:"bytes,3,req,name=value" json:"value,omitempty"`
	Flags            *uint32         `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"`
	CasId            *uint64         `protobuf:"fixed64,5,opt,name=cas_id,json=casId" json:"cas_id,omitempty"`
	ExpiresInSeconds *int32          `protobuf:"varint,6,opt,name=expires_in_seconds,json=expiresInSeconds" json:"expires_in_seconds,omitempty"`
	Timestamps       *ItemTimestamps `protobuf:"bytes,8,opt,name=timestamps" json:"timestamps,omitempty"`
	IsDeleteLocked   *bool           `protobuf:"varint,9,opt,name=is_delete_locked,json=isDeleteLocked" json:"is_delete_locked,omitempty"`
}

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

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

func (*MemcacheGetResponse_Item) ProtoMessage() {}

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

func (x *MemcacheGetResponse_Item) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *MemcacheGetResponse_Item) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *MemcacheGetResponse_Item) GetFlags() uint32 {
	if x != nil && x.Flags != nil {
		return *x.Flags
	}
	return 0
}

func (x *MemcacheGetResponse_Item) GetCasId() uint64 {
	if x != nil && x.CasId != nil {
		return *x.CasId
	}
	return 0
}

func (x *MemcacheGetResponse_Item) GetExpiresInSeconds() int32 {
	if x != nil && x.ExpiresInSeconds != nil {
		return *x.ExpiresInSeconds
	}
	return 0
}

func (x *MemcacheGetResponse_Item) GetTimestamps() *ItemTimestamps {
	if x != nil {
		return x.Timestamps
	}
	return nil
}

func (x *MemcacheGetResponse_Item) GetIsDeleteLocked() bool {
	if x != nil && x.IsDeleteLocked != nil {
		return *x.IsDeleteLocked
	}
	return false
}

type MemcacheSetRequest_Item struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key            []byte                        `protobuf:"bytes,2,req,name=key" json:"key,omitempty"`
	Value          []byte                        `protobuf:"bytes,3,req,name=value" json:"value,omitempty"`
	Flags          *uint32                       `protobuf:"fixed32,4,opt,name=flags" json:"flags,omitempty"`
	SetPolicy      *MemcacheSetRequest_SetPolicy `protobuf:"varint,5,opt,name=set_policy,json=setPolicy,enum=appengine.MemcacheSetRequest_SetPolicy,def=1" json:"set_policy,omitempty"`
	ExpirationTime *uint32                       `protobuf:"fixed32,6,opt,name=expiration_time,json=expirationTime,def=0" json:"expiration_time,omitempty"`
	CasId          *uint64                       `protobuf:"fixed64,8,opt,name=cas_id,json=casId" json:"cas_id,omitempty"`
	ForCas         *bool                         `protobuf:"varint,9,opt,name=for_cas,json=forCas" json:"for_cas,omitempty"`
}

// Default values for MemcacheSetRequest_Item fields.
const (
	Default_MemcacheSetRequest_Item_SetPolicy      = MemcacheSetRequest_SET
	Default_MemcacheSetRequest_Item_ExpirationTime = uint32(0)
)

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

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

func (*MemcacheSetRequest_Item) ProtoMessage() {}

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

func (x *MemcacheSetRequest_Item) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *MemcacheSetRequest_Item) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *MemcacheSetRequest_Item) GetFlags() uint32 {
	if x != nil && x.Flags != nil {
		return *x.Flags
	}
	return 0
}

func (x *MemcacheSetRequest_Item) GetSetPolicy() MemcacheSetRequest_SetPolicy {
	if x != nil && x.SetPolicy != nil {
		return *x.SetPolicy
	}
	return Default_MemcacheSetRequest_Item_SetPolicy
}

func (x *MemcacheSetRequest_Item) GetExpirationTime() uint32 {
	if x != nil && x.ExpirationTime != nil {
		return *x.ExpirationTime
	}
	return Default_MemcacheSetRequest_Item_ExpirationTime
}

func (x *MemcacheSetRequest_Item) GetCasId() uint64 {
	if x != nil && x.CasId != nil {
		return *x.CasId
	}
	return 0
}

func (x *MemcacheSetRequest_Item) GetForCas() bool {
	if x != nil && x.ForCas != nil {
		return *x.ForCas
	}
	return false
}

type MemcacheDeleteRequest_Item struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Key        []byte  `protobuf:"bytes,2,req,name=key" json:"key,omitempty"`
	DeleteTime *uint32 `protobuf:"fixed32,3,opt,name=delete_time,json=deleteTime,def=0" json:"delete_time,omitempty"`
}

// Default values for MemcacheDeleteRequest_Item fields.
const (
	Default_MemcacheDeleteRequest_Item_DeleteTime = uint32(0)
)

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

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

func (*MemcacheDeleteRequest_Item) ProtoMessage() {}

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

func (x *MemcacheDeleteRequest_Item) GetKey() []byte {
	if x != nil {
		return x.Key
	}
	return nil
}

func (x *MemcacheDeleteRequest_Item) GetDeleteTime() uint32 {
	if x != nil && x.DeleteTime != nil {
		return *x.DeleteTime
	}
	return Default_MemcacheDeleteRequest_Item_DeleteTime
}

type MemcacheGrabTailResponse_Item struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value []byte  `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
	Flags *uint32 `protobuf:"fixed32,3,opt,name=flags" json:"flags,omitempty"`
}

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

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

func (*MemcacheGrabTailResponse_Item) ProtoMessage() {}

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

func (x *MemcacheGrabTailResponse_Item) GetValue() []byte {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *MemcacheGrabTailResponse_Item) GetFlags() uint32 {
	if x != nil && x.Flags != nil {
		return *x.Flags
	}
	return 0
}

var File_memcache_service_proto protoreflect.FileDescriptor

var file_memcache_service_proto_rawDesc = []byte{
	0x0a, 0x16, 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, 0x09,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10,
	0x00, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x41, 0x4d, 0x45,
	0x53, 0x50, 0x41, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x02, 0x12,
	0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45,
	0x4e, 0x49, 0x45, 0x44, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49,
	0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x06, 0x22, 0x81, 0x02, 0x0a, 0x0b, 0x41, 0x70,
	0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x70,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64,
	0x12, 0x38, 0x0a, 0x16, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x67, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
	0x42, 0x02, 0x18, 0x01, 0x52, 0x14, 0x6e, 0x75, 0x6d, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x67, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x69, 0x67,
	0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65,
	0x53, 0x68, 0x61, 0x72, 0x64, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x30, 0x0a, 0x12, 0x6d, 0x65, 0x6d,
	0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x1a, 0x6d,
	0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67,
	0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42,
	0x02, 0x18, 0x01, 0x52, 0x18, 0x6d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x68, 0x61,
	0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0xb6, 0x01,
	0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61,
	0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x5f, 0x63,
	0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x43, 0x61, 0x73,
	0x12, 0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41,
	0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72,
	0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x65, 0x65, 0x6b,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x05, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x52, 0x07, 0x66,
	0x6f, 0x72, 0x50, 0x65, 0x65, 0x6b, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x49, 0x74, 0x65, 0x6d, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x70,
	0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x14, 0x6c, 0x61, 0x73,
	0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65,
	0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x14, 0x64, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73,
	0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, 0x22, 0xbf, 0x02, 0x0a, 0x13,
	0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0a, 0x32, 0x23, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65,
	0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x1a, 0xee, 0x01, 0x0a,
	0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02,
	0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a,
	0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x6c,
	0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x06, 0x52, 0x05, 0x63, 0x61, 0x73, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x78,
	0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
	0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x49,
	0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61,
	0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65,
	0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
	0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0xc6, 0x03,
	0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0a, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d,
	0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a,
	0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a,
	0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f,
	0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
	0x65, 0x1a, 0xed, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x07, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f,
	0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x61,
	0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68,
	0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x3a, 0x03, 0x53, 0x45, 0x54, 0x52, 0x09, 0x73, 0x65, 0x74, 0x50,
	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x01,
	0x30, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x15, 0x0a, 0x06, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x06, 0x52, 0x05, 0x63, 0x61, 0x73, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x5f,
	0x63, 0x61, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x43, 0x61,
	0x73, 0x22, 0x33, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x07,
	0x0a, 0x03, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x02,
	0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x03, 0x12, 0x07, 0x0a,
	0x03, 0x43, 0x41, 0x53, 0x10, 0x04, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b,
	0x0a, 0x0a, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d,
	0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x52, 0x09, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x53,
	0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0a, 0x0a, 0x06,
	0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f,
	0x53, 0x54, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f,
	0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x04, 0x22,
	0xe5, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x69, 0x74, 0x65,
	0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04,
	0x69, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61,
	0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65,
	0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
	0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52,
	0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x3c, 0x0a, 0x04, 0x49, 0x74, 0x65,
	0x6d, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x01, 0x30, 0x52, 0x0a, 0x64, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x4d, 0x65, 0x6d, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x61, 0x70, 0x70, 0x65,
	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0c, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x2e, 0x0a, 0x10, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09,
	0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x22, 0xe7, 0x02, 0x0a, 0x18,
	0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61,
	0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00,
	0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x05, 0x64,
	0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x01, 0x31, 0x52, 0x05, 0x64,
	0x65, 0x6c, 0x74, 0x61, 0x12, 0x56, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x72,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45, 0x4d, 0x45, 0x4e,
	0x54, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
	0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x61,
	0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61,
	0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69,
	0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e,
	0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x29, 0x0a, 0x09, 0x44, 0x69,
	0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x43, 0x52, 0x45,
	0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x45, 0x43, 0x52, 0x45, 0x4d,
	0x45, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xd8, 0x01, 0x0a, 0x19, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63,
	0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x65, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x12, 0x63, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x61, 0x70, 0x70,
	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49,
	0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x2e, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x43, 0x6f, 0x64, 0x65, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x39, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x06, 0x0a, 0x02,
	0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e,
	0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03,
	0x22, 0xad, 0x01, 0x0a, 0x1d, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74,
	0x63, 0x68, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70,
	0x61, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65,
	0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x32, 0x0a, 0x08,
	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16,
	0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76,
	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x22, 0x5a, 0x0a, 0x1e, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x42, 0x61, 0x74, 0x63,
	0x68, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x24, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d,
	0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x4a, 0x0a, 0x14,
	0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
	0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08,
	0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63,
	0x61, 0x63, 0x68, 0x65, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x4a, 0x0a, 0x14, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65,
	0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70,
	0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x4f, 0x76, 0x65, 0x72, 0x72,
	0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0xb3, 0x01,
	0x0a, 0x14, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x74, 0x73, 0x18, 0x01,
	0x20, 0x02, 0x28, 0x04, 0x52, 0x04, 0x68, 0x69, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69,
	0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x02, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x69, 0x73, 0x73,
	0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x74, 0x73, 0x18,
	0x03, 0x20, 0x02, 0x28, 0x04, 0x52, 0x08, 0x62, 0x79, 0x74, 0x65, 0x48, 0x69, 0x74, 0x73, 0x12,
	0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x02, 0x28, 0x04, 0x52, 0x05,
	0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05,
	0x20, 0x02, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6f,
	0x6c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x61, 0x67, 0x65, 0x18, 0x06,
	0x20, 0x02, 0x28, 0x07, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d,
	0x41, 0x67, 0x65, 0x22, 0x4e, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70,
	0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x4e, 0x61,
	0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74,
	0x61, 0x74, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
	0x02, 0x28, 0x05, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f,
	0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x3a, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x12,
	0x32, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x41, 0x70,
	0x70, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x72,
	0x69, 0x64, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x4d, 0x65, 0x6d, 0x63, 0x61, 0x63, 0x68, 0x65,
	0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x3c, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x28,
	0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x63, 0x61,
	0x63, 0x68, 0x65, 0x47, 0x72, 0x61, 0x62, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x1a, 0x32,
	0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
	0x02, 0x20, 0x02, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x6c, 0x61,
	0x67, 0x73, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c,
	0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e,
	0x65, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x65, 0x6d, 0x63, 0x61,
	0x63, 0x68, 0x65,
}

var (
	file_memcache_service_proto_rawDescOnce sync.Once
	file_memcache_service_proto_rawDescData = file_memcache_service_proto_rawDesc
)

func file_memcache_service_proto_rawDescGZIP() []byte {
	file_memcache_service_proto_rawDescOnce.Do(func() {
		file_memcache_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_memcache_service_proto_rawDescData)
	})
	return file_memcache_service_proto_rawDescData
}

var file_memcache_service_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_memcache_service_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
var file_memcache_service_proto_goTypes = []interface{}{
	(MemcacheServiceError_ErrorCode)(0),                // 0: appengine.MemcacheServiceError.ErrorCode
	(MemcacheSetRequest_SetPolicy)(0),                  // 1: appengine.MemcacheSetRequest.SetPolicy
	(MemcacheSetResponse_SetStatusCode)(0),             // 2: appengine.MemcacheSetResponse.SetStatusCode
	(MemcacheDeleteResponse_DeleteStatusCode)(0),       // 3: appengine.MemcacheDeleteResponse.DeleteStatusCode
	(MemcacheIncrementRequest_Direction)(0),            // 4: appengine.MemcacheIncrementRequest.Direction
	(MemcacheIncrementResponse_IncrementStatusCode)(0), // 5: appengine.MemcacheIncrementResponse.IncrementStatusCode
	(*MemcacheServiceError)(nil),                       // 6: appengine.MemcacheServiceError
	(*AppOverride)(nil),                                // 7: appengine.AppOverride
	(*MemcacheGetRequest)(nil),                         // 8: appengine.MemcacheGetRequest
	(*ItemTimestamps)(nil),                             // 9: appengine.ItemTimestamps
	(*MemcacheGetResponse)(nil),                        // 10: appengine.MemcacheGetResponse
	(*MemcacheSetRequest)(nil),                         // 11: appengine.MemcacheSetRequest
	(*MemcacheSetResponse)(nil),                        // 12: appengine.MemcacheSetResponse
	(*MemcacheDeleteRequest)(nil),                      // 13: appengine.MemcacheDeleteRequest
	(*MemcacheDeleteResponse)(nil),                     // 14: appengine.MemcacheDeleteResponse
	(*MemcacheIncrementRequest)(nil),                   // 15: appengine.MemcacheIncrementRequest
	(*MemcacheIncrementResponse)(nil),                  // 16: appengine.MemcacheIncrementResponse
	(*MemcacheBatchIncrementRequest)(nil),              // 17: appengine.MemcacheBatchIncrementRequest
	(*MemcacheBatchIncrementResponse)(nil),             // 18: appengine.MemcacheBatchIncrementResponse
	(*MemcacheFlushRequest)(nil),                       // 19: appengine.MemcacheFlushRequest
	(*MemcacheFlushResponse)(nil),                      // 20: appengine.MemcacheFlushResponse
	(*MemcacheStatsRequest)(nil),                       // 21: appengine.MemcacheStatsRequest
	(*MergedNamespaceStats)(nil),                       // 22: appengine.MergedNamespaceStats
	(*MemcacheStatsResponse)(nil),                      // 23: appengine.MemcacheStatsResponse
	(*MemcacheGrabTailRequest)(nil),                    // 24: appengine.MemcacheGrabTailRequest
	(*MemcacheGrabTailResponse)(nil),                   // 25: appengine.MemcacheGrabTailResponse
	(*MemcacheGetResponse_Item)(nil),                   // 26: appengine.MemcacheGetResponse.Item
	(*MemcacheSetRequest_Item)(nil),                    // 27: appengine.MemcacheSetRequest.Item
	(*MemcacheDeleteRequest_Item)(nil),                 // 28: appengine.MemcacheDeleteRequest.Item
	(*MemcacheGrabTailResponse_Item)(nil),              // 29: appengine.MemcacheGrabTailResponse.Item
}
var file_memcache_service_proto_depIdxs = []int32{
	7,  // 0: appengine.MemcacheGetRequest.override:type_name -> appengine.AppOverride
	26, // 1: appengine.MemcacheGetResponse.item:type_name -> appengine.MemcacheGetResponse.Item
	27, // 2: appengine.MemcacheSetRequest.item:type_name -> appengine.MemcacheSetRequest.Item
	7,  // 3: appengine.MemcacheSetRequest.override:type_name -> appengine.AppOverride
	2,  // 4: appengine.MemcacheSetResponse.set_status:type_name -> appengine.MemcacheSetResponse.SetStatusCode
	28, // 5: appengine.MemcacheDeleteRequest.item:type_name -> appengine.MemcacheDeleteRequest.Item
	7,  // 6: appengine.MemcacheDeleteRequest.override:type_name -> appengine.AppOverride
	3,  // 7: appengine.MemcacheDeleteResponse.delete_status:type_name -> appengine.MemcacheDeleteResponse.DeleteStatusCode
	4,  // 8: appengine.MemcacheIncrementRequest.direction:type_name -> appengine.MemcacheIncrementRequest.Direction
	7,  // 9: appengine.MemcacheIncrementRequest.override:type_name -> appengine.AppOverride
	5,  // 10: appengine.MemcacheIncrementResponse.increment_status:type_name -> appengine.MemcacheIncrementResponse.IncrementStatusCode
	15, // 11: appengine.MemcacheBatchIncrementRequest.item:type_name -> appengine.MemcacheIncrementRequest
	7,  // 12: appengine.MemcacheBatchIncrementRequest.override:type_name -> appengine.AppOverride
	16, // 13: appengine.MemcacheBatchIncrementResponse.item:type_name -> appengine.MemcacheIncrementResponse
	7,  // 14: appengine.MemcacheFlushRequest.override:type_name -> appengine.AppOverride
	7,  // 15: appengine.MemcacheStatsRequest.override:type_name -> appengine.AppOverride
	22, // 16: appengine.MemcacheStatsResponse.stats:type_name -> appengine.MergedNamespaceStats
	7,  // 17: appengine.MemcacheGrabTailRequest.override:type_name -> appengine.AppOverride
	29, // 18: appengine.MemcacheGrabTailResponse.item:type_name -> appengine.MemcacheGrabTailResponse.Item
	9,  // 19: appengine.MemcacheGetResponse.Item.timestamps:type_name -> appengine.ItemTimestamps
	1,  // 20: appengine.MemcacheSetRequest.Item.set_policy:type_name -> appengine.MemcacheSetRequest.SetPolicy
	21, // [21:21] is the sub-list for method output_type
	21, // [21:21] is the sub-list for method input_type
	21, // [21:21] is the sub-list for extension type_name
	21, // [21:21] is the sub-list for extension extendee
	0,  // [0:21] is the sub-list for field type_name
}

func init() { file_memcache_service_proto_init() }
func file_memcache_service_proto_init() {
	if File_memcache_service_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_memcache_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheServiceError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AppOverride); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ItemTimestamps); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGetResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheSetRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheSetResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheDeleteRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheDeleteResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheIncrementRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheIncrementResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheBatchIncrementRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheBatchIncrementResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheFlushRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheFlushResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheStatsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MergedNamespaceStats); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheStatsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGrabTailRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGrabTailResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGetResponse_Item); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheSetRequest_Item); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheDeleteRequest_Item); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_memcache_service_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MemcacheGrabTailResponse_Item); 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_memcache_service_proto_rawDesc,
			NumEnums:      6,
			NumMessages:   24,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_memcache_service_proto_goTypes,
		DependencyIndexes: file_memcache_service_proto_depIdxs,
		EnumInfos:         file_memcache_service_proto_enumTypes,
		MessageInfos:      file_memcache_service_proto_msgTypes,
	}.Build()
	File_memcache_service_proto = out.File
	file_memcache_service_proto_rawDesc = nil
	file_memcache_service_proto_goTypes = nil
	file_memcache_service_proto_depIdxs = nil
}
