//
//Сервис ключей

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.30.0
// 	protoc        v4.23.1
// source: keyapis/access_control/v1/keyapis_access_control_rfid_v1.proto

package keyapis_access_control_v1

import (
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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 Rfid_PayType int32

const (
	// Значение не указано
	Rfid_PAY_TYPE_UNKNOWN Rfid_PayType = 0
	// Платный
	Rfid_PAID Rfid_PayType = 1
	// Бесплатный
	Rfid_FREE Rfid_PayType = 2
)

// Enum value maps for Rfid_PayType.
var (
	Rfid_PayType_name = map[int32]string{
		0: "PAY_TYPE_UNKNOWN",
		1: "PAID",
		2: "FREE",
	}
	Rfid_PayType_value = map[string]int32{
		"PAY_TYPE_UNKNOWN": 0,
		"PAID":             1,
		"FREE":             2,
	}
)

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

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

func (Rfid_PayType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[0].Descriptor()
}

func (Rfid_PayType) Type() protoreflect.EnumType {
	return &file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[0]
}

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

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

// Тип владельца ключа
type Rfid_HolderType int32

const (
	// Значение не указано
	Rfid_HOLDER_TYPE_UNKNOWN Rfid_HolderType = 0
	// Жилец
	Rfid_MASTER Rfid_HolderType = 1
	// Сотрудник УК
	Rfid_COMPANY Rfid_HolderType = 2
	// Ключ сотрудника ГАП
	Rfid_EXTERNAL_SELLER Rfid_HolderType = 3
	// Системный ключ
	Rfid_SYSTEM Rfid_HolderType = 4
)

// Enum value maps for Rfid_HolderType.
var (
	Rfid_HolderType_name = map[int32]string{
		0: "HOLDER_TYPE_UNKNOWN",
		1: "MASTER",
		2: "COMPANY",
		3: "EXTERNAL_SELLER",
		4: "SYSTEM",
	}
	Rfid_HolderType_value = map[string]int32{
		"HOLDER_TYPE_UNKNOWN": 0,
		"MASTER":              1,
		"COMPANY":             2,
		"EXTERNAL_SELLER":     3,
		"SYSTEM":              4,
	}
)

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

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

func (Rfid_HolderType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[1].Descriptor()
}

func (Rfid_HolderType) Type() protoreflect.EnumType {
	return &file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[1]
}

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

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

// Справочник типов значений сортировки.
// # Тип: byte
type RfidPaging_OrderByType int32

const (
	// Значение не указано
	RfidPaging_ORDER_BY_TYPE_UNKNOWN RfidPaging_OrderByType = 0
	// По времени создания
	RfidPaging_CREATED_AT RfidPaging_OrderByType = 1
	// По времени изменения
	RfidPaging_CHANGED_AT RfidPaging_OrderByType = 2
)

// Enum value maps for RfidPaging_OrderByType.
var (
	RfidPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "CREATED_AT",
		2: "CHANGED_AT",
	}
	RfidPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"CREATED_AT":            1,
		"CHANGED_AT":            2,
	}
)

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

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

func (RfidPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[2].Descriptor()
}

func (RfidPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[2]
}

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

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

// Справочник типов направлений сортировки.
// # Тип: byte
type RfidPaging_DirectionType int32

const (
	// Значение не указано
	RfidPaging_DIRECTION_TYPE_UNKNOWN RfidPaging_DirectionType = 0
	// От большего к меньшему
	RfidPaging_DESC RfidPaging_DirectionType = 1
	// От меньшего к большему
	RfidPaging_ASC RfidPaging_DirectionType = 2
)

// Enum value maps for RfidPaging_DirectionType.
var (
	RfidPaging_DirectionType_name = map[int32]string{
		0: "DIRECTION_TYPE_UNKNOWN",
		1: "DESC",
		2: "ASC",
	}
	RfidPaging_DirectionType_value = map[string]int32{
		"DIRECTION_TYPE_UNKNOWN": 0,
		"DESC":                   1,
		"ASC":                    2,
	}
)

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

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

func (RfidPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[3].Descriptor()
}

func (RfidPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes[3]
}

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

// Deprecated: Use RfidPaging_DirectionType.Descriptor instead.
func (RfidPaging_DirectionType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescGZIP(), []int{12, 1}
}

// Ключ.
// # Описание модели
type Rfid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа.
	// # Диапазон: 0..2147483647
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Идентификатор пользователя
	UserId *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Системное описание.
	// Обычно оставляет УК/Админ, пользователь его не видет
	Description *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Идентификатор компании
	CompanyId *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=company_id,json=companyId,proto3" json:"company_id,omitempty"`
	// Идентификатор создателя
	CreatorId *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"`
	// Код ключа (UID).
	// Уникальное значение.
	// # Паттерн: /^[0-9a-fA-F]{1,14}$/
	Key string `protobuf:"bytes,6,opt,name=key,proto3" json:"key,omitempty"`
	// Тип оплаты
	PayType Rfid_PayType `protobuf:"varint,7,opt,name=pay_type,json=payType,proto3,enum=keyapis.access_control.v1.Rfid_PayType" json:"pay_type,omitempty"`
	// Тип владельца ключа
	HolderType Rfid_HolderType `protobuf:"varint,8,opt,name=holder_type,json=holderType,proto3,enum=keyapis.access_control.v1.Rfid_HolderType" json:"holder_type,omitempty"`
	// Дата создания.
	// # Тип: DateTime
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Дата обновления.
	// # Тип: DateTime?
	ChangedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=changed_at,json=changedAt,proto3" json:"changed_at,omitempty"`
	// ОРПОН дома.
	// # Диапазон: 1..9223372036854775807
	Orpon int64 `protobuf:"varint,11,opt,name=orpon,proto3" json:"orpon,omitempty"`
	// Номер квартиры.
	// # Диапазон: 1..4
	RoomNumber string `protobuf:"bytes,12,opt,name=room_number,json=roomNumber,proto3" json:"room_number,omitempty"`
}

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

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

func (*Rfid) ProtoMessage() {}

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

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

func (x *Rfid) GetUserId() *wrapperspb.Int32Value {
	if x != nil {
		return x.UserId
	}
	return nil
}

