//
//Сервис реализует функционал управления коммерческими возможностями(КВ).
//КВ это описание доступных технологических планов(ТП) на ОРПОНе(на доме)

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

package keyapis_subscription_v1

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

const (
	// Значение не указано
	Offer_TYPE_UNKNOWN Offer_Type = 0
	// УК.
	// Услуги, которые назначаются на управляющие компанию
	Offer_COMPANY Offer_Type = 1
	// Ростелеком.
	// Услуги, которые Ростелеком подключает напрямую физическим лицам
	Offer_RTK Offer_Type = 2
	// Общая.
	// Услуги, которые видят клиенты обоих типов
	Offer_SHARED Offer_Type = 3
)

// Enum value maps for Offer_Type.
var (
	Offer_Type_name = map[int32]string{
		0: "TYPE_UNKNOWN",
		1: "COMPANY",
		2: "RTK",
		3: "SHARED",
	}
	Offer_Type_value = map[string]int32{
		"TYPE_UNKNOWN": 0,
		"COMPANY":      1,
		"RTK":          2,
		"SHARED":       3,
	}
)

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

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

func (Offer_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[0].Descriptor()
}

func (Offer_Type) Type() protoreflect.EnumType {
	return &file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[0]
}

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

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

// Типы статусов коммерческих возможностей
type Offer_StatusType int32

const (
	// Значение не указано
	Offer_STATUS_TYPE_UNKNOWN Offer_StatusType = 0
	// Активно.
	// Доступно
	Offer_ACTIVE Offer_StatusType = 1
	// Заблокировано.
	// Приостановлено
	Offer_BLOCKED Offer_StatusType = 2
)

// Enum value maps for Offer_StatusType.
var (
	Offer_StatusType_name = map[int32]string{
		0: "STATUS_TYPE_UNKNOWN",
		1: "ACTIVE",
		2: "BLOCKED",
	}
	Offer_StatusType_value = map[string]int32{
		"STATUS_TYPE_UNKNOWN": 0,
		"ACTIVE":              1,
		"BLOCKED":             2,
	}
)

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

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

func (Offer_StatusType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[1].Descriptor()
}

func (Offer_StatusType) Type() protoreflect.EnumType {
	return &file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[1]
}

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

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

// Справочник условий на скидки
type Offer_DiscountRequirementType int32

const (
	// Значение не указано.
	// Если указана цена по скидке, а условие не проставлено, скидка не отображается и не применяется
	Offer_DISCOUNT_REQUIREMENT_TYPE_UNKNOWN Offer_DiscountRequirementType = 0
	// Безусловная скидка
	Offer_NO_CONDITIONS Offer_DiscountRequirementType = 1
	// ШПД интернет оплачен
	Offer_INTERNET_IS_PAID Offer_DiscountRequirementType = 2
)

// Enum value maps for Offer_DiscountRequirementType.
var (
	Offer_DiscountRequirementType_name = map[int32]string{
		0: "DISCOUNT_REQUIREMENT_TYPE_UNKNOWN",
		1: "NO_CONDITIONS",
		2: "INTERNET_IS_PAID",
	}
	Offer_DiscountRequirementType_value = map[string]int32{
		"DISCOUNT_REQUIREMENT_TYPE_UNKNOWN": 0,
		"NO_CONDITIONS":                     1,
		"INTERNET_IS_PAID":                  2,
	}
)

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

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

func (Offer_DiscountRequirementType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[2].Descriptor()
}

func (Offer_DiscountRequirementType) Type() protoreflect.EnumType {
	return &file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[2]
}

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

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

// Справочник типов значений сортировки
type OfferPaging_OrderByType int32

const (
	// Значение не указано
	OfferPaging_ORDER_BY_TYPE_UNKNOWN OfferPaging_OrderByType = 0
	// По идентификатору
	OfferPaging_ID OfferPaging_OrderByType = 1
	// По цене
	OfferPaging_PRICE OfferPaging_OrderByType = 2
)

// Enum value maps for OfferPaging_OrderByType.
var (
	OfferPaging_OrderByType_name = map[int32]string{
		0: "ORDER_BY_TYPE_UNKNOWN",
		1: "ID",
		2: "PRICE",
	}
	OfferPaging_OrderByType_value = map[string]int32{
		"ORDER_BY_TYPE_UNKNOWN": 0,
		"ID":                    1,
		"PRICE":                 2,
	}
)

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

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

func (OfferPaging_OrderByType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[3].Descriptor()
}

func (OfferPaging_OrderByType) Type() protoreflect.EnumType {
	return &file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[3]
}

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

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

// Справочник типов направлений сортировки
type OfferPaging_DirectionType int32