func (x *Rfid) GetDescription() *wrapperspb.StringValue {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *Rfid) GetCompanyId() *wrapperspb.Int32Value {
	if x != nil {
		return x.CompanyId
	}
	return nil
}

func (x *Rfid) GetCreatorId() *wrapperspb.Int32Value {
	if x != nil {
		return x.CreatorId
	}
	return nil
}

func (x *Rfid) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

func (x *Rfid) GetPayType() Rfid_PayType {
	if x != nil {
		return x.PayType
	}
	return Rfid_PAY_TYPE_UNKNOWN
}

func (x *Rfid) GetHolderType() Rfid_HolderType {
	if x != nil {
		return x.HolderType
	}
	return Rfid_HOLDER_TYPE_UNKNOWN
}

func (x *Rfid) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *Rfid) GetChangedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ChangedAt
	}
	return nil
}

func (x *Rfid) GetOrpon() int64 {
	if x != nil {
		return x.Orpon
	}
	return 0
}

func (x *Rfid) GetRoomNumber() string {
	if x != nil {
		return x.RoomNumber
	}
	return ""
}

// Запрос получения ключа
type GetRfidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа.
	// # Диапазон: 0..2147483647
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*GetRfidRequest) ProtoMessage() {}

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

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

// Ответ на запрос получения ключа
type GetRfidResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetRfidResponse_Data
	//	*GetRfidResponse_Error_
	Type isGetRfidResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetRfidResponse) ProtoMessage() {}

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