const (
	// Значение не указано
	OfferPaging_DIRECTION_TYPE_UNKNOWN OfferPaging_DirectionType = 0
	// От большего к меньшему
	OfferPaging_DESC OfferPaging_DirectionType = 1
	// От меньшего к большему
	OfferPaging_ASC OfferPaging_DirectionType = 2
)

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

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

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

func (OfferPaging_DirectionType) Descriptor() protoreflect.EnumDescriptor {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[4].Descriptor()
}

func (OfferPaging_DirectionType) Type() protoreflect.EnumType {
	return &file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes[4]
}

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

// Deprecated: Use OfferPaging_DirectionType.Descriptor instead.
func (OfferPaging_DirectionType) EnumDescriptor() ([]byte, []int) {
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescGZIP(), []int{2, 1}
}

// Коммерческая возможность(КВ)
type Offer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Идентификатор
	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// Тип коммерческой возможности
	Type Offer_Type `protobuf:"varint,2,opt,name=type,proto3,enum=keyapis.subscription.v1.Offer_Type" json:"type,omitempty"`
	// ОРПОН.
	// Идентификатор дома
	Orpon int64 `protobuf:"varint,3,opt,name=orpon,proto3" json:"orpon,omitempty"`
	// Идентификатор компании
	CompanyId *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=company_id,json=companyId,proto3" json:"company_id,omitempty"`
	// Идентификатор технологического плана
	PlanId int32 `protobuf:"varint,5,opt,name=plan_id,json=planId,proto3" json:"plan_id,omitempty"`
	// Подключать ли автоматическую подписку
	IsEnableAutoSubscribe bool `protobuf:"varint,6,opt,name=is_enable_auto_subscribe,json=isEnableAutoSubscribe,proto3" json:"is_enable_auto_subscribe,omitempty"`
	// Тип статуса заказа
	StatusType Offer_StatusType `protobuf:"varint,7,opt,name=status_type,json=statusType,proto3,enum=keyapis.subscription.v1.Offer_StatusType" json:"status_type,omitempty"`
	// Цена
	Price *wrapperspb.DoubleValue `protobuf:"bytes,8,opt,name=price,proto3" json:"price,omitempty"`
	// Признак принадлежности к цифровому пути
	IsDigitalWay bool `protobuf:"varint,9,opt,name=is_digital_way,json=isDigitalWay,proto3" json:"is_digital_way,omitempty"`
	// Дата создания записи.
	// Заполняется сервером
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Дата последнего изменения.
	// Заполняется и обновляется сервером.
	// Заполняется при создании и изменении.
	// Является версией объекта
	ChangedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=changed_at,json=changedAt,proto3" json:"changed_at,omitempty"`
	// Адрес размещения офферты.
	// Полный url до файла
	OfferUrl *wrapperspb.StringValue `protobuf:"bytes,12,opt,name=offer_url,json=offerUrl,proto3" json:"offer_url,omitempty"`
	// Снапшот состояния технологического плана на момент создания предложения.
	// В данный момент это ссылка в базе на запись, в будущем это будет снапшот
	Plan *Plan `protobuf:"bytes,13,opt,name=plan,proto3" json:"plan,omitempty"`
	// Цена по скидке
	DiscountPrice *wrapperspb.DoubleValue `protobuf:"bytes,14,opt,name=discount_price,json=discountPrice,proto3" json:"discount_price,omitempty"`
	// Условия на скидку.
	// Если условий много то для срабатывания должны выполнять все условия
	DiscountRequirementTypes []Offer_DiscountRequirementType `protobuf:"varint,15,rep,packed,name=discount_requirement_types,json=discountRequirementTypes,proto3,enum=keyapis.subscription.v1.Offer_DiscountRequirementType" json:"discount_requirement_types,omitempty"`
}

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

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

func (*Offer) ProtoMessage() {}

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

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

func (x *Offer) GetType() Offer_Type {
	if x != nil {
		return x.Type
	}
	return Offer_TYPE_UNKNOWN
}

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

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

func (x *Offer) GetPlanId() int32 {
	if x != nil {
		return x.PlanId
	}
	return 0
}

func (x *Offer) GetIsEnableAutoSubscribe() bool {
	if x != nil {
		return x.IsEnableAutoSubscribe
	}
	return false
}

func (x *Offer) GetStatusType() Offer_StatusType {
	if x != nil {
		return x.StatusType
	}
	return Offer_STATUS_TYPE_UNKNOWN
}

func (x *Offer) GetPrice() *wrapperspb.DoubleValue {
	if x != nil {
		return x.Price
	}
	return nil
}

func (x *Offer) GetIsDigitalWay() bool {
	if x != nil {
		return x.IsDigitalWay
	}
	return false
}

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

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

func (x *Offer) GetOfferUrl() *wrapperspb.StringValue {
	if x != nil {
		return x.OfferUrl
	}
	return nil
}

func (x *Offer) GetPlan() *Plan {
	if x != nil {
		return x.Plan
	}
	return nil
}

func (x *Offer) GetDiscountPrice() *wrapperspb.DoubleValue {
	if x != nil {
		return x.DiscountPrice
	}
	return nil
}

func (x *Offer) GetDiscountRequirementTypes() []Offer_DiscountRequirementType {
	if x != nil {
		return x.DiscountRequirementTypes
	}
	return nil
}

// Фильтр по коммерческим возможностям
type OfferFilter struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// По типам
	Types []Offer_Type `protobuf:"varint,1,rep,packed,name=types,proto3,enum=keyapis.subscription.v1.Offer_Type" json:"types,omitempty"`
	// По ОРПОНам
	Orpons []int64 `protobuf:"varint,2,rep,packed,name=orpons,proto3" json:"orpons,omitempty"`
	// По идентификаторам компаний
	CompanyIds []int32 `protobuf:"varint,3,rep,packed,name=company_ids,json=companyIds,proto3" json:"company_ids,omitempty"`
}

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

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

func (*OfferFilter) ProtoMessage() {}

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

func (x *OfferFilter) GetTypes() []Offer_Type {
	if x != nil {
		return x.Types
	}
	return nil
}

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

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

// Пагинация по коммерческим возможностям
type OfferPaging struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

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

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

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

func (*OfferPaging) ProtoMessage() {}

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

func (x *OfferPaging) GetOrderByType() OfferPaging_OrderByType {
	if x != nil {
		return x.OrderByType
	}
	return OfferPaging_ORDER_BY_TYPE_UNKNOWN
}

func (x *OfferPaging) GetDirectionType() OfferPaging_DirectionType {
	if x != nil {
		return x.DirectionType
	}
	return OfferPaging_DIRECTION_TYPE_UNKNOWN
}

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

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

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

	// Идентификатор коммерческой возможности
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*GetOfferRequest) ProtoMessage() {}

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

func (x *GetOfferRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

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

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

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

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

func (*GetOfferResponse) ProtoMessage() {}

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

func (m *GetOfferResponse) GetType() isGetOfferResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetOfferResponse) GetData() *Offer {
	if x, ok := x.GetType().(*GetOfferResponse_Data); ok {
		return x.Data
	}
	return nil
}

type isGetOfferResponse_Type interface {
	isGetOfferResponse_Type()
}