func (m *GetRfidResponse) GetType() isGetRfidResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetRfidResponse) GetData() *Rfid {
	if x, ok := x.GetType().(*GetRfidResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetRfidResponse) GetError() *GetRfidResponse_Error {
	if x, ok := x.GetType().(*GetRfidResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetRfidResponse_Type interface {
	isGetRfidResponse_Type()
}

type GetRfidResponse_Data struct {
	// Ключ
	Data *Rfid `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetRfidResponse_Error_ struct {
	// Ошибка
	Error *GetRfidResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetRfidResponse_Data) isGetRfidResponse_Type() {}

func (*GetRfidResponse_Error_) isGetRfidResponse_Type() {}

// Запрос получения списка ключей
type GetRfidListRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр
	Filter *RfidFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Вариант разбиения на страницы
	//
	// Types that are assignable to Pagination:
	//
	//	*GetRfidListRequest_Paging
	Pagination isGetRfidListRequest_Pagination `protobuf_oneof:"pagination"`
}

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

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

func (*GetRfidListRequest) ProtoMessage() {}

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

func (x *GetRfidListRequest) GetFilter() *RfidFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetRfidListRequest) GetPagination() isGetRfidListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetRfidListRequest) GetPaging() *RfidPaging {
	if x, ok := x.GetPagination().(*GetRfidListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetRfidListRequest_Pagination interface {
	isGetRfidListRequest_Pagination()
}

type GetRfidListRequest_Paging struct {
	// Стандартный постраничный вывод
	Paging *RfidPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetRfidListRequest_Paging) isGetRfidListRequest_Pagination() {}

// Ответ на запрос получения списка ключей
type GetRfidListResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetRfidListResponse_Data
	//	*GetRfidListResponse_Error_
	Type isGetRfidListResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetRfidListResponse) ProtoMessage() {}

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

func (m *GetRfidListResponse) GetType() isGetRfidListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetRfidListResponse) GetData() *Rfid {
	if x, ok := x.GetType().(*GetRfidListResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetRfidListResponse) GetError() *GetRfidListResponse_Error {
	if x, ok := x.GetType().(*GetRfidListResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetRfidListResponse_Type interface {
	isGetRfidListResponse_Type()
}

type GetRfidListResponse_Data struct {
	// Ключ
	Data *Rfid `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type GetRfidListResponse_Error_ struct {
	// Ошибка
	Error *GetRfidListResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetRfidListResponse_Data) isGetRfidListResponse_Type() {}

func (*GetRfidListResponse_Error_) isGetRfidListResponse_Type() {}

// Запрос получения количества ключей
type GetRfidCountRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Фильтр
	Filter *RfidFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
}

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

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

func (*GetRfidCountRequest) ProtoMessage() {}

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

func (x *GetRfidCountRequest) GetFilter() *RfidFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

// Ответ на запрос получения количества ключей
type GetRfidCountResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*GetRfidCountResponse_Data
	//	*GetRfidCountResponse_Error_
	Type isGetRfidCountResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*GetRfidCountResponse) ProtoMessage() {}

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

func (m *GetRfidCountResponse) GetType() isGetRfidCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetRfidCountResponse) GetData() int32 {
	if x, ok := x.GetType().(*GetRfidCountResponse_Data); ok {
		return x.Data
	}
	return 0
}

func (x *GetRfidCountResponse) GetError() *GetRfidCountResponse_Error {
	if x, ok := x.GetType().(*GetRfidCountResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetRfidCountResponse_Type interface {
	isGetRfidCountResponse_Type()
}

type GetRfidCountResponse_Data struct {
	// Количество
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

type GetRfidCountResponse_Error_ struct {
	// Ошибка
	Error *GetRfidCountResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*GetRfidCountResponse_Data) isGetRfidCountResponse_Type() {}

func (*GetRfidCountResponse_Error_) isGetRfidCountResponse_Type() {}

// Запрос создания ключа
type PostRfidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Ключ
	Data *Rfid `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
}

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

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

func (*PostRfidRequest) ProtoMessage() {}

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

func (x *PostRfidRequest) GetData() *Rfid {
	if x != nil {
		return x.Data
	}
	return nil
}

// Ответ на запрос создания ключа
type PostRfidResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*PostRfidResponse_Data
	//	*PostRfidResponse_Error_
	Type isPostRfidResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*PostRfidResponse) ProtoMessage() {}

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

func (m *PostRfidResponse) GetType() isPostRfidResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *PostRfidResponse) GetData() *Rfid {
	if x, ok := x.GetType().(*PostRfidResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *PostRfidResponse) GetError() *PostRfidResponse_Error {
	if x, ok := x.GetType().(*PostRfidResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isPostRfidResponse_Type interface {
	isPostRfidResponse_Type()
}

type PostRfidResponse_Data struct {
	// Ключ
	Data *Rfid `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

type PostRfidResponse_Error_ struct {
	// Ошибка
	Error *PostRfidResponse_Error `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
}

func (*PostRfidResponse_Data) isPostRfidResponse_Type() {}

func (*PostRfidResponse_Error_) isPostRfidResponse_Type() {}

// Запрос удаления ключа
type DeleteRfidRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор ключа.
	// # Диапазон: 0..2147483647
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Флаг принудительного удаления ключа.
	// При принудительном удалении не гарантируется удаление ключа со всех физических устройств
	IsForceDelete bool `protobuf:"varint,2,opt,name=is_force_delete,json=isForceDelete,proto3" json:"is_force_delete,omitempty"`
}

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

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

func (*DeleteRfidRequest) ProtoMessage() {}

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

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

func (x *DeleteRfidRequest) GetIsForceDelete() bool {
	if x != nil {
		return x.IsForceDelete
	}
	return false
}

// Ответ на запрос удаления ключа
type DeleteRfidResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип результата
	//
	// Types that are assignable to Type:
	//
	//	*DeleteRfidResponse_Error_
	Type isDeleteRfidResponse_Type `protobuf_oneof:"type"`
}

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

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

func (*DeleteRfidResponse) ProtoMessage() {}

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

func (m *DeleteRfidResponse) GetType() isDeleteRfidResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *DeleteRfidResponse) GetError() *DeleteRfidResponse_Error {
	if x, ok := x.GetType().(*DeleteRfidResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isDeleteRfidResponse_Type interface {
	isDeleteRfidResponse_Type()
}

type DeleteRfidResponse_Error_ struct {
	// Ошибка
	Error *DeleteRfidResponse_Error `protobuf:"bytes,1,opt,name=error,proto3,oneof"`
}

func (*DeleteRfidResponse_Error_) isDeleteRfidResponse_Type() {}

// Фильтр по ключам
type RfidFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По типам владельца
	HolderTypes []Rfid_HolderType `protobuf:"varint,1,rep,packed,name=holder_types,json=holderTypes,proto3,enum=keyapis.access_control.v1.Rfid_HolderType" json:"holder_types,omitempty"`
	// По типам оплаты
	PayTypes []Rfid_PayType `protobuf:"varint,2,rep,packed,name=pay_types,json=payTypes,proto3,enum=keyapis.access_control.v1.Rfid_PayType" json:"pay_types,omitempty"`
	// По ОРПОНам
	Orpons []int64 `protobuf:"varint,3,rep,packed,name=orpons,proto3" json:"orpons,omitempty"`
	// По номерам квартир
	RoomNumbers []string `protobuf:"bytes,4,rep,name=room_numbers,json=roomNumbers,proto3" json:"room_numbers,omitempty"`
	// По идентификаторам пользователей
	UserIds []int32 `protobuf:"varint,5,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"`
	// По идентификаторам компаний
	CompanyIds []int32 `protobuf:"varint,6,rep,packed,name=company_ids,json=companyIds,proto3" json:"company_ids,omitempty"`
	// По кодам ключа
	Keys []string `protobuf:"bytes,7,rep,name=keys,proto3" json:"keys,omitempty"`
}

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

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

func (*RfidFilter) ProtoMessage() {}

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

func (x *RfidFilter) GetHolderTypes() []Rfid_HolderType {
	if x != nil {
		return x.HolderTypes
	}
	return nil
}

func (x *RfidFilter) GetPayTypes() []Rfid_PayType {
	if x != nil {
		return x.PayTypes
	}
	return nil
}

func (x *RfidFilter) GetOrpons() []int64 {
	if x != nil {
		return x.Orpons
	}
	return nil
}

func (x *RfidFilter) GetRoomNumbers() []string {
	if x != nil {
		return x.RoomNumbers
	}
	return nil
}

func (x *RfidFilter) GetUserIds() []int32 {
	if x != nil {
		return x.UserIds
	}
	return nil
}

func (x *RfidFilter) GetCompanyIds() []int32 {
	if x != nil {
		return x.CompanyIds
	}
	return nil
}

func (x *RfidFilter) GetKeys() []string {
	if x != nil {
		return x.Keys
	}
	return nil
}

// Постраничный вывод
type RfidPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Тип значения сортировки.
	// Если значение не передано, то будет взято значение по умолчанию.
	// # По умолчанию: CHANGED_AT
	OrderByType RfidPaging_OrderByType `protobuf:"varint,1,opt,name=order_by_type,json=orderByType,proto3,enum=keyapis.access_control.v1.RfidPaging_OrderByType" json:"order_by_type,omitempty"`
	// Тип направления сортировки.
	// # По умолчанию: DESC
	DirectionType RfidPaging_DirectionType `protobuf:"varint,2,opt,name=direction_type,json=directionType,proto3,enum=keyapis.access_control.v1.RfidPaging_DirectionType" json:"direction_type,omitempty"`
	// Количество записей на страницу.
	// Если значение 0 (не передано), то будет взято значение по умолчанию.
	// # Диапазон: 0..100.
	// # По умолчанию: 20
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// Сдвиг.
	// # Диапазон: 0..2147483647
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
}

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

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

func (*RfidPaging) ProtoMessage() {}

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

func (x *RfidPaging) GetOrderByType() RfidPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return RfidPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *RfidPaging) GetDirectionType() RfidPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return RfidPaging_DIRECTION_TYPE_UNKNOWN
}

func (x *RfidPaging) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *RfidPaging) GetOffset() int32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

// Ошибка сохранения ключа.
// Эти проверки выполняются при работе с базой данных и сторонними сервисами
type Rfid_SavingError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина
	//
	// Types that are assignable to Reason:
	//
	//	*Rfid_SavingError_Conflict_
	//	*Rfid_SavingError_KeyExist_
	//	*Rfid_SavingError_KeyCodeCannotBeChanged_
	//	*Rfid_SavingError_ExceededQuantityOfKeysForRoom_
	//	*Rfid_SavingError_KeyIsUsed_
	//	*Rfid_SavingError_HolderTypeForbidden_
	Reason isRfid_SavingError_Reason `protobuf_oneof:"reason"`
}

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

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

func (*Rfid_SavingError) ProtoMessage() {}

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

func (m *Rfid_SavingError) GetReason() isRfid_SavingError_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *Rfid_SavingError) GetConflict() *Rfid_SavingError_Conflict {
	if x, ok := x.GetReason().(*Rfid_SavingError_Conflict_); ok {
		return x.Conflict
	}
	return nil
}

func (x *Rfid_SavingError) GetKeyExist() *Rfid_SavingError_KeyExist {
	if x, ok := x.GetReason().(*Rfid_SavingError_KeyExist_); ok {
		return x.KeyExist
	}
	return nil
}

func (x *Rfid_SavingError) GetKeyCodeCannotBeChanged() *Rfid_SavingError_KeyCodeCannotBeChanged {
	if x, ok := x.GetReason().(*Rfid_SavingError_KeyCodeCannotBeChanged_); ok {
		return x.KeyCodeCannotBeChanged
	}
	return nil
}

func (x *Rfid_SavingError) GetExceededQuantityOfKeysForRoom() *Rfid_SavingError_ExceededQuantityOfKeysForRoom {
	if x, ok := x.GetReason().(*Rfid_SavingError_ExceededQuantityOfKeysForRoom_); ok {
		return x.ExceededQuantityOfKeysForRoom
	}
	return nil
}

func (x *Rfid_SavingError) GetKeyIsUsed() *Rfid_SavingError_KeyIsUsed {
	if x, ok := x.GetReason().(*Rfid_SavingError_KeyIsUsed_); ok {
		return x.KeyIsUsed
	}
	return nil
}

func (x *Rfid_SavingError) GetHolderTypeForbidden() *Rfid_SavingError_HolderTypeForbidden {
	if x, ok := x.GetReason().(*Rfid_SavingError_HolderTypeForbidden_); ok {
		return x.HolderTypeForbidden
	}
	return nil
}

type isRfid_SavingError_Reason interface {
	isRfid_SavingError_Reason()
}

type Rfid_SavingError_Conflict_ struct {
	// Конфликт версий
	Conflict *Rfid_SavingError_Conflict `protobuf:"bytes,1,opt,name=conflict,proto3,oneof"`
}

type Rfid_SavingError_KeyExist_ struct {
	// Данный ключ уже существует
	KeyExist *Rfid_SavingError_KeyExist `protobuf:"bytes,2,opt,name=key_exist,json=keyExist,proto3,oneof"`
}

type Rfid_SavingError_KeyCodeCannotBeChanged_ struct {
	// Нельзя изменить код ключа
	KeyCodeCannotBeChanged *Rfid_SavingError_KeyCodeCannotBeChanged `protobuf:"bytes,3,opt,name=key_code_cannot_be_changed,json=keyCodeCannotBeChanged,proto3,oneof"`
}

type Rfid_SavingError_ExceededQuantityOfKeysForRoom_ struct {
	// Превышено максимально допустимое количество ключей (16) для квартиры
	ExceededQuantityOfKeysForRoom *Rfid_SavingError_ExceededQuantityOfKeysForRoom `protobuf:"bytes,4,opt,name=exceeded_quantity_of_keys_for_room,json=exceededQuantityOfKeysForRoom,proto3,oneof"`
}

type Rfid_SavingError_KeyIsUsed_ struct {
	// Ключ используется на другой квартире
	KeyIsUsed *Rfid_SavingError_KeyIsUsed `protobuf:"bytes,5,opt,name=key_is_used,json=keyIsUsed,proto3,oneof"`
}

type Rfid_SavingError_HolderTypeForbidden_ struct {
	// Нельзя создавать / изменять ключ с переданным типом владельца
	HolderTypeForbidden *Rfid_SavingError_HolderTypeForbidden `protobuf:"bytes,6,opt,name=holder_type_forbidden,json=holderTypeForbidden,proto3,oneof"`
}

func (*Rfid_SavingError_Conflict_) isRfid_SavingError_Reason() {}

func (*Rfid_SavingError_KeyExist_) isRfid_SavingError_Reason() {}

func (*Rfid_SavingError_KeyCodeCannotBeChanged_) isRfid_SavingError_Reason() {}

func (*Rfid_SavingError_ExceededQuantityOfKeysForRoom_) isRfid_SavingError_Reason() {}

func (*Rfid_SavingError_KeyIsUsed_) isRfid_SavingError_Reason() {}

func (*Rfid_SavingError_HolderTypeForbidden_) isRfid_SavingError_Reason() {}

// Конфликт версий.
// Причины:
// - В базе хранится другая версия строки, значения changed_at отличаются
type Rfid_SavingError_Conflict struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_Conflict) ProtoMessage() {}

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

// Данный ключ уже существует.
// Причины:
// - При попытке создания ключа в системе уже существует ключ с таким же кодом
type Rfid_SavingError_KeyExist struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_KeyExist) ProtoMessage() {}

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

// Нельзя изменить код ключа.
// Причины:
// - При изменении ключа нельзя менять поле key (код ключа)
type Rfid_SavingError_KeyCodeCannotBeChanged struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_KeyCodeCannotBeChanged) ProtoMessage() {}

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

// Превышено максимально допустимое количество ключей (16) для квартиры
type Rfid_SavingError_ExceededQuantityOfKeysForRoom struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_ExceededQuantityOfKeysForRoom) ProtoMessage() {}

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

// Ключ используется на другой квартире
type Rfid_SavingError_KeyIsUsed struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_KeyIsUsed) ProtoMessage() {}

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

// Нельзя создавать / изменять ключ с переданным типом владельца.
// Доступные типы владельца:
// - Жилец (мастер)
type Rfid_SavingError_HolderTypeForbidden struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*Rfid_SavingError_HolderTypeForbidden) ProtoMessage() {}

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

// Ошибка
type GetRfidResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetRfidResponse_Error_Validation
	Reason isGetRfidResponse_Error_Reason `protobuf_oneof:"reason"`
}

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

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

func (*GetRfidResponse_Error) ProtoMessage() {}

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

func (m *GetRfidResponse_Error) GetReason() isGetRfidResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetRfidResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetRfidResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetRfidResponse_Error_Reason interface {
	isGetRfidResponse_Error_Reason()
}

type GetRfidResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetRfidResponse_Error_Validation) isGetRfidResponse_Error_Reason() {}

// Ошибка
type GetRfidListResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetRfidListResponse_Error_Validation
	Reason isGetRfidListResponse_Error_Reason `protobuf_oneof:"reason"`
}

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

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

func (*GetRfidListResponse_Error) ProtoMessage() {}

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

func (m *GetRfidListResponse_Error) GetReason() isGetRfidListResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetRfidListResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetRfidListResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetRfidListResponse_Error_Reason interface {
	isGetRfidListResponse_Error_Reason()
}

type GetRfidListResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetRfidListResponse_Error_Validation) isGetRfidListResponse_Error_Reason() {}

// Ошибка
type GetRfidCountResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*GetRfidCountResponse_Error_Validation
	Reason isGetRfidCountResponse_Error_Reason `protobuf_oneof:"reason"`
}

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

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

func (*GetRfidCountResponse_Error) ProtoMessage() {}

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

func (m *GetRfidCountResponse_Error) GetReason() isGetRfidCountResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetRfidCountResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*GetRfidCountResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isGetRfidCountResponse_Error_Reason interface {
	isGetRfidCountResponse_Error_Reason()
}

type GetRfidCountResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*GetRfidCountResponse_Error_Validation) isGetRfidCountResponse_Error_Reason() {}

// Ошибка
type PostRfidResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*PostRfidResponse_Error_Validation
	//	*PostRfidResponse_Error_Saving
	Reason isPostRfidResponse_Error_Reason `protobuf_oneof:"reason"`
}

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

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

func (*PostRfidResponse_Error) ProtoMessage() {}

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

func (m *PostRfidResponse_Error) GetReason() isPostRfidResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *PostRfidResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*PostRfidResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

func (x *PostRfidResponse_Error) GetSaving() *Rfid_SavingError {
	if x, ok := x.GetReason().(*PostRfidResponse_Error_Saving); ok {
		return x.Saving
	}
	return nil
}

type isPostRfidResponse_Error_Reason interface {
	isPostRfidResponse_Error_Reason()
}

type PostRfidResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

type PostRfidResponse_Error_Saving struct {
	// Ошибка сохранения
	Saving *Rfid_SavingError `protobuf:"bytes,2,opt,name=saving,proto3,oneof"`
}

func (*PostRfidResponse_Error_Validation) isPostRfidResponse_Error_Reason() {}

func (*PostRfidResponse_Error_Saving) isPostRfidResponse_Error_Reason() {}

// Ошибка запроса на удаление ключа
type DeleteRfidResponse_Error struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Причина ошибки
	//
	// Types that are assignable to Reason:
	//
	//	*DeleteRfidResponse_Error_Validation
	Reason isDeleteRfidResponse_Error_Reason `protobuf_oneof:"reason"`
}

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

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

func (*DeleteRfidResponse_Error) ProtoMessage() {}

func (x *DeleteRfidResponse_Error) ProtoReflect() protoreflect.Message {
	mi := &file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteRfidResponse_Error.ProtoReflect.Descriptor instead.
func (*DeleteRfidResponse_Error) Descriptor() ([]byte, []int) {
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescGZIP(), []int{10, 0}
}

func (m *DeleteRfidResponse_Error) GetReason() isDeleteRfidResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *DeleteRfidResponse_Error) GetValidation() *ValidationError {
	if x, ok := x.GetReason().(*DeleteRfidResponse_Error_Validation); ok {
		return x.Validation
	}
	return nil
}

type isDeleteRfidResponse_Error_Reason interface {
	isDeleteRfidResponse_Error_Reason()
}

type DeleteRfidResponse_Error_Validation struct {
	// Ошибка валидации
	Validation *ValidationError `protobuf:"bytes,1,opt,name=validation,proto3,oneof"`
}

func (*DeleteRfidResponse_Error_Validation) isDeleteRfidResponse_Error_Reason() {}

var File_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto protoreflect.FileDescriptor

var file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDesc = []byte{
	0x0a, 0x3e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x5f, 0x72, 0x66, 0x69, 0x64, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x12, 0x19, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
	0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x1e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61,
	0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x61,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xae, 0x0c, 0x0a, 0x04, 0x52, 0x66, 0x69, 0x64, 0x12, 0x0e,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34,
	0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x75, 0x73,
	0x65, 0x72, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f,
	0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49, 0x64,
	0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x15, 0x0a, 0x03,
	0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03,
	0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x0b,
	0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66,
	0x69, 0x64, 0x2e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0,
	0x41, 0x02, 0x52, 0x0a, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e,
	0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 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, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39,
	0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 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, 0x09,
	0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6f, 0x72, 0x70,
	0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6f,
	0x72, 0x70, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a,
	0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x1a, 0xa3, 0x06, 0x0a, 0x0b, 0x53,
	0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x52, 0x0a, 0x08, 0x63, 0x6f,
	0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x53, 0x61,
	0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69,
	0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x12, 0x53,
	0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66,
	0x69, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b,
	0x65, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x45, 0x78,
	0x69, 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x1a, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65,
	0x5f, 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67,
	0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x6e,
	0x6e, 0x6f, 0x74, 0x42, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x48, 0x00, 0x52, 0x16,
	0x6b, 0x65, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x43,
	0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x12, 0x96, 0x01, 0x0a, 0x22, 0x65, 0x78, 0x63, 0x65, 0x65,
	0x64, 0x65, 0x64, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x66, 0x5f,
	0x6b, 0x65, 0x79, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x66, 0x69, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x2e, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74,
	0x79, 0x4f, 0x66, 0x4b, 0x65, 0x79, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x48, 0x00,
	0x52, 0x1d, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69,
	0x74, 0x79, 0x4f, 0x66, 0x4b, 0x65, 0x79, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x6f, 0x6f, 0x6d, 0x12,
	0x57, 0x0a, 0x0b, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31,
	0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x2e, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x55, 0x73, 0x65, 0x64, 0x48, 0x00, 0x52, 0x09, 0x6b,
	0x65, 0x79, 0x49, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x75, 0x0a, 0x15, 0x68, 0x6f, 0x6c, 0x64,
	0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65,
	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x2e, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x46,
	0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x68, 0x6f, 0x6c, 0x64,
	0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x1a,
	0x0a, 0x0a, 0x08, 0x43, 0x6f, 0x6e, 0x66, 0x6c, 0x69, 0x63, 0x74, 0x1a, 0x0a, 0x0a, 0x08, 0x4b,
	0x65, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x1a, 0x18, 0x0a, 0x16, 0x4b, 0x65, 0x79, 0x43, 0x6f,
	0x64, 0x65, 0x43, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x42, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65,
	0x64, 0x1a, 0x1f, 0x0a, 0x1d, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x51, 0x75, 0x61,
	0x6e, 0x74, 0x69, 0x74, 0x79, 0x4f, 0x66, 0x4b, 0x65, 0x79, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x6f,
	0x6f, 0x6d, 0x1a, 0x0b, 0x0a, 0x09, 0x4b, 0x65, 0x79, 0x49, 0x73, 0x55, 0x73, 0x65, 0x64, 0x1a,
	0x15, 0x0a, 0x13, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6f, 0x72,
	0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x22, 0x33, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x50,
	0x41, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
	0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46,
	0x52, 0x45, 0x45, 0x10, 0x02, 0x22, 0x5f, 0x0a, 0x0a, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x48, 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x5f, 0x54, 0x59,
	0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
	0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50,
	0x41, 0x4e, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41,
	0x4c, 0x5f, 0x53, 0x45, 0x4c, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x59,
	0x53, 0x54, 0x45, 0x4d, 0x10, 0x04, 0x22, 0x25, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69,
	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0xfb, 0x01,
	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72,
	0x6f, 0x72, 0x1a, 0x5f, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x12,
	0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52,
	0x66, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66,
	0x69, 0x64, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x67, 0x69,
	0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x22, 0x83, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e,
	0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12,
	0x4c, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66,
	0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45,
	0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x5f, 0x0a,
	0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06,
	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x54, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69,
	0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a,
	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x46, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xe4, 0x01, 0x0a,
	0x14, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x05, 0x65,
	0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x5f, 0x0a, 0x05, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x74,
	0x79, 0x70, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31,
	0x2e, 0x52, 0x66, 0x69, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
	0x22, 0xc5, 0x02, 0x0a, 0x10, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e,
	0x52, 0x66, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x66, 0x69, 0x64,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00,
	0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0xa6, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76,
	0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x45, 0x0a, 0x06, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x2b, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64,
	0x2e, 0x53, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x06,
	0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x50, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02,
	0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x64,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x46,
	0x6f, 0x72, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x12, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x12, 0x4b, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
	0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x5f,
	0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42,
	0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x0a, 0x52, 0x66, 0x69, 0x64,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0c, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72,
	0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x48, 0x6f,
	0x6c, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72,
	0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70,
	0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x2e, 0x50, 0x61, 0x79, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x08, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f,
	0x72, 0x70, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x72, 0x70,
	0x6f, 0x6e, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x62,
	0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x6d, 0x4e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69,
	0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
	0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x64, 0x73,
	0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49,
	0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x0a, 0x52, 0x66, 0x69, 0x64, 0x50,
	0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x55, 0x0a, 0x0d, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62,
	0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x66, 0x69, 0x64, 0x50, 0x61, 0x67,
	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x0e,
	0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61,
	0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31,
	0x2e, 0x52, 0x66, 0x69, 0x64, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x44, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06,
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x48, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42,
	0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42,
	0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
	0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x01,
	0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x10, 0x02,
	0x22, 0x3e, 0x0a, 0x0d, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a,
	0x04, 0x44, 0x45, 0x53, 0x43, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x53, 0x43, 0x10, 0x02,
	0x32, 0xf6, 0x05, 0x0a, 0x0b, 0x52, 0x66, 0x69, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x12, 0x8a, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x12, 0x29, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x63,
	0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69,
	0x2f, 0x76, 0x31, 0x2f, 0x72, 0x66, 0x69, 0x64, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x98, 0x01,
	0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69,
	0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3,
	0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x66, 0x69,
	0x64, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x12, 0x9a, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74,
	0x52, 0x66, 0x69, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x66, 0x69, 0x64, 0x43, 0x6f, 0x75,
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93,
	0x02, 0x23, 0x12, 0x21, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
	0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x66, 0x69, 0x64, 0x2f,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x74, 0x52, 0x66,
	0x69, 0x64, 0x12, 0x2a, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50,
	0x6f, 0x73, 0x74, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x52,
	0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72,
	0x66, 0x69, 0x64, 0x12, 0x93, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x66,
	0x69, 0x64, 0x12, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x52, 0x66, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x20, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f,
	0x72, 0x66, 0x69, 0x64, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xcd, 0x01, 0x0a, 0x1c, 0x72, 0x75,
	0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x76, 0x31, 0x42, 0x1b, 0x4b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
	0x56, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x48, 0x03, 0x50, 0x00, 0x5a, 0x1a, 0x2f, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
	0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x76, 0x31, 0xd8, 0x01, 0x01, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x16,
	0x4b, 0x45, 0x59, 0x41, 0x50, 0x49, 0x53, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x43, 0x4f, 0x4e,
	0x54, 0x52, 0x4f, 0x4c, 0x56, 0x31, 0xaa, 0x02, 0x18, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x56,
	0x31, 0xca, 0x02, 0x18, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5c, 0x41, 0x63, 0x63, 0x65,
	0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x4b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f,
	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x33,
}

var (
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescOnce sync.Once
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescData = file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDesc
)

func file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescGZIP() []byte {
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescData)
	})
	return file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDescData
}

var file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
var file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_goTypes = []interface{}{
	(Rfid_PayType)(0),                                      // 0: keyapis.access_control.v1.Rfid.PayType
	(Rfid_HolderType)(0),                                   // 1: keyapis.access_control.v1.Rfid.HolderType
	(RfidPaging_OrderByType)(0),                            // 2: keyapis.access_control.v1.RfidPaging.OrderByType
	(RfidPaging_DirectionType)(0),                          // 3: keyapis.access_control.v1.RfidPaging.DirectionType
	(*Rfid)(nil),                                           // 4: keyapis.access_control.v1.Rfid
	(*GetRfidRequest)(nil),                                 // 5: keyapis.access_control.v1.GetRfidRequest
	(*GetRfidResponse)(nil),                                // 6: keyapis.access_control.v1.GetRfidResponse
	(*GetRfidListRequest)(nil),                             // 7: keyapis.access_control.v1.GetRfidListRequest
	(*GetRfidListResponse)(nil),                            // 8: keyapis.access_control.v1.GetRfidListResponse
	(*GetRfidCountRequest)(nil),                            // 9: keyapis.access_control.v1.GetRfidCountRequest
	(*GetRfidCountResponse)(nil),                           // 10: keyapis.access_control.v1.GetRfidCountResponse
	(*PostRfidRequest)(nil),                                // 11: keyapis.access_control.v1.PostRfidRequest
	(*PostRfidResponse)(nil),                               // 12: keyapis.access_control.v1.PostRfidResponse
	(*DeleteRfidRequest)(nil),                              // 13: keyapis.access_control.v1.DeleteRfidRequest
	(*DeleteRfidResponse)(nil),                             // 14: keyapis.access_control.v1.DeleteRfidResponse
	(*RfidFilter)(nil),                                     // 15: keyapis.access_control.v1.RfidFilter
	(*RfidPaging)(nil),                                     // 16: keyapis.access_control.v1.RfidPaging
	(*Rfid_SavingError)(nil),                               // 17: keyapis.access_control.v1.Rfid.SavingError
	(*Rfid_SavingError_Conflict)(nil),                      // 18: keyapis.access_control.v1.Rfid.SavingError.Conflict
	(*Rfid_SavingError_KeyExist)(nil),                      // 19: keyapis.access_control.v1.Rfid.SavingError.KeyExist
	(*Rfid_SavingError_KeyCodeCannotBeChanged)(nil),        // 20: keyapis.access_control.v1.Rfid.SavingError.KeyCodeCannotBeChanged
	(*Rfid_SavingError_ExceededQuantityOfKeysForRoom)(nil), // 21: keyapis.access_control.v1.Rfid.SavingError.ExceededQuantityOfKeysForRoom
	(*Rfid_SavingError_KeyIsUsed)(nil),                     // 22: keyapis.access_control.v1.Rfid.SavingError.KeyIsUsed
	(*Rfid_SavingError_HolderTypeForbidden)(nil),           // 23: keyapis.access_control.v1.Rfid.SavingError.HolderTypeForbidden
	(*GetRfidResponse_Error)(nil),                          // 24: keyapis.access_control.v1.GetRfidResponse.Error
	(*GetRfidListResponse_Error)(nil),                      // 25: keyapis.access_control.v1.GetRfidListResponse.Error
	(*GetRfidCountResponse_Error)(nil),                     // 26: keyapis.access_control.v1.GetRfidCountResponse.Error
	(*PostRfidResponse_Error)(nil),                         // 27: keyapis.access_control.v1.PostRfidResponse.Error
	(*DeleteRfidResponse_Error)(nil),                       // 28: keyapis.access_control.v1.DeleteRfidResponse.Error
	(*wrapperspb.Int32Value)(nil),                          // 29: google.protobuf.Int32Value
	(*wrapperspb.StringValue)(nil),                         // 30: google.protobuf.StringValue
	(*timestamppb.Timestamp)(nil),                          // 31: google.protobuf.Timestamp
	(*ValidationError)(nil),                                // 32: keyapis.access_control.v1.ValidationError
}
var file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_depIdxs = []int32{
	29, // 0: keyapis.access_control.v1.Rfid.user_id:type_name -> google.protobuf.Int32Value
	30, // 1: keyapis.access_control.v1.Rfid.description:type_name -> google.protobuf.StringValue
	29, // 2: keyapis.access_control.v1.Rfid.company_id:type_name -> google.protobuf.Int32Value
	29, // 3: keyapis.access_control.v1.Rfid.creator_id:type_name -> google.protobuf.Int32Value
	0,  // 4: keyapis.access_control.v1.Rfid.pay_type:type_name -> keyapis.access_control.v1.Rfid.PayType
	1,  // 5: keyapis.access_control.v1.Rfid.holder_type:type_name -> keyapis.access_control.v1.Rfid.HolderType
	31, // 6: keyapis.access_control.v1.Rfid.created_at:type_name -> google.protobuf.Timestamp
	31, // 7: keyapis.access_control.v1.Rfid.changed_at:type_name -> google.protobuf.Timestamp
	4,  // 8: keyapis.access_control.v1.GetRfidResponse.data:type_name -> keyapis.access_control.v1.Rfid
	24, // 9: keyapis.access_control.v1.GetRfidResponse.error:type_name -> keyapis.access_control.v1.GetRfidResponse.Error
	15, // 10: keyapis.access_control.v1.GetRfidListRequest.filter:type_name -> keyapis.access_control.v1.RfidFilter
	16, // 11: keyapis.access_control.v1.GetRfidListRequest.paging:type_name -> keyapis.access_control.v1.RfidPaging
	4,  // 12: keyapis.access_control.v1.GetRfidListResponse.data:type_name -> keyapis.access_control.v1.Rfid
	25, // 13: keyapis.access_control.v1.GetRfidListResponse.error:type_name -> keyapis.access_control.v1.GetRfidListResponse.Error
	15, // 14: keyapis.access_control.v1.GetRfidCountRequest.filter:type_name -> keyapis.access_control.v1.RfidFilter
	26, // 15: keyapis.access_control.v1.GetRfidCountResponse.error:type_name -> keyapis.access_control.v1.GetRfidCountResponse.Error
	4,  // 16: keyapis.access_control.v1.PostRfidRequest.data:type_name -> keyapis.access_control.v1.Rfid
	4,  // 17: keyapis.access_control.v1.PostRfidResponse.data:type_name -> keyapis.access_control.v1.Rfid
	27, // 18: keyapis.access_control.v1.PostRfidResponse.error:type_name -> keyapis.access_control.v1.PostRfidResponse.Error
	28, // 19: keyapis.access_control.v1.DeleteRfidResponse.error:type_name -> keyapis.access_control.v1.DeleteRfidResponse.Error
	1,  // 20: keyapis.access_control.v1.RfidFilter.holder_types:type_name -> keyapis.access_control.v1.Rfid.HolderType
	0,  // 21: keyapis.access_control.v1.RfidFilter.pay_types:type_name -> keyapis.access_control.v1.Rfid.PayType
	2,  // 22: keyapis.access_control.v1.RfidPaging.order_by_type:type_name -> keyapis.access_control.v1.RfidPaging.OrderByType
	3,  // 23: keyapis.access_control.v1.RfidPaging.direction_type:type_name -> keyapis.access_control.v1.RfidPaging.DirectionType
	18, // 24: keyapis.access_control.v1.Rfid.SavingError.conflict:type_name -> keyapis.access_control.v1.Rfid.SavingError.Conflict
	19, // 25: keyapis.access_control.v1.Rfid.SavingError.key_exist:type_name -> keyapis.access_control.v1.Rfid.SavingError.KeyExist
	20, // 26: keyapis.access_control.v1.Rfid.SavingError.key_code_cannot_be_changed:type_name -> keyapis.access_control.v1.Rfid.SavingError.KeyCodeCannotBeChanged
	21, // 27: keyapis.access_control.v1.Rfid.SavingError.exceeded_quantity_of_keys_for_room:type_name -> keyapis.access_control.v1.Rfid.SavingError.ExceededQuantityOfKeysForRoom
	22, // 28: keyapis.access_control.v1.Rfid.SavingError.key_is_used:type_name -> keyapis.access_control.v1.Rfid.SavingError.KeyIsUsed
	23, // 29: keyapis.access_control.v1.Rfid.SavingError.holder_type_forbidden:type_name -> keyapis.access_control.v1.Rfid.SavingError.HolderTypeForbidden
	32, // 30: keyapis.access_control.v1.GetRfidResponse.Error.validation:type_name -> keyapis.access_control.v1.ValidationError
	32, // 31: keyapis.access_control.v1.GetRfidListResponse.Error.validation:type_name -> keyapis.access_control.v1.ValidationError
	32, // 32: keyapis.access_control.v1.GetRfidCountResponse.Error.validation:type_name -> keyapis.access_control.v1.ValidationError
	32, // 33: keyapis.access_control.v1.PostRfidResponse.Error.validation:type_name -> keyapis.access_control.v1.ValidationError
	17, // 34: keyapis.access_control.v1.PostRfidResponse.Error.saving:type_name -> keyapis.access_control.v1.Rfid.SavingError
	32, // 35: keyapis.access_control.v1.DeleteRfidResponse.Error.validation:type_name -> keyapis.access_control.v1.ValidationError
	5,  // 36: keyapis.access_control.v1.RfidService.GetRfid:input_type -> keyapis.access_control.v1.GetRfidRequest
	7,  // 37: keyapis.access_control.v1.RfidService.GetRfidList:input_type -> keyapis.access_control.v1.GetRfidListRequest
	9,  // 38: keyapis.access_control.v1.RfidService.GetRfidCount:input_type -> keyapis.access_control.v1.GetRfidCountRequest
	11, // 39: keyapis.access_control.v1.RfidService.PostRfid:input_type -> keyapis.access_control.v1.PostRfidRequest
	13, // 40: keyapis.access_control.v1.RfidService.DeleteRfid:input_type -> keyapis.access_control.v1.DeleteRfidRequest
	6,  // 41: keyapis.access_control.v1.RfidService.GetRfid:output_type -> keyapis.access_control.v1.GetRfidResponse
	8,  // 42: keyapis.access_control.v1.RfidService.GetRfidList:output_type -> keyapis.access_control.v1.GetRfidListResponse
	10, // 43: keyapis.access_control.v1.RfidService.GetRfidCount:output_type -> keyapis.access_control.v1.GetRfidCountResponse
	12, // 44: keyapis.access_control.v1.RfidService.PostRfid:output_type -> keyapis.access_control.v1.PostRfidResponse
	14, // 45: keyapis.access_control.v1.RfidService.DeleteRfid:output_type -> keyapis.access_control.v1.DeleteRfidResponse
	41, // [41:46] is the sub-list for method output_type
	36, // [36:41] is the sub-list for method input_type
	36, // [36:36] is the sub-list for extension type_name
	36, // [36:36] is the sub-list for extension extendee
	0,  // [0:36] is the sub-list for field type_name
}

func init() { file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_init() }
func file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_init() {
	if File_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto != nil {
		return
	}
	file_keyapis_access_control_v1_keyapis_access_control_access_control_v1_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostRfidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostRfidResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RfidFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RfidPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_Conflict); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_KeyExist); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_KeyCodeCannotBeChanged); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_ExceededQuantityOfKeysForRoom); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_KeyIsUsed); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rfid_SavingError_HolderTypeForbidden); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidListResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetRfidCountResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PostRfidResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteRfidResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*GetRfidResponse_Data)(nil),
		(*GetRfidResponse_Error_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*GetRfidListRequest_Paging)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*GetRfidListResponse_Data)(nil),
		(*GetRfidListResponse_Error_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*GetRfidCountResponse_Data)(nil),
		(*GetRfidCountResponse_Error_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*PostRfidResponse_Data)(nil),
		(*PostRfidResponse_Error_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*DeleteRfidResponse_Error_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[13].OneofWrappers = []interface{}{
		(*Rfid_SavingError_Conflict_)(nil),
		(*Rfid_SavingError_KeyExist_)(nil),
		(*Rfid_SavingError_KeyCodeCannotBeChanged_)(nil),
		(*Rfid_SavingError_ExceededQuantityOfKeysForRoom_)(nil),
		(*Rfid_SavingError_KeyIsUsed_)(nil),
		(*Rfid_SavingError_HolderTypeForbidden_)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[20].OneofWrappers = []interface{}{
		(*GetRfidResponse_Error_Validation)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[21].OneofWrappers = []interface{}{
		(*GetRfidListResponse_Error_Validation)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[22].OneofWrappers = []interface{}{
		(*GetRfidCountResponse_Error_Validation)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[23].OneofWrappers = []interface{}{
		(*PostRfidResponse_Error_Validation)(nil),
		(*PostRfidResponse_Error_Saving)(nil),
	}
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes[24].OneofWrappers = []interface{}{
		(*DeleteRfidResponse_Error_Validation)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   25,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_msgTypes,
	}.Build()
	File_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto = out.File
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_rawDesc = nil
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_goTypes = nil
	file_keyapis_access_control_v1_keyapis_access_control_rfid_v1_proto_depIdxs = nil
}