type GetOfferResponse_Data struct {
	// Коммерческая возможность
	Data *Offer `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

func (*GetOfferResponse_Data) isGetOfferResponse_Type() {}

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

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

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

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

func (*GetOfferListRequest) ProtoMessage() {}

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

func (x *GetOfferListRequest) GetFilter() *OfferFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (m *GetOfferListRequest) GetPagination() isGetOfferListRequest_Pagination {
	if m != nil {
		return m.Pagination
	}
	return nil
}

func (x *GetOfferListRequest) GetPaging() *OfferPaging {
	if x, ok := x.GetPagination().(*GetOfferListRequest_Paging); ok {
		return x.Paging
	}
	return nil
}

type isGetOfferListRequest_Pagination interface {
	isGetOfferListRequest_Pagination()
}

type GetOfferListRequest_Paging struct {
	// Пагинация
	Paging *OfferPaging `protobuf:"bytes,2,opt,name=paging,proto3,oneof"`
}

func (*GetOfferListRequest_Paging) isGetOfferListRequest_Pagination() {}

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

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

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

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

func (*GetOfferListResponse) ProtoMessage() {}

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

func (m *GetOfferListResponse) GetType() isGetOfferListResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *GetOfferListResponse) GetData() *Offer {
	if x, ok := x.GetType().(*GetOfferListResponse_Data); ok {
		return x.Data
	}
	return nil
}

func (x *GetOfferListResponse) GetError() *GetOfferListResponse_Error {
	if x, ok := x.GetType().(*GetOfferListResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetOfferListResponse_Type interface {
	isGetOfferListResponse_Type()
}

type GetOfferListResponse_Data struct {
	// Коммерческая возможность
	Data *Offer `protobuf:"bytes,1,opt,name=data,proto3,oneof"`
}

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

func (*GetOfferListResponse_Data) isGetOfferListResponse_Type() {}

func (*GetOfferListResponse_Error_) isGetOfferListResponse_Type() {}

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

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

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

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

func (*GetOfferCountRequest) ProtoMessage() {}

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

func (x *GetOfferCountRequest) GetFilter() *OfferFilter {
	if x != nil {
		return x.Filter
	}
	return nil
}

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

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

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

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

func (*GetOfferCountResponse) ProtoMessage() {}

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

func (m *GetOfferCountResponse) GetType() isGetOfferCountResponse_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

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

func (x *GetOfferCountResponse) GetError() *GetOfferCountResponse_Error {
	if x, ok := x.GetType().(*GetOfferCountResponse_Error_); ok {
		return x.Error
	}
	return nil
}

type isGetOfferCountResponse_Type interface {
	isGetOfferCountResponse_Type()
}

type GetOfferCountResponse_Data struct {
	// Всего коммерческих возможностей
	Data int32 `protobuf:"varint,1,opt,name=data,proto3,oneof"`
}

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

func (*GetOfferCountResponse_Data) isGetOfferCountResponse_Type() {}

func (*GetOfferCountResponse_Error_) isGetOfferCountResponse_Type() {}

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

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

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

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

func (*OfferFilter_ValidationError) ProtoMessage() {}

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

func (m *OfferFilter_ValidationError) GetReason() isOfferFilter_ValidationError_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *OfferFilter_ValidationError) GetOrpons() *OfferFilter_ValidationError_OrponsInvalid {
	if x, ok := x.GetReason().(*OfferFilter_ValidationError_Orpons); ok {
		return x.Orpons
	}
	return nil
}

func (x *OfferFilter_ValidationError) GetCompanyIds() *OfferFilter_ValidationError_CompanyIdsInvalid {
	if x, ok := x.GetReason().(*OfferFilter_ValidationError_CompanyIds); ok {
		return x.CompanyIds
	}
	return nil
}

type isOfferFilter_ValidationError_Reason interface {
	isOfferFilter_ValidationError_Reason()
}

type OfferFilter_ValidationError_Orpons struct {
	// Формат ОРПОН некорректен
	Orpons *OfferFilter_ValidationError_OrponsInvalid `protobuf:"bytes,1,opt,name=orpons,proto3,oneof"`
}

type OfferFilter_ValidationError_CompanyIds struct {
	// Формат идентификатора компании некорректен
	CompanyIds *OfferFilter_ValidationError_CompanyIdsInvalid `protobuf:"bytes,2,opt,name=company_ids,json=companyIds,proto3,oneof"`
}

func (*OfferFilter_ValidationError_Orpons) isOfferFilter_ValidationError_Reason() {}

func (*OfferFilter_ValidationError_CompanyIds) isOfferFilter_ValidationError_Reason() {}

// - Формат ОРПОН некорректен;
// - ОРПОН передан некорректно, к примеру, значение <= 1
type OfferFilter_ValidationError_OrponsInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*OfferFilter_ValidationError_OrponsInvalid) ProtoMessage() {}

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

//	Причины:
//
// - Формат идентификатора компании некорректен;
// - Идентификатора компании передан некорректно, к примеру, значение <= 1
type OfferFilter_ValidationError_CompanyIdsInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*OfferFilter_ValidationError_CompanyIdsInvalid) ProtoMessage() {}

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

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

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

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

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

func (*OfferPaging_ValidationError) ProtoMessage() {}

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

func (m *OfferPaging_ValidationError) GetReason() isOfferPaging_ValidationError_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *OfferPaging_ValidationError) GetLimit() *OfferPaging_ValidationError_LimitInvalid {
	if x, ok := x.GetReason().(*OfferPaging_ValidationError_Limit); ok {
		return x.Limit
	}
	return nil
}

func (x *OfferPaging_ValidationError) GetOffset() *OfferPaging_ValidationError_OffsetInvalid {
	if x, ok := x.GetReason().(*OfferPaging_ValidationError_Offset); ok {
		return x.Offset
	}
	return nil
}

type isOfferPaging_ValidationError_Reason interface {
	isOfferPaging_ValidationError_Reason()
}

type OfferPaging_ValidationError_Limit struct {
	// Количество передано некорректно
	Limit *OfferPaging_ValidationError_LimitInvalid `protobuf:"bytes,1,opt,name=limit,proto3,oneof"`
}

type OfferPaging_ValidationError_Offset struct {
	// Сдвиг передан некорректно
	Offset *OfferPaging_ValidationError_OffsetInvalid `protobuf:"bytes,2,opt,name=offset,proto3,oneof"`
}

func (*OfferPaging_ValidationError_Limit) isOfferPaging_ValidationError_Reason() {}

func (*OfferPaging_ValidationError_Offset) isOfferPaging_ValidationError_Reason() {}

// Причины:
// - Значение количества < 0 или > 100
type OfferPaging_ValidationError_LimitInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*OfferPaging_ValidationError_LimitInvalid) ProtoMessage() {}

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

// Причины:
// - Значение сдвига < 0
type OfferPaging_ValidationError_OffsetInvalid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*OfferPaging_ValidationError_OffsetInvalid) ProtoMessage() {}

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

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

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

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

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

func (*GetOfferListResponse_Error) ProtoMessage() {}

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

func (m *GetOfferListResponse_Error) GetReason() isGetOfferListResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetOfferListResponse_Error) GetOfferFilterValidation() *OfferFilter_ValidationError {
	if x, ok := x.GetReason().(*GetOfferListResponse_Error_OfferFilterValidation); ok {
		return x.OfferFilterValidation
	}
	return nil
}

func (x *GetOfferListResponse_Error) GetOfferPagingValidation() *OfferPaging_ValidationError {
	if x, ok := x.GetReason().(*GetOfferListResponse_Error_OfferPagingValidation); ok {
		return x.OfferPagingValidation
	}
	return nil
}

type isGetOfferListResponse_Error_Reason interface {
	isGetOfferListResponse_Error_Reason()
}

type GetOfferListResponse_Error_OfferFilterValidation struct {
	// Ошибка фильтрации
	OfferFilterValidation *OfferFilter_ValidationError `protobuf:"bytes,1,opt,name=offer_filter_validation,json=offerFilterValidation,proto3,oneof"`
}

type GetOfferListResponse_Error_OfferPagingValidation struct {
	// Ошибка пагинации по страницам
	OfferPagingValidation *OfferPaging_ValidationError `protobuf:"bytes,2,opt,name=offer_paging_validation,json=offerPagingValidation,proto3,oneof"`
}

func (*GetOfferListResponse_Error_OfferFilterValidation) isGetOfferListResponse_Error_Reason() {}

func (*GetOfferListResponse_Error_OfferPagingValidation) isGetOfferListResponse_Error_Reason() {}

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

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

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

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

func (*GetOfferCountResponse_Error) ProtoMessage() {}

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

func (m *GetOfferCountResponse_Error) GetReason() isGetOfferCountResponse_Error_Reason {
	if m != nil {
		return m.Reason
	}
	return nil
}

func (x *GetOfferCountResponse_Error) GetOfferFilterValidation() *OfferFilter_ValidationError {
	if x, ok := x.GetReason().(*GetOfferCountResponse_Error_OfferFilterValidation); ok {
		return x.OfferFilterValidation
	}
	return nil
}

type isGetOfferCountResponse_Error_Reason interface {
	isGetOfferCountResponse_Error_Reason()
}

type GetOfferCountResponse_Error_OfferFilterValidation struct {
	// Ошибка фильтрации
	OfferFilterValidation *OfferFilter_ValidationError `protobuf:"bytes,1,opt,name=offer_filter_validation,json=offerFilterValidation,proto3,oneof"`
}

func (*GetOfferCountResponse_Error_OfferFilterValidation) isGetOfferCountResponse_Error_Reason() {}

var File_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto protoreflect.FileDescriptor

var file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDesc = []byte{
	0x0a, 0x3b, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f,
	0x66, 0x66, 0x65, 0x72, 0x5f, 0x76, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 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, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
	0x72, 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, 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, 0x3a, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69,
	0x73, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76,
	0x31, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x76, 0x31, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x08, 0x0a, 0x05, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x13,
	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x02, 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x23, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65,
	0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x19, 0x0a, 0x05, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6f, 0x72, 0x70, 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, 0x1c, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x6e,
	0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
	0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x62, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x12,
	0x4f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x42,
	0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65,
	0x12, 0x32, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x70,
	0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x74,
	0x61, 0x6c, 0x5f, 0x77, 0x61, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73,
	0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x57, 0x61, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x72,
	0x65, 0x61, 0x74, 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, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x68,
	0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x09, 0x6f, 0x66,
	0x66, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0c, 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, 0x08, 0x6f, 0x66, 0x66,
	0x65, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x0d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75,
	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c,
	0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x12, 0x43, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x63,
	0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d,
	0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a,
	0x1a, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28,
	0x0e, 0x32, 0x36, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65,
	0x72, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x18, 0x64, 0x69, 0x73, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54,
	0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a,
	0x07, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x4e, 0x59, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x52, 0x54,
	0x4b, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x10, 0x03, 0x22,
	0x3e, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a,
	0x13, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b,
	0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45,
	0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x44, 0x10, 0x02, 0x22,
	0x69, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69,
	0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x49,
	0x53, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x4d, 0x45,
	0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10,
	0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x5f, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f,
	0x4e, 0x53, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54,
	0x5f, 0x49, 0x53, 0x5f, 0x50, 0x41, 0x49, 0x44, 0x10, 0x02, 0x22, 0x8e, 0x03, 0x0a, 0x0b, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x74, 0x79,
	0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05,
	0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a,
	0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03,
	0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49, 0x64, 0x73, 0x1a, 0x8a,
	0x02, 0x0a, 0x0f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72,
	0x6f, 0x72, 0x12, 0x5c, 0x0a, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66,
	0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x4f, 0x72, 0x70, 0x6f, 0x6e, 0x73, 0x49,
	0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x72, 0x70, 0x6f, 0x6e, 0x73,
	0x12, 0x69, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e,
	0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e,
	0x4f, 0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69,
	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x70,
	0x61, 0x6e, 0x79, 0x49, 0x64, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49, 0x64, 0x73, 0x1a, 0x0f, 0x0a, 0x0d, 0x4f,
	0x72, 0x70, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x1a, 0x13, 0x0a, 0x11,
	0x43, 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x49, 0x64, 0x73, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69,
	0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xe1, 0x04, 0x0a, 0x0b,
	0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x0d, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0e, 0x32, 0x30, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66,
	0x65, 0x72, 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, 0x59, 0x0a, 0x0e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 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, 0x1a, 0xf5, 0x01, 0x0a, 0x0f, 0x56,
	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x59,
	0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x67,
	0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x5c, 0x0a, 0x06, 0x6f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e,
	0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e,
	0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x1a, 0x0e, 0x0a, 0x0c, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x1a, 0x0f, 0x0a, 0x0d, 0x4f, 0x66, 0x66, 0x73, 0x65,
	0x74, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73,
	0x6f, 0x6e, 0x22, 0x3b, 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, 0x06, 0x0a, 0x02,
	0x49, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x49, 0x43, 0x45, 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, 0x22,
	0x26, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
	0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x66,
	0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64,
	0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6b, 0x65, 0x79, 0x61,
	0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74,
	0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x13, 0x47, 0x65,
	0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x3c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65,
	0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12,
	0x3e, 0x0a, 0x06, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x24, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 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, 0x95, 0x03,
	0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4b, 0x0a, 0x05,
	0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 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, 0xf1, 0x01, 0x0a, 0x05, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x6e, 0x0a, 0x17, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x66,
	0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x17, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67,
	0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x66,
	0x66, 0x65, 0x72, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x56, 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, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65,
	0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a,
	0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x87, 0x02, 0x0a, 0x15,
	0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 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, 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, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 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, 0x81, 0x01, 0x0a, 0x05, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x12, 0x6e, 0x0a, 0x17, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x4f,
	0x66, 0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x66,
	0x66, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x56, 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, 0x32, 0xcd, 0x03, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x4f, 0x66,
	0x66, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75,
	0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
	0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21,
	0x12, 0x1f, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f,
	0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f, 0x7b, 0x69, 0x64,
	0x7d, 0x12, 0x96, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69,
	0x73, 0x74, 0x12, 0x2c, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
	0x4f, 0x66, 0x66, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2d, 0x2e, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66,
	0x66, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66,
	0x66, 0x65, 0x72, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x30, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x0d, 0x47,
	0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x6b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6b, 0x65,
	0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x6f,
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x2f,
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0xc4, 0x01, 0x0a, 0x1a, 0x72, 0x75, 0x2e, 0x6b, 0x65, 0x79,
	0x61, 0x70, 0x69, 0x73, 0x2e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x2e, 0x76, 0x31, 0x42, 0x1a, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x53, 0x75, 0x62,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f,
	0x48, 0x03, 0x50, 0x00, 0x5a, 0x18, 0x2f, 0x6b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x5f, 0x73,
	0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x31, 0xd8, 0x01,
	0x01, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x15, 0x4b, 0x45, 0x59, 0x41, 0x50, 0x49, 0x53, 0x53, 0x55,
	0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x56, 0x31, 0xaa, 0x02, 0x17, 0x4b,
	0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73,
	0x5c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31,
	0xea, 0x02, 0x19, 0x4b, 0x65, 0x79, 0x61, 0x70, 0x69, 0x73, 0x3a, 0x3a, 0x53, 0x75, 0x62, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescOnce sync.Once
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescData = file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDesc
)

func file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescGZIP() []byte {
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescOnce.Do(func() {
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescData = protoimpl.X.CompressGZIP(file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescData)
	})
	return file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDescData
}

var file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_goTypes = []interface{}{
	(Offer_Type)(0),                                       // 0: keyapis.subscription.v1.Offer.Type
	(Offer_StatusType)(0),                                 // 1: keyapis.subscription.v1.Offer.StatusType
	(Offer_DiscountRequirementType)(0),                    // 2: keyapis.subscription.v1.Offer.DiscountRequirementType
	(OfferPaging_OrderByType)(0),                          // 3: keyapis.subscription.v1.OfferPaging.OrderByType
	(OfferPaging_DirectionType)(0),                        // 4: keyapis.subscription.v1.OfferPaging.DirectionType
	(*Offer)(nil),                                         // 5: keyapis.subscription.v1.Offer
	(*OfferFilter)(nil),                                   // 6: keyapis.subscription.v1.OfferFilter
	(*OfferPaging)(nil),                                   // 7: keyapis.subscription.v1.OfferPaging
	(*GetOfferRequest)(nil),                               // 8: keyapis.subscription.v1.GetOfferRequest
	(*GetOfferResponse)(nil),                              // 9: keyapis.subscription.v1.GetOfferResponse
	(*GetOfferListRequest)(nil),                           // 10: keyapis.subscription.v1.GetOfferListRequest
	(*GetOfferListResponse)(nil),                          // 11: keyapis.subscription.v1.GetOfferListResponse
	(*GetOfferCountRequest)(nil),                          // 12: keyapis.subscription.v1.GetOfferCountRequest
	(*GetOfferCountResponse)(nil),                         // 13: keyapis.subscription.v1.GetOfferCountResponse
	(*OfferFilter_ValidationError)(nil),                   // 14: keyapis.subscription.v1.OfferFilter.ValidationError
	(*OfferFilter_ValidationError_OrponsInvalid)(nil),     // 15: keyapis.subscription.v1.OfferFilter.ValidationError.OrponsInvalid
	(*OfferFilter_ValidationError_CompanyIdsInvalid)(nil), // 16: keyapis.subscription.v1.OfferFilter.ValidationError.CompanyIdsInvalid
	(*OfferPaging_ValidationError)(nil),                   // 17: keyapis.subscription.v1.OfferPaging.ValidationError
	(*OfferPaging_ValidationError_LimitInvalid)(nil),      // 18: keyapis.subscription.v1.OfferPaging.ValidationError.LimitInvalid
	(*OfferPaging_ValidationError_OffsetInvalid)(nil),     // 19: keyapis.subscription.v1.OfferPaging.ValidationError.OffsetInvalid
	(*GetOfferListResponse_Error)(nil),                    // 20: keyapis.subscription.v1.GetOfferListResponse.Error
	(*GetOfferCountResponse_Error)(nil),                   // 21: keyapis.subscription.v1.GetOfferCountResponse.Error
	(*wrapperspb.Int32Value)(nil),                         // 22: google.protobuf.Int32Value
	(*wrapperspb.DoubleValue)(nil),                        // 23: google.protobuf.DoubleValue
	(*timestamppb.Timestamp)(nil),                         // 24: google.protobuf.Timestamp
	(*wrapperspb.StringValue)(nil),                        // 25: google.protobuf.StringValue
	(*Plan)(nil),                                          // 26: keyapis.subscription.v1.Plan
}
var file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_depIdxs = []int32{
	0,  // 0: keyapis.subscription.v1.Offer.type:type_name -> keyapis.subscription.v1.Offer.Type
	22, // 1: keyapis.subscription.v1.Offer.company_id:type_name -> google.protobuf.Int32Value
	1,  // 2: keyapis.subscription.v1.Offer.status_type:type_name -> keyapis.subscription.v1.Offer.StatusType
	23, // 3: keyapis.subscription.v1.Offer.price:type_name -> google.protobuf.DoubleValue
	24, // 4: keyapis.subscription.v1.Offer.created_at:type_name -> google.protobuf.Timestamp
	24, // 5: keyapis.subscription.v1.Offer.changed_at:type_name -> google.protobuf.Timestamp
	25, // 6: keyapis.subscription.v1.Offer.offer_url:type_name -> google.protobuf.StringValue
	26, // 7: keyapis.subscription.v1.Offer.plan:type_name -> keyapis.subscription.v1.Plan
	23, // 8: keyapis.subscription.v1.Offer.discount_price:type_name -> google.protobuf.DoubleValue
	2,  // 9: keyapis.subscription.v1.Offer.discount_requirement_types:type_name -> keyapis.subscription.v1.Offer.DiscountRequirementType
	0,  // 10: keyapis.subscription.v1.OfferFilter.types:type_name -> keyapis.subscription.v1.Offer.Type
	3,  // 11: keyapis.subscription.v1.OfferPaging.order_by_type:type_name -> keyapis.subscription.v1.OfferPaging.OrderByType
	4,  // 12: keyapis.subscription.v1.OfferPaging.direction_type:type_name -> keyapis.subscription.v1.OfferPaging.DirectionType
	5,  // 13: keyapis.subscription.v1.GetOfferResponse.data:type_name -> keyapis.subscription.v1.Offer
	6,  // 14: keyapis.subscription.v1.GetOfferListRequest.filter:type_name -> keyapis.subscription.v1.OfferFilter
	7,  // 15: keyapis.subscription.v1.GetOfferListRequest.paging:type_name -> keyapis.subscription.v1.OfferPaging
	5,  // 16: keyapis.subscription.v1.GetOfferListResponse.data:type_name -> keyapis.subscription.v1.Offer
	20, // 17: keyapis.subscription.v1.GetOfferListResponse.error:type_name -> keyapis.subscription.v1.GetOfferListResponse.Error
	6,  // 18: keyapis.subscription.v1.GetOfferCountRequest.filter:type_name -> keyapis.subscription.v1.OfferFilter
	21, // 19: keyapis.subscription.v1.GetOfferCountResponse.error:type_name -> keyapis.subscription.v1.GetOfferCountResponse.Error
	15, // 20: keyapis.subscription.v1.OfferFilter.ValidationError.orpons:type_name -> keyapis.subscription.v1.OfferFilter.ValidationError.OrponsInvalid
	16, // 21: keyapis.subscription.v1.OfferFilter.ValidationError.company_ids:type_name -> keyapis.subscription.v1.OfferFilter.ValidationError.CompanyIdsInvalid
	18, // 22: keyapis.subscription.v1.OfferPaging.ValidationError.limit:type_name -> keyapis.subscription.v1.OfferPaging.ValidationError.LimitInvalid
	19, // 23: keyapis.subscription.v1.OfferPaging.ValidationError.offset:type_name -> keyapis.subscription.v1.OfferPaging.ValidationError.OffsetInvalid
	14, // 24: keyapis.subscription.v1.GetOfferListResponse.Error.offer_filter_validation:type_name -> keyapis.subscription.v1.OfferFilter.ValidationError
	17, // 25: keyapis.subscription.v1.GetOfferListResponse.Error.offer_paging_validation:type_name -> keyapis.subscription.v1.OfferPaging.ValidationError
	14, // 26: keyapis.subscription.v1.GetOfferCountResponse.Error.offer_filter_validation:type_name -> keyapis.subscription.v1.OfferFilter.ValidationError
	8,  // 27: keyapis.subscription.v1.OfferService.GetOffer:input_type -> keyapis.subscription.v1.GetOfferRequest
	10, // 28: keyapis.subscription.v1.OfferService.GetOfferList:input_type -> keyapis.subscription.v1.GetOfferListRequest
	12, // 29: keyapis.subscription.v1.OfferService.GetOfferCount:input_type -> keyapis.subscription.v1.GetOfferCountRequest
	9,  // 30: keyapis.subscription.v1.OfferService.GetOffer:output_type -> keyapis.subscription.v1.GetOfferResponse
	11, // 31: keyapis.subscription.v1.OfferService.GetOfferList:output_type -> keyapis.subscription.v1.GetOfferListResponse
	13, // 32: keyapis.subscription.v1.OfferService.GetOfferCount:output_type -> keyapis.subscription.v1.GetOfferCountResponse
	30, // [30:33] is the sub-list for method output_type
	27, // [27:30] is the sub-list for method input_type
	27, // [27:27] is the sub-list for extension type_name
	27, // [27:27] is the sub-list for extension extendee
	0,  // [0:27] is the sub-list for field type_name
}

func init() { file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_init() }
func file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_init() {
	if File_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto != nil {
		return
	}
	file_keyapis_subscription_v1_keyapis_subscription_plan_v1_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Offer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferPaging); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferCountRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferCountResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferFilter_ValidationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferFilter_ValidationError_OrponsInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferFilter_ValidationError_CompanyIdsInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferPaging_ValidationError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferPaging_ValidationError_LimitInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*OfferPaging_ValidationError_OffsetInvalid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferListResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetOfferCountResponse_Error); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*GetOfferResponse_Data)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*GetOfferListRequest_Paging)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*GetOfferListResponse_Data)(nil),
		(*GetOfferListResponse_Error_)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*GetOfferCountResponse_Data)(nil),
		(*GetOfferCountResponse_Error_)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*OfferFilter_ValidationError_Orpons)(nil),
		(*OfferFilter_ValidationError_CompanyIds)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[12].OneofWrappers = []interface{}{
		(*OfferPaging_ValidationError_Limit)(nil),
		(*OfferPaging_ValidationError_Offset)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[15].OneofWrappers = []interface{}{
		(*GetOfferListResponse_Error_OfferFilterValidation)(nil),
		(*GetOfferListResponse_Error_OfferPagingValidation)(nil),
	}
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes[16].OneofWrappers = []interface{}{
		(*GetOfferCountResponse_Error_OfferFilterValidation)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDesc,
			NumEnums:      5,
			NumMessages:   17,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_goTypes,
		DependencyIndexes: file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_depIdxs,
		EnumInfos:         file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_enumTypes,
		MessageInfos:      file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_msgTypes,
	}.Build()
	File_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto = out.File
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_rawDesc = nil
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_goTypes = nil
	file_keyapis_subscription_v1_keyapis_subscription_offer_v1_proto_depIdxs = nil
}
