//
// Created by jonathan.jesperson@pluto.tv on 01/26/2021.
// Copyright (c) PlutoTV Inc 2021.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.28.1
// 	protoc        v6.33.3
// source: main-categories/main_categories.proto

package golang_client

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

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

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

	Id         string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Projection []string `protobuf:"bytes,2,rep,name=projection,proto3" json:"projection,omitempty"`
}

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

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

func (*GetByIdRequest) ProtoMessage() {}

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

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

func (x *GetByIdRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Document *MainCategory `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

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

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

func (*GetByIdResponse) ProtoMessage() {}

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

func (x *GetByIdResponse) GetDocument() *MainCategory {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Ids  []string           `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
	Sort []*GetAllPagedSort `protobuf:"bytes,2,rep,name=sort,proto3" json:"sort,omitempty"`
}

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

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

func (*GetByIdsRequest) ProtoMessage() {}

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

func (x *GetByIdsRequest) GetIds() []string {
	if x != nil {
		return x.Ids
	}
	return nil
}

func (x *GetByIdsRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

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

	// field to sort on
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// sort direction 1 | -1
	Value int32 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*GetAllPagedSort) ProtoMessage() {}

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

func (x *GetAllPagedSort) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *GetAllPagedSort) GetValue() int32 {
	if x != nil {
		return x.Value
	}
	return 0
}

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

	Documents []*MainCategory `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*GetByIdsResponse) ProtoMessage() {}

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

func (x *GetByIdsResponse) GetDocuments() []*MainCategory {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

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

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

func (*CFeedsSyncAllIdsRequest) ProtoMessage() {}

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

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*Id) ProtoMessage() {}

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

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

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

	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	LastRunAt string `protobuf:"bytes,1,opt,name=last_run_at,json=lastRunAt,proto3" json:"last_run_at,omitempty"`
}

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

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

func (*CFeedsSyncDocumentsRequest) ProtoMessage() {}

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

func (x *CFeedsSyncDocumentsRequest) GetLastRunAt() string {
	if x != nil {
		return x.LastRunAt
	}
	return ""
}

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

	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	UpdatedAtMin string `protobuf:"bytes,1,opt,name=updated_at_min,json=updatedAtMin,proto3" json:"updated_at_min,omitempty"`
	// Expressed as a valid javascript Date, https://en.wikipedia.org/wiki/ISO_8601
	UpdatedAtMax string `protobuf:"bytes,2,opt,name=updated_at_max,json=updatedAtMax,proto3" json:"updated_at_max,omitempty"`
}

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

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

func (*GetDocumentsUpdatedBetweenDatesRequest) ProtoMessage() {}

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

func (x *GetDocumentsUpdatedBetweenDatesRequest) GetUpdatedAtMin() string {
	if x != nil {
		return x.UpdatedAtMin
	}
	return ""
}

func (x *GetDocumentsUpdatedBetweenDatesRequest) GetUpdatedAtMax() string {
	if x != nil {
		return x.UpdatedAtMax
	}
	return ""
}

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

	Id               string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string        `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Order            int32         `protobuf:"varint,3,opt,name=order,proto3" json:"order,omitempty"`
	SvgImageUrl      *Path         `protobuf:"bytes,4,opt,name=svg_image_url,json=svgImageUrl,proto3" json:"svg_image_url,omitempty"`
	PngImageUrl      *Path         `protobuf:"bytes,5,opt,name=png_image_url,json=pngImageUrl,proto3" json:"png_image_url,omitempty"`
	CreatedAt        string        `protobuf:"bytes,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt        string        `protobuf:"bytes,7,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Slug             string        `protobuf:"bytes,8,opt,name=slug,proto3" json:"slug,omitempty"`
	PlutoOfficeOnly  bool          `protobuf:"varint,9,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	StackingOrder    string        `protobuf:"bytes,10,opt,name=stacking_order,json=stackingOrder,proto3" json:"stacking_order,omitempty"`
	Distribution     *Distribution `protobuf:"bytes,11,opt,name=distribution,proto3" json:"distribution,omitempty"`
	ActiveRegion     string        `protobuf:"bytes,12,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	HideMainCategory bool          `protobuf:"varint,13,opt,name=hide_main_category,json=hideMainCategory,proto3" json:"hide_main_category,omitempty"`
}

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

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

func (*MainCategory) ProtoMessage() {}

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

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

func (x *MainCategory) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *MainCategory) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *MainCategory) GetSvgImageUrl() *Path {
	if x != nil {
		return x.SvgImageUrl
	}
	return nil
}

func (x *MainCategory) GetPngImageUrl() *Path {
	if x != nil {
		return x.PngImageUrl
	}
	return nil
}

func (x *MainCategory) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *MainCategory) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *MainCategory) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *MainCategory) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *MainCategory) GetStackingOrder() string {
	if x != nil {
		return x.StackingOrder
	}
	return ""
}

func (x *MainCategory) GetDistribution() *Distribution {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *MainCategory) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *MainCategory) GetHideMainCategory() bool {
	if x != nil {
		return x.HideMainCategory
	}
	return false
}

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

	AppNames []string `protobuf:"bytes,1,rep,name=app_names,json=appNames,proto3" json:"app_names,omitempty"`
	Devices  []string `protobuf:"bytes,2,rep,name=devices,proto3" json:"devices,omitempty"`
}

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

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

func (*Distribution) ProtoMessage() {}

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

func (x *Distribution) GetAppNames() []string {
	if x != nil {
		return x.AppNames
	}
	return nil
}

func (x *Distribution) GetDevices() []string {
	if x != nil {
		return x.Devices
	}
	return nil
}

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

	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}

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

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

func (*Path) ProtoMessage() {}

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

func (x *Path) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

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

	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CatId string `protobuf:"bytes,2,opt,name=cat_id,json=catId,proto3" json:"cat_id,omitempty"`
	Order int32  `protobuf:"varint,3,opt,name=order,proto3" json:"order,omitempty"`
	Name  string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}

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

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

func (*Category) ProtoMessage() {}

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

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

func (x *Category) GetCatId() string {
	if x != nil {
		return x.CatId
	}
	return ""
}

func (x *Category) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *Category) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

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

	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Type  string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*CustomReference) ProtoMessage() {}

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

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

func (x *CustomReference) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CustomReference) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

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

	Id               string                    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name             string                    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	DisplayName      string                    `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	Order            int32                     `protobuf:"varint,4,opt,name=order,proto3" json:"order,omitempty"`
	Enabled          bool                      `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
	PlutoOfficeOnly  bool                      `protobuf:"varint,6,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	EnabledAt        string                    `protobuf:"bytes,7,opt,name=enabled_at,json=enabledAt,proto3" json:"enabled_at,omitempty"`
	Description      string                    `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
	RegionFilter     *VodCategory_RegionFilter `protobuf:"bytes,9,opt,name=region_filter,json=regionFilter,proto3" json:"region_filter,omitempty"`
	Distribution     *VodCategory_RegionFilter `protobuf:"bytes,10,opt,name=distribution,proto3" json:"distribution,omitempty"`
	IntileChannel    string                    `protobuf:"bytes,11,opt,name=intile_channel,json=intileChannel,proto3" json:"intile_channel,omitempty"`
	IntileOrder      int32                     `protobuf:"varint,12,opt,name=intile_order,json=intileOrder,proto3" json:"intile_order,omitempty"`
	IconSvg          *VodCategory_Path         `protobuf:"bytes,13,opt,name=icon_svg,json=iconSvg,proto3" json:"icon_svg,omitempty"`
	IconPng          *VodCategory_Path         `protobuf:"bytes,14,opt,name=icon_png,json=iconPng,proto3" json:"icon_png,omitempty"`
	ImageFeatured    *VodCategory_Path         `protobuf:"bytes,15,opt,name=image_featured,json=imageFeatured,proto3" json:"image_featured,omitempty"`
	CreatedAt        string                    `protobuf:"bytes,16,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt        string                    `protobuf:"bytes,17,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	DisabledAt       string                    `protobuf:"bytes,18,opt,name=disabled_at,json=disabledAt,proto3" json:"disabled_at,omitempty"`
	ActiveRegion     string                    `protobuf:"bytes,19,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	KidsMode         bool                      `protobuf:"varint,20,opt,name=kids_mode,json=kidsMode,proto3" json:"kids_mode,omitempty"`
	Categories       []*Category               `protobuf:"bytes,21,rep,name=categories,proto3" json:"categories,omitempty"`
	CustomReferences []*CustomReference        `protobuf:"bytes,22,rep,name=custom_references,json=customReferences,proto3" json:"custom_references,omitempty"`
	Archived         bool                      `protobuf:"varint,23,opt,name=archived,proto3" json:"archived,omitempty"`
	HeroCarousel     bool                      `protobuf:"varint,24,opt,name=hero_carousel,json=heroCarousel,proto3" json:"hero_carousel,omitempty"`
	TitleCount       int32                     `protobuf:"varint,25,opt,name=title_count,json=titleCount,proto3" json:"title_count,omitempty"`
}

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

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

func (*VodCategory) ProtoMessage() {}

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

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

func (x *VodCategory) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *VodCategory) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *VodCategory) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *VodCategory) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *VodCategory) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *VodCategory) GetEnabledAt() string {
	if x != nil {
		return x.EnabledAt
	}
	return ""
}

func (x *VodCategory) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *VodCategory) GetRegionFilter() *VodCategory_RegionFilter {
	if x != nil {
		return x.RegionFilter
	}
	return nil
}

func (x *VodCategory) GetDistribution() *VodCategory_RegionFilter {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *VodCategory) GetIntileChannel() string {
	if x != nil {
		return x.IntileChannel
	}
	return ""
}

func (x *VodCategory) GetIntileOrder() int32 {
	if x != nil {
		return x.IntileOrder
	}
	return 0
}

func (x *VodCategory) GetIconSvg() *VodCategory_Path {
	if x != nil {
		return x.IconSvg
	}
	return nil
}

func (x *VodCategory) GetIconPng() *VodCategory_Path {
	if x != nil {
		return x.IconPng
	}
	return nil
}

func (x *VodCategory) GetImageFeatured() *VodCategory_Path {
	if x != nil {
		return x.ImageFeatured
	}
	return nil
}

func (x *VodCategory) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *VodCategory) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *VodCategory) GetDisabledAt() string {
	if x != nil {
		return x.DisabledAt
	}
	return ""
}

func (x *VodCategory) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *VodCategory) GetKidsMode() bool {
	if x != nil {
		return x.KidsMode
	}
	return false
}

func (x *VodCategory) GetCategories() []*Category {
	if x != nil {
		return x.Categories
	}
	return nil
}

func (x *VodCategory) GetCustomReferences() []*CustomReference {
	if x != nil {
		return x.CustomReferences
	}
	return nil
}

func (x *VodCategory) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *VodCategory) GetHeroCarousel() bool {
	if x != nil {
		return x.HeroCarousel
	}
	return false
}

func (x *VodCategory) GetTitleCount() int32 {
	if x != nil {
		return x.TitleCount
	}
	return 0
}

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

	Path  string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
}

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

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

func (*Image) ProtoMessage() {}

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

func (x *Image) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Image) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

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

	Include []string `protobuf:"bytes,1,rep,name=include,proto3" json:"include,omitempty"`
	Exclude []string `protobuf:"bytes,2,rep,name=exclude,proto3" json:"exclude,omitempty"`
}

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

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

func (*RegionFilter) ProtoMessage() {}

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

func (x *RegionFilter) GetInclude() []string {
	if x != nil {
		return x.Include
	}
	return nil
}

func (x *RegionFilter) GetExclude() []string {
	if x != nil {
		return x.Exclude
	}
	return nil
}

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

	Episode string `protobuf:"bytes,1,opt,name=episode,proto3" json:"episode,omitempty"`
	Order   int32  `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
}

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

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

func (*EpisodesQueue) ProtoMessage() {}

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

func (x *EpisodesQueue) GetEpisode() string {
	if x != nil {
		return x.Episode
	}
	return ""
}

func (x *EpisodesQueue) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

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

	CreatedBy       string `protobuf:"bytes,1,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	SubscriberCode  string `protobuf:"bytes,2,opt,name=subscriber_code,json=subscriberCode,proto3" json:"subscriber_code,omitempty"`
	PublisherCode   string `protobuf:"bytes,3,opt,name=publisher_code,json=publisherCode,proto3" json:"publisher_code,omitempty"`
	Endpoint        string `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	StreamName      string `protobuf:"bytes,5,opt,name=stream_name,json=streamName,proto3" json:"stream_name,omitempty"`
	Episode         string `protobuf:"bytes,6,opt,name=episode,proto3" json:"episode,omitempty"`
	Series          string `protobuf:"bytes,7,opt,name=series,proto3" json:"series,omitempty"`
	Clip            string `protobuf:"bytes,8,opt,name=clip,proto3" json:"clip,omitempty"`
	EpisodeName     string `protobuf:"bytes,9,opt,name=episode_name,json=episodeName,proto3" json:"episode_name,omitempty"`
	SubscriberCount string `protobuf:"bytes,10,opt,name=subscriber_count,json=subscriberCount,proto3" json:"subscriber_count,omitempty"`
}

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

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

func (*PrivateChannel) ProtoMessage() {}

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

func (x *PrivateChannel) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *PrivateChannel) GetSubscriberCode() string {
	if x != nil {
		return x.SubscriberCode
	}
	return ""
}

func (x *PrivateChannel) GetPublisherCode() string {
	if x != nil {
		return x.PublisherCode
	}
	return ""
}

func (x *PrivateChannel) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *PrivateChannel) GetStreamName() string {
	if x != nil {
		return x.StreamName
	}
	return ""
}

func (x *PrivateChannel) GetEpisode() string {
	if x != nil {
		return x.Episode
	}
	return ""
}

func (x *PrivateChannel) GetSeries() string {
	if x != nil {
		return x.Series
	}
	return ""
}

func (x *PrivateChannel) GetClip() string {
	if x != nil {
		return x.Clip
	}
	return ""
}

func (x *PrivateChannel) GetEpisodeName() string {
	if x != nil {
		return x.EpisodeName
	}
	return ""
}

func (x *PrivateChannel) GetSubscriberCount() string {
	if x != nil {
		return x.SubscriberCount
	}
	return ""
}

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

	Start  string `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
	End    string `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
	Active bool   `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"`
}

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

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

func (*ScheduledPublishing) ProtoMessage() {}

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

func (x *ScheduledPublishing) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *ScheduledPublishing) GetEnd() string {
	if x != nil {
		return x.End
	}
	return ""
}

func (x *ScheduledPublishing) GetActive() bool {
	if x != nil {
		return x.Active
	}
	return false
}

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

	Enabled     bool   `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	DynamicClip string `protobuf:"bytes,2,opt,name=dynamic_clip,json=dynamicClip,proto3" json:"dynamic_clip,omitempty"`
	SeriesType  string `protobuf:"bytes,3,opt,name=series_type,json=seriesType,proto3" json:"series_type,omitempty"`
	Category    string `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"`
	SubCategory string `protobuf:"bytes,5,opt,name=sub_category,json=subCategory,proto3" json:"sub_category,omitempty"`
	Genre       string `protobuf:"bytes,6,opt,name=genre,proto3" json:"genre,omitempty"`
	SubGenre    string `protobuf:"bytes,7,opt,name=sub_genre,json=subGenre,proto3" json:"sub_genre,omitempty"`
}

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

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

func (*GracenoteIntegration) ProtoMessage() {}

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

func (x *GracenoteIntegration) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *GracenoteIntegration) GetDynamicClip() string {
	if x != nil {
		return x.DynamicClip
	}
	return ""
}

func (x *GracenoteIntegration) GetSeriesType() string {
	if x != nil {
		return x.SeriesType
	}
	return ""
}

func (x *GracenoteIntegration) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *GracenoteIntegration) GetSubCategory() string {
	if x != nil {
		return x.SubCategory
	}
	return ""
}

func (x *GracenoteIntegration) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *GracenoteIntegration) GetSubGenre() string {
	if x != nil {
		return x.SubGenre
	}
	return ""
}

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

	Id             string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Channel        string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"`
	ServiceId      string `protobuf:"bytes,3,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
	IntilesEnabled bool   `protobuf:"varint,4,opt,name=intiles_enabled,json=intilesEnabled,proto3" json:"intiles_enabled,omitempty"`
	Region         string `protobuf:"bytes,5,opt,name=region,proto3" json:"region,omitempty"`
}

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

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

func (*SamsungChannelProperty) ProtoMessage() {}

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

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

func (x *SamsungChannelProperty) GetChannel() string {
	if x != nil {
		return x.Channel
	}
	return ""
}

func (x *SamsungChannelProperty) GetServiceId() string {
	if x != nil {
		return x.ServiceId
	}
	return ""
}

func (x *SamsungChannelProperty) GetIntilesEnabled() bool {
	if x != nil {
		return x.IntilesEnabled
	}
	return false
}

func (x *SamsungChannelProperty) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

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

	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Type  string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	Value string `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*CustomReferenceValue) ProtoMessage() {}

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

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

func (x *CustomReferenceValue) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *CustomReferenceValue) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

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

	Key   string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
}

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

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

func (*SourceId) ProtoMessage() {}

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

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

func (x *SourceId) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

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

	Enabled     bool      `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	ClipId      string    `protobuf:"bytes,2,opt,name=clip_id,json=clipId,proto3" json:"clip_id,omitempty"`
	SourceId    *SourceId `protobuf:"bytes,3,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	Category    string    `protobuf:"bytes,4,opt,name=category,proto3" json:"category,omitempty"`
	SubCategory string    `protobuf:"bytes,5,opt,name=sub_category,json=subCategory,proto3" json:"sub_category,omitempty"`
	Genre       string    `protobuf:"bytes,6,opt,name=genre,proto3" json:"genre,omitempty"`
	SubGenre    string    `protobuf:"bytes,7,opt,name=sub_genre,json=subGenre,proto3" json:"sub_genre,omitempty"`
}

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

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

func (*CfaasIntegrationResponse) ProtoMessage() {}

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

func (x *CfaasIntegrationResponse) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *CfaasIntegrationResponse) GetClipId() string {
	if x != nil {
		return x.ClipId
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSourceId() *SourceId {
	if x != nil {
		return x.SourceId
	}
	return nil
}

func (x *CfaasIntegrationResponse) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSubCategory() string {
	if x != nil {
		return x.SubCategory
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetGenre() string {
	if x != nil {
		return x.Genre
	}
	return ""
}

func (x *CfaasIntegrationResponse) GetSubGenre() string {
	if x != nil {
		return x.SubGenre
	}
	return ""
}

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

	Id                               string                `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt                        string                `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt                        string                `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name                             string                `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	Author                           string                `protobuf:"bytes,5,opt,name=author,proto3" json:"author,omitempty"`
	Parent                           string                `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
	Hash                             string                `protobuf:"bytes,7,opt,name=hash,proto3" json:"hash,omitempty"`
	Number                           int32                 `protobuf:"varint,8,opt,name=number,proto3" json:"number,omitempty"`
	CohortMask                       int32                 `protobuf:"varint,9,opt,name=cohort_mask,json=cohortMask,proto3" json:"cohort_mask,omitempty"`
	AccessCode                       int32                 `protobuf:"varint,10,opt,name=access_code,json=accessCode,proto3" json:"access_code,omitempty"`
	Published                        bool                  `protobuf:"varint,11,opt,name=published,proto3" json:"published,omitempty"`
	Description                      string                `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
	Category                         string                `protobuf:"bytes,13,opt,name=category,proto3" json:"category,omitempty"`
	Categories                       []*Category           `protobuf:"bytes,14,rep,name=categories,proto3" json:"categories,omitempty"`
	AutoSchedule                     bool                  `protobuf:"varint,15,opt,name=auto_schedule,json=autoSchedule,proto3" json:"auto_schedule,omitempty"`
	AutoScheduleDays                 int32                 `protobuf:"varint,16,opt,name=auto_schedule_days,json=autoScheduleDays,proto3" json:"auto_schedule_days,omitempty"`
	Summary                          string                `protobuf:"bytes,17,opt,name=summary,proto3" json:"summary,omitempty"`
	Tags                             []string              `protobuf:"bytes,18,rep,name=tags,proto3" json:"tags,omitempty"`
	GeoTargets                       []string              `protobuf:"bytes,19,rep,name=geo_targets,json=geoTargets,proto3" json:"geo_targets,omitempty"`
	KidsMode                         bool                  `protobuf:"varint,20,opt,name=kids_mode,json=kidsMode,proto3" json:"kids_mode,omitempty"`
	Featured                         int32                 `protobuf:"varint,21,opt,name=featured,proto3" json:"featured,omitempty"`
	Created                          string                `protobuf:"bytes,22,opt,name=created,proto3" json:"created,omitempty"`
	Updated                          string                `protobuf:"bytes,23,opt,name=updated,proto3" json:"updated,omitempty"`
	Visibility                       string                `protobuf:"bytes,24,opt,name=visibility,proto3" json:"visibility,omitempty"`
	Thumbnail                        *Image                `protobuf:"bytes,25,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"`
	FeaturedImage                    *Image                `protobuf:"bytes,26,opt,name=featured_image,json=featuredImage,proto3" json:"featured_image,omitempty"`
	PartnerLogo                      *Image                `protobuf:"bytes,27,opt,name=partner_logo,json=partnerLogo,proto3" json:"partner_logo,omitempty"`
	Logo                             *Image                `protobuf:"bytes,28,opt,name=logo,proto3" json:"logo,omitempty"`
	Tile                             *Image                `protobuf:"bytes,29,opt,name=tile,proto3" json:"tile,omitempty"`
	TileGrayscale                    *Image                `protobuf:"bytes,30,opt,name=tile_grayscale,json=tileGrayscale,proto3" json:"tile_grayscale,omitempty"`
	Browse                           *Image                `protobuf:"bytes,31,opt,name=browse,proto3" json:"browse,omitempty"`
	Background                       *Image                `protobuf:"bytes,32,opt,name=background,proto3" json:"background,omitempty"`
	Notes                            string                `protobuf:"bytes,33,opt,name=notes,proto3" json:"notes,omitempty"`
	Type                             string                `protobuf:"bytes,34,opt,name=type,proto3" json:"type,omitempty"`
	Start                            string                `protobuf:"bytes,35,opt,name=start,proto3" json:"start,omitempty"`
	Stop                             string                `protobuf:"bytes,36,opt,name=stop,proto3" json:"stop,omitempty"`
	Redirect                         int32                 `protobuf:"varint,37,opt,name=redirect,proto3" json:"redirect,omitempty"`
	OnDemand                         bool                  `protobuf:"varint,38,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"`
	OnDemandDescription              string                `protobuf:"bytes,39,opt,name=on_demand_description,json=onDemandDescription,proto3" json:"on_demand_description,omitempty"`
	Archived                         bool                  `protobuf:"varint,40,opt,name=archived,proto3" json:"archived,omitempty"`
	Slug                             string                `protobuf:"bytes,41,opt,name=slug,proto3" json:"slug,omitempty"`
	RegionFilter                     *RegionFilter         `protobuf:"bytes,42,opt,name=region_filter,json=regionFilter,proto3" json:"region_filter,omitempty"`
	DmaDistribution                  []int32               `protobuf:"varint,43,rep,packed,name=dma_distribution,json=dmaDistribution,proto3" json:"dma_distribution,omitempty"`
	Distribution                     *RegionFilter         `protobuf:"bytes,44,opt,name=distribution,proto3" json:"distribution,omitempty"`
	EpisodesQueue                    []*EpisodesQueue      `protobuf:"bytes,45,rep,name=episodes_queue,json=episodesQueue,proto3" json:"episodes_queue,omitempty"`
	Overlays                         []string              `protobuf:"bytes,46,rep,name=overlays,proto3" json:"overlays,omitempty"`
	DirectOnly                       bool                  `protobuf:"varint,47,opt,name=direct_only,json=directOnly,proto3" json:"direct_only,omitempty"`
	LiveBroadcast                    bool                  `protobuf:"varint,48,opt,name=live_broadcast,json=liveBroadcast,proto3" json:"live_broadcast,omitempty"`
	HasSubClips                      bool                  `protobuf:"varint,49,opt,name=has_sub_clips,json=hasSubClips,proto3" json:"has_sub_clips,omitempty"`
	IsStitched                       bool                  `protobuf:"varint,50,opt,name=is_stitched,json=isStitched,proto3" json:"is_stitched,omitempty"`
	RenderInterstitials              bool                  `protobuf:"varint,51,opt,name=render_interstitials,json=renderInterstitials,proto3" json:"render_interstitials,omitempty"`
	PlutoOfficeOnly                  bool                  `protobuf:"varint,52,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	PrivateChannel                   *PrivateChannel       `protobuf:"bytes,53,opt,name=private_channel,json=privateChannel,proto3" json:"private_channel,omitempty"`
	ScheduledPublishing              *ScheduledPublishing  `protobuf:"bytes,54,opt,name=scheduled_publishing,json=scheduledPublishing,proto3" json:"scheduled_publishing,omitempty"`
	SolidLogoPNG                     *Image                `protobuf:"bytes,55,opt,name=solid_logo_p_n_g,json=solidLogoPNG,proto3" json:"solid_logo_p_n_g,omitempty"`
	ColorLogoPNG                     *Image                `protobuf:"bytes,56,opt,name=color_logo_p_n_g,json=colorLogoPNG,proto3" json:"color_logo_p_n_g,omitempty"`
	SolidLogoSVG                     *Image                `protobuf:"bytes,57,opt,name=solid_logo_s_v_g,json=solidLogoSVG,proto3" json:"solid_logo_s_v_g,omitempty"`
	ColorLogoSVG                     *Image                `protobuf:"bytes,58,opt,name=color_logo_s_v_g,json=colorLogoSVG,proto3" json:"color_logo_s_v_g,omitempty"`
	SupportedChannelCaptionLanguages []string              `protobuf:"bytes,59,rep,name=supported_channel_caption_languages,json=supportedChannelCaptionLanguages,proto3" json:"supported_channel_caption_languages,omitempty"`
	Tmsid                            string                `protobuf:"bytes,60,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	ActiveRegion                     string                `protobuf:"bytes,61,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`             // not found in inf-lib-schemas
	CategoryMask                     int32                 `protobuf:"varint,62,opt,name=category_mask,json=categoryMask,proto3" json:"category_mask,omitempty"`            // not found in inf-lib-schemas
	MetadataLanguage                 string                `protobuf:"bytes,63,opt,name=metadata_language,json=metadataLanguage,proto3" json:"metadata_language,omitempty"` // not found in inf-lib-schemas
	SeoAliases                       []string              `protobuf:"bytes,64,rep,name=seo_aliases,json=seoAliases,proto3" json:"seo_aliases,omitempty"`
	ChatRoomId                       int32                 `protobuf:"varint,65,opt,name=chat_room_id,json=chatRoomId,proto3" json:"chat_room_id,omitempty"`
	ChatEnabled                      bool                  `protobuf:"varint,66,opt,name=chat_enabled,json=chatEnabled,proto3" json:"chat_enabled,omitempty"`
	GracenoteIntegration             *GracenoteIntegration `protobuf:"bytes,67,opt,name=gracenote_integration,json=gracenoteIntegration,proto3" json:"gracenote_integration,omitempty"`
	// mongoose internal revision number; only generated when inserted via mongoose
	V                        int64                     `protobuf:"varint,68,opt,name=v,proto3" json:"v,omitempty"`
	SamsungChannelProperties []*SamsungChannelProperty `protobuf:"bytes,69,rep,name=samsung_channel_properties,json=samsungChannelProperties,proto3" json:"samsung_channel_properties,omitempty"`
	GoogleDai                bool                      `protobuf:"varint,70,opt,name=google_dai,json=googleDai,proto3" json:"google_dai,omitempty"`
	CustomReferences         []*CustomReferenceValue   `protobuf:"bytes,71,rep,name=custom_references,json=customReferences,proto3" json:"custom_references,omitempty"`
	ThumbnailAlt             *Image                    `protobuf:"bytes,72,opt,name=thumbnail_alt,json=thumbnailAlt,proto3" json:"thumbnail_alt,omitempty"`
	FeaturedImageAlt         *Image                    `protobuf:"bytes,73,opt,name=featured_image_alt,json=featuredImageAlt,proto3" json:"featured_image_alt,omitempty"`
	LogoAlt                  *Image                    `protobuf:"bytes,74,opt,name=logo_alt,json=logoAlt,proto3" json:"logo_alt,omitempty"`
	SolidLogoPNGAlt          *Image                    `protobuf:"bytes,75,opt,name=solid_logo_p_n_g_alt,json=solidLogoPNGAlt,proto3" json:"solid_logo_p_n_g_alt,omitempty"`
	ColorLogoPNGAlt          *Image                    `protobuf:"bytes,76,opt,name=color_logo_p_n_g_alt,json=colorLogoPNGAlt,proto3" json:"color_logo_p_n_g_alt,omitempty"`
	SolidLogoSVGAlt          *Image                    `protobuf:"bytes,77,opt,name=solid_logo_s_v_g_alt,json=solidLogoSVGAlt,proto3" json:"solid_logo_s_v_g_alt,omitempty"`
	ColorLogoSVGAlt          *Image                    `protobuf:"bytes,78,opt,name=color_logo_s_v_g_alt,json=colorLogoSVGAlt,proto3" json:"color_logo_s_v_g_alt,omitempty"`
	MainCategories           []*MainCategory           `protobuf:"bytes,79,rep,name=main_categories,json=mainCategories,proto3" json:"main_categories,omitempty"`
	AutoEpgSource            string                    `protobuf:"bytes,80,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration         *CfaasIntegrationResponse `protobuf:"bytes,81,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
	LogoOverlayEnable        bool                      `protobuf:"varint,82,opt,name=logo_overlay_enable,json=logoOverlayEnable,proto3" json:"logo_overlay_enable,omitempty"`
	XIsDASHReadyDRM          bool                      `protobuf:"varint,83,opt,name=_is_d_a_s_h_ready_d_r_m,json=_isDASHReadyDRM,proto3" json:"_is_d_a_s_h_ready_d_r_m,omitempty"`
	Status                   string                    `protobuf:"bytes,84,opt,name=status,proto3" json:"status,omitempty"`
	ZipCodeDistribution      []string                  `protobuf:"bytes,85,rep,name=zip_code_distribution,json=zipCodeDistribution,proto3" json:"zip_code_distribution,omitempty"`
}

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

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

func (*Channel) ProtoMessage() {}

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

// Deprecated: Use Channel.ProtoReflect.Descriptor instead.
func (*Channel) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{25}
}

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

func (x *Channel) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *Channel) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *Channel) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Channel) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *Channel) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *Channel) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *Channel) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *Channel) GetCohortMask() int32 {
	if x != nil {
		return x.CohortMask
	}
	return 0
}

func (x *Channel) GetAccessCode() int32 {
	if x != nil {
		return x.AccessCode
	}
	return 0
}

func (x *Channel) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *Channel) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Channel) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *Channel) GetCategories() []*Category {
	if x != nil {
		return x.Categories
	}
	return nil
}

func (x *Channel) GetAutoSchedule() bool {
	if x != nil {
		return x.AutoSchedule
	}
	return false
}

func (x *Channel) GetAutoScheduleDays() int32 {
	if x != nil {
		return x.AutoScheduleDays
	}
	return 0
}

func (x *Channel) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *Channel) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Channel) GetGeoTargets() []string {
	if x != nil {
		return x.GeoTargets
	}
	return nil
}

func (x *Channel) GetKidsMode() bool {
	if x != nil {
		return x.KidsMode
	}
	return false
}

func (x *Channel) GetFeatured() int32 {
	if x != nil {
		return x.Featured
	}
	return 0
}

func (x *Channel) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *Channel) GetUpdated() string {
	if x != nil {
		return x.Updated
	}
	return ""
}

func (x *Channel) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

func (x *Channel) GetThumbnail() *Image {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

func (x *Channel) GetFeaturedImage() *Image {
	if x != nil {
		return x.FeaturedImage
	}
	return nil
}

func (x *Channel) GetPartnerLogo() *Image {
	if x != nil {
		return x.PartnerLogo
	}
	return nil
}

func (x *Channel) GetLogo() *Image {
	if x != nil {
		return x.Logo
	}
	return nil
}

func (x *Channel) GetTile() *Image {
	if x != nil {
		return x.Tile
	}
	return nil
}

func (x *Channel) GetTileGrayscale() *Image {
	if x != nil {
		return x.TileGrayscale
	}
	return nil
}

func (x *Channel) GetBrowse() *Image {
	if x != nil {
		return x.Browse
	}
	return nil
}

func (x *Channel) GetBackground() *Image {
	if x != nil {
		return x.Background
	}
	return nil
}

func (x *Channel) GetNotes() string {
	if x != nil {
		return x.Notes
	}
	return ""
}

func (x *Channel) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Channel) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *Channel) GetStop() string {
	if x != nil {
		return x.Stop
	}
	return ""
}

func (x *Channel) GetRedirect() int32 {
	if x != nil {
		return x.Redirect
	}
	return 0
}

func (x *Channel) GetOnDemand() bool {
	if x != nil {
		return x.OnDemand
	}
	return false
}

func (x *Channel) GetOnDemandDescription() string {
	if x != nil {
		return x.OnDemandDescription
	}
	return ""
}

func (x *Channel) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *Channel) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *Channel) GetRegionFilter() *RegionFilter {
	if x != nil {
		return x.RegionFilter
	}
	return nil
}

func (x *Channel) GetDmaDistribution() []int32 {
	if x != nil {
		return x.DmaDistribution
	}
	return nil
}

func (x *Channel) GetDistribution() *RegionFilter {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *Channel) GetEpisodesQueue() []*EpisodesQueue {
	if x != nil {
		return x.EpisodesQueue
	}
	return nil
}

func (x *Channel) GetOverlays() []string {
	if x != nil {
		return x.Overlays
	}
	return nil
}

func (x *Channel) GetDirectOnly() bool {
	if x != nil {
		return x.DirectOnly
	}
	return false
}

func (x *Channel) GetLiveBroadcast() bool {
	if x != nil {
		return x.LiveBroadcast
	}
	return false
}

func (x *Channel) GetHasSubClips() bool {
	if x != nil {
		return x.HasSubClips
	}
	return false
}

func (x *Channel) GetIsStitched() bool {
	if x != nil {
		return x.IsStitched
	}
	return false
}

func (x *Channel) GetRenderInterstitials() bool {
	if x != nil {
		return x.RenderInterstitials
	}
	return false
}

func (x *Channel) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *Channel) GetPrivateChannel() *PrivateChannel {
	if x != nil {
		return x.PrivateChannel
	}
	return nil
}

func (x *Channel) GetScheduledPublishing() *ScheduledPublishing {
	if x != nil {
		return x.ScheduledPublishing
	}
	return nil
}

func (x *Channel) GetSolidLogoPNG() *Image {
	if x != nil {
		return x.SolidLogoPNG
	}
	return nil
}

func (x *Channel) GetColorLogoPNG() *Image {
	if x != nil {
		return x.ColorLogoPNG
	}
	return nil
}

func (x *Channel) GetSolidLogoSVG() *Image {
	if x != nil {
		return x.SolidLogoSVG
	}
	return nil
}

func (x *Channel) GetColorLogoSVG() *Image {
	if x != nil {
		return x.ColorLogoSVG
	}
	return nil
}

func (x *Channel) GetSupportedChannelCaptionLanguages() []string {
	if x != nil {
		return x.SupportedChannelCaptionLanguages
	}
	return nil
}

func (x *Channel) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *Channel) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *Channel) GetCategoryMask() int32 {
	if x != nil {
		return x.CategoryMask
	}
	return 0
}

func (x *Channel) GetMetadataLanguage() string {
	if x != nil {
		return x.MetadataLanguage
	}
	return ""
}

func (x *Channel) GetSeoAliases() []string {
	if x != nil {
		return x.SeoAliases
	}
	return nil
}

func (x *Channel) GetChatRoomId() int32 {
	if x != nil {
		return x.ChatRoomId
	}
	return 0
}

func (x *Channel) GetChatEnabled() bool {
	if x != nil {
		return x.ChatEnabled
	}
	return false
}

func (x *Channel) GetGracenoteIntegration() *GracenoteIntegration {
	if x != nil {
		return x.GracenoteIntegration
	}
	return nil
}

func (x *Channel) GetV() int64 {
	if x != nil {
		return x.V
	}
	return 0
}

func (x *Channel) GetSamsungChannelProperties() []*SamsungChannelProperty {
	if x != nil {
		return x.SamsungChannelProperties
	}
	return nil
}

func (x *Channel) GetGoogleDai() bool {
	if x != nil {
		return x.GoogleDai
	}
	return false
}

func (x *Channel) GetCustomReferences() []*CustomReferenceValue {
	if x != nil {
		return x.CustomReferences
	}
	return nil
}

func (x *Channel) GetThumbnailAlt() *Image {
	if x != nil {
		return x.ThumbnailAlt
	}
	return nil
}

func (x *Channel) GetFeaturedImageAlt() *Image {
	if x != nil {
		return x.FeaturedImageAlt
	}
	return nil
}

func (x *Channel) GetLogoAlt() *Image {
	if x != nil {
		return x.LogoAlt
	}
	return nil
}

func (x *Channel) GetSolidLogoPNGAlt() *Image {
	if x != nil {
		return x.SolidLogoPNGAlt
	}
	return nil
}

func (x *Channel) GetColorLogoPNGAlt() *Image {
	if x != nil {
		return x.ColorLogoPNGAlt
	}
	return nil
}

func (x *Channel) GetSolidLogoSVGAlt() *Image {
	if x != nil {
		return x.SolidLogoSVGAlt
	}
	return nil
}

func (x *Channel) GetColorLogoSVGAlt() *Image {
	if x != nil {
		return x.ColorLogoSVGAlt
	}
	return nil
}

func (x *Channel) GetMainCategories() []*MainCategory {
	if x != nil {
		return x.MainCategories
	}
	return nil
}

func (x *Channel) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *Channel) GetCfaasIntegration() *CfaasIntegrationResponse {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

func (x *Channel) GetLogoOverlayEnable() bool {
	if x != nil {
		return x.LogoOverlayEnable
	}
	return false
}

func (x *Channel) GetXIsDASHReadyDRM() bool {
	if x != nil {
		return x.XIsDASHReadyDRM
	}
	return false
}

func (x *Channel) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *Channel) GetZipCodeDistribution() []string {
	if x != nil {
		return x.ZipCodeDistribution
	}
	return nil
}

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

	Document *MainCategory `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

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

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

func (*CreateRequest) ProtoMessage() {}

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

// Deprecated: Use CreateRequest.ProtoReflect.Descriptor instead.
func (*CreateRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{26}
}

func (x *CreateRequest) GetDocument() *MainCategory {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Document *MainCategory `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

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

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

func (*CreateResponse) ProtoMessage() {}

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

// Deprecated: Use CreateResponse.ProtoReflect.Descriptor instead.
func (*CreateResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{27}
}

func (x *CreateResponse) GetDocument() *MainCategory {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Id           string        `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Document     *MainCategory `protobuf:"bytes,2,opt,name=document,proto3" json:"document,omitempty"`
	UpdateFields []string      `protobuf:"bytes,3,rep,name=update_fields,json=updateFields,proto3" json:"update_fields,omitempty"`
}

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

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

func (*UpdateFieldsRequest) ProtoMessage() {}

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

// Deprecated: Use UpdateFieldsRequest.ProtoReflect.Descriptor instead.
func (*UpdateFieldsRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{28}
}

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

func (x *UpdateFieldsRequest) GetDocument() *MainCategory {
	if x != nil {
		return x.Document
	}
	return nil
}

func (x *UpdateFieldsRequest) GetUpdateFields() []string {
	if x != nil {
		return x.UpdateFields
	}
	return nil
}

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

	Document *MainCategory `protobuf:"bytes,1,opt,name=document,proto3" json:"document,omitempty"`
}

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

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

func (*UpdateFieldsResponse) ProtoMessage() {}

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

// Deprecated: Use UpdateFieldsResponse.ProtoReflect.Descriptor instead.
func (*UpdateFieldsResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{29}
}

func (x *UpdateFieldsResponse) GetDocument() *MainCategory {
	if x != nil {
		return x.Document
	}
	return nil
}

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
}

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

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

func (*DeleteByIdRequest) ProtoMessage() {}

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

// Deprecated: Use DeleteByIdRequest.ProtoReflect.Descriptor instead.
func (*DeleteByIdRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{30}
}

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

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

	DeletedCount int64 `protobuf:"varint,1,opt,name=deleted_count,json=deletedCount,proto3" json:"deleted_count,omitempty"`
}

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

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

func (*DeleteByIdResponse) ProtoMessage() {}

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

// Deprecated: Use DeleteByIdResponse.ProtoReflect.Descriptor instead.
func (*DeleteByIdResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{31}
}

func (x *DeleteByIdResponse) GetDeletedCount() int64 {
	if x != nil {
		return x.DeletedCount
	}
	return 0
}

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// how to order the list: "custom" or empty (default ordering)
	Order string `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"`
	// how many results to return default 1000
	Limit int32 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin page default 0
	Offset int32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
	// how to sort results
	Sort       []*GetAllPagedSort `protobuf:"bytes,5,rep,name=sort,proto3" json:"sort,omitempty"`
	Filters    []*Filter          `protobuf:"bytes,6,rep,name=filters,proto3" json:"filters,omitempty"`
	Projection []string           `protobuf:"bytes,7,rep,name=projection,proto3" json:"projection,omitempty"`
}

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

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

func (*GetVodCategoriesListRequest) ProtoMessage() {}

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

// Deprecated: Use GetVodCategoriesListRequest.ProtoReflect.Descriptor instead.
func (*GetVodCategoriesListRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{32}
}

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

func (x *GetVodCategoriesListRequest) GetOrder() string {
	if x != nil {
		return x.Order
	}
	return ""
}

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

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

func (x *GetVodCategoriesListRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetVodCategoriesListRequest) GetFilters() []*Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *GetVodCategoriesListRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Documents []*VodCategory `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Order     string         `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"`
}

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

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

func (*GetVodCategoriesListResponse) ProtoMessage() {}

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

// Deprecated: Use GetVodCategoriesListResponse.ProtoReflect.Descriptor instead.
func (*GetVodCategoriesListResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{33}
}

func (x *GetVodCategoriesListResponse) GetDocuments() []*VodCategory {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetVodCategoriesListResponse) GetOrder() string {
	if x != nil {
		return x.Order
	}
	return ""
}

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

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// how many results to return default 1000
	Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin page default 0
	Offset int32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
	// how to sort results
	Sort    []*GetAllPagedSort `protobuf:"bytes,4,rep,name=sort,proto3" json:"sort,omitempty"`
	Filters []*Filter          `protobuf:"bytes,5,rep,name=filters,proto3" json:"filters,omitempty"`
	// how to order the channels list: "custom" or "natural"
	Order      string   `protobuf:"bytes,6,opt,name=order,proto3" json:"order,omitempty"`
	Projection []string `protobuf:"bytes,7,rep,name=projection,proto3" json:"projection,omitempty"`
}

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

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

func (*GetChannelsListRequest) ProtoMessage() {}

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

// Deprecated: Use GetChannelsListRequest.ProtoReflect.Descriptor instead.
func (*GetChannelsListRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{34}
}

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

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

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

func (x *GetChannelsListRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetChannelsListRequest) GetFilters() []*Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *GetChannelsListRequest) GetOrder() string {
	if x != nil {
		return x.Order
	}
	return ""
}

func (x *GetChannelsListRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

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

	Documents []*Channel `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Order     string     `protobuf:"bytes,2,opt,name=order,proto3" json:"order,omitempty"`
}

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

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

func (*GetChannelsListResponse) ProtoMessage() {}

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

// Deprecated: Use GetChannelsListResponse.ProtoReflect.Descriptor instead.
func (*GetChannelsListResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{35}
}

func (x *GetChannelsListResponse) GetDocuments() []*Channel {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetChannelsListResponse) GetOrder() string {
	if x != nil {
		return x.Order
	}
	return ""
}

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

	ChannelId string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
}

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

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

func (*ChannelListOrder) ProtoMessage() {}

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

// Deprecated: Use ChannelListOrder.ProtoReflect.Descriptor instead.
func (*ChannelListOrder) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{36}
}

func (x *ChannelListOrder) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

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

	ChannelListOrder []string `protobuf:"bytes,1,rep,name=channel_list_order,json=channelListOrder,proto3" json:"channel_list_order,omitempty"`
	MainCategoryId   string   `protobuf:"bytes,2,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
	StackingOrder    string   `protobuf:"bytes,3,opt,name=stacking_order,json=stackingOrder,proto3" json:"stacking_order,omitempty"`
}

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

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

func (*SetOrderInChannelsListRequest) ProtoMessage() {}

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

// Deprecated: Use SetOrderInChannelsListRequest.ProtoReflect.Descriptor instead.
func (*SetOrderInChannelsListRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{37}
}

func (x *SetOrderInChannelsListRequest) GetChannelListOrder() []string {
	if x != nil {
		return x.ChannelListOrder
	}
	return nil
}

func (x *SetOrderInChannelsListRequest) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

func (x *SetOrderInChannelsListRequest) GetStackingOrder() string {
	if x != nil {
		return x.StackingOrder
	}
	return ""
}

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

	Id                               string                    `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CreatedAt                        string                    `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt                        string                    `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	Name                             string                    `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	Author                           string                    `protobuf:"bytes,5,opt,name=author,proto3" json:"author,omitempty"`
	Parent                           string                    `protobuf:"bytes,6,opt,name=parent,proto3" json:"parent,omitempty"`
	Hash                             string                    `protobuf:"bytes,7,opt,name=hash,proto3" json:"hash,omitempty"`
	Number                           int32                     `protobuf:"varint,8,opt,name=number,proto3" json:"number,omitempty"`
	CohortMask                       int32                     `protobuf:"varint,9,opt,name=cohort_mask,json=cohortMask,proto3" json:"cohort_mask,omitempty"`
	AccessCode                       int32                     `protobuf:"varint,10,opt,name=access_code,json=accessCode,proto3" json:"access_code,omitempty"`
	Published                        bool                      `protobuf:"varint,11,opt,name=published,proto3" json:"published,omitempty"`
	Description                      string                    `protobuf:"bytes,12,opt,name=description,proto3" json:"description,omitempty"`
	Category                         string                    `protobuf:"bytes,13,opt,name=category,proto3" json:"category,omitempty"`
	Categories                       []*Category               `protobuf:"bytes,14,rep,name=categories,proto3" json:"categories,omitempty"`
	AutoSchedule                     bool                      `protobuf:"varint,15,opt,name=auto_schedule,json=autoSchedule,proto3" json:"auto_schedule,omitempty"`
	AutoScheduleDays                 int32                     `protobuf:"varint,16,opt,name=auto_schedule_days,json=autoScheduleDays,proto3" json:"auto_schedule_days,omitempty"`
	Summary                          string                    `protobuf:"bytes,17,opt,name=summary,proto3" json:"summary,omitempty"`
	Tags                             []string                  `protobuf:"bytes,18,rep,name=tags,proto3" json:"tags,omitempty"`
	GeoTargets                       []string                  `protobuf:"bytes,19,rep,name=geo_targets,json=geoTargets,proto3" json:"geo_targets,omitempty"`
	KidsMode                         bool                      `protobuf:"varint,20,opt,name=kids_mode,json=kidsMode,proto3" json:"kids_mode,omitempty"`
	Featured                         int32                     `protobuf:"varint,21,opt,name=featured,proto3" json:"featured,omitempty"`
	Created                          string                    `protobuf:"bytes,22,opt,name=created,proto3" json:"created,omitempty"`
	Updated                          string                    `protobuf:"bytes,23,opt,name=updated,proto3" json:"updated,omitempty"`
	Visibility                       string                    `protobuf:"bytes,24,opt,name=visibility,proto3" json:"visibility,omitempty"`
	Thumbnail                        *Image                    `protobuf:"bytes,25,opt,name=thumbnail,proto3" json:"thumbnail,omitempty"`
	FeaturedImage                    *Image                    `protobuf:"bytes,26,opt,name=featured_image,json=featuredImage,proto3" json:"featured_image,omitempty"`
	PartnerLogo                      *Image                    `protobuf:"bytes,27,opt,name=partner_logo,json=partnerLogo,proto3" json:"partner_logo,omitempty"`
	Logo                             *Image                    `protobuf:"bytes,28,opt,name=logo,proto3" json:"logo,omitempty"`
	Tile                             *Image                    `protobuf:"bytes,29,opt,name=tile,proto3" json:"tile,omitempty"`
	TileGrayscale                    *Image                    `protobuf:"bytes,30,opt,name=tile_grayscale,json=tileGrayscale,proto3" json:"tile_grayscale,omitempty"`
	Browse                           *Image                    `protobuf:"bytes,31,opt,name=browse,proto3" json:"browse,omitempty"`
	Background                       *Image                    `protobuf:"bytes,32,opt,name=background,proto3" json:"background,omitempty"`
	Notes                            string                    `protobuf:"bytes,33,opt,name=notes,proto3" json:"notes,omitempty"`
	Type                             string                    `protobuf:"bytes,34,opt,name=type,proto3" json:"type,omitempty"`
	Start                            string                    `protobuf:"bytes,35,opt,name=start,proto3" json:"start,omitempty"`
	Stop                             string                    `protobuf:"bytes,36,opt,name=stop,proto3" json:"stop,omitempty"`
	Redirect                         int32                     `protobuf:"varint,37,opt,name=redirect,proto3" json:"redirect,omitempty"`
	OnDemand                         bool                      `protobuf:"varint,38,opt,name=on_demand,json=onDemand,proto3" json:"on_demand,omitempty"`
	OnDemandDescription              string                    `protobuf:"bytes,39,opt,name=on_demand_description,json=onDemandDescription,proto3" json:"on_demand_description,omitempty"`
	Archived                         bool                      `protobuf:"varint,40,opt,name=archived,proto3" json:"archived,omitempty"`
	Slug                             string                    `protobuf:"bytes,41,opt,name=slug,proto3" json:"slug,omitempty"`
	RegionFilter                     *RegionFilter             `protobuf:"bytes,42,opt,name=region_filter,json=regionFilter,proto3" json:"region_filter,omitempty"`
	DmaDistribution                  []int32                   `protobuf:"varint,43,rep,packed,name=dma_distribution,json=dmaDistribution,proto3" json:"dma_distribution,omitempty"`
	Distribution                     *RegionFilter             `protobuf:"bytes,44,opt,name=distribution,proto3" json:"distribution,omitempty"`
	EpisodesQueue                    []*EpisodesQueue          `protobuf:"bytes,45,rep,name=episodes_queue,json=episodesQueue,proto3" json:"episodes_queue,omitempty"`
	Overlays                         []string                  `protobuf:"bytes,46,rep,name=overlays,proto3" json:"overlays,omitempty"`
	DirectOnly                       bool                      `protobuf:"varint,47,opt,name=direct_only,json=directOnly,proto3" json:"direct_only,omitempty"`
	LiveBroadcast                    bool                      `protobuf:"varint,48,opt,name=live_broadcast,json=liveBroadcast,proto3" json:"live_broadcast,omitempty"`
	HasSubClips                      bool                      `protobuf:"varint,49,opt,name=has_sub_clips,json=hasSubClips,proto3" json:"has_sub_clips,omitempty"`
	IsStitched                       bool                      `protobuf:"varint,50,opt,name=is_stitched,json=isStitched,proto3" json:"is_stitched,omitempty"`
	RenderInterstitials              bool                      `protobuf:"varint,51,opt,name=render_interstitials,json=renderInterstitials,proto3" json:"render_interstitials,omitempty"`
	PlutoOfficeOnly                  bool                      `protobuf:"varint,52,opt,name=pluto_office_only,json=plutoOfficeOnly,proto3" json:"pluto_office_only,omitempty"`
	PrivateChannel                   *PrivateChannel           `protobuf:"bytes,53,opt,name=private_channel,json=privateChannel,proto3" json:"private_channel,omitempty"`
	ScheduledPublishing              *ScheduledPublishing      `protobuf:"bytes,54,opt,name=scheduled_publishing,json=scheduledPublishing,proto3" json:"scheduled_publishing,omitempty"`
	SolidLogoPNG                     *Image                    `protobuf:"bytes,55,opt,name=solid_logo_p_n_g,json=solidLogoPNG,proto3" json:"solid_logo_p_n_g,omitempty"`
	ColorLogoPNG                     *Image                    `protobuf:"bytes,56,opt,name=color_logo_p_n_g,json=colorLogoPNG,proto3" json:"color_logo_p_n_g,omitempty"`
	SolidLogoSVG                     *Image                    `protobuf:"bytes,57,opt,name=solid_logo_s_v_g,json=solidLogoSVG,proto3" json:"solid_logo_s_v_g,omitempty"`
	ColorLogoSVG                     *Image                    `protobuf:"bytes,58,opt,name=color_logo_s_v_g,json=colorLogoSVG,proto3" json:"color_logo_s_v_g,omitempty"`
	SupportedChannelCaptionLanguages []string                  `protobuf:"bytes,59,rep,name=supported_channel_caption_languages,json=supportedChannelCaptionLanguages,proto3" json:"supported_channel_caption_languages,omitempty"`
	Tmsid                            string                    `protobuf:"bytes,60,opt,name=tmsid,proto3" json:"tmsid,omitempty"`
	ActiveRegion                     string                    `protobuf:"bytes,61,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
	CategoryMask                     int32                     `protobuf:"varint,62,opt,name=category_mask,json=categoryMask,proto3" json:"category_mask,omitempty"`
	MetadataLanguage                 string                    `protobuf:"bytes,63,opt,name=metadata_language,json=metadataLanguage,proto3" json:"metadata_language,omitempty"`
	SeoAliases                       []string                  `protobuf:"bytes,64,rep,name=seo_aliases,json=seoAliases,proto3" json:"seo_aliases,omitempty"`
	ChatRoomId                       int32                     `protobuf:"varint,65,opt,name=chat_room_id,json=chatRoomId,proto3" json:"chat_room_id,omitempty"`
	ChatEnabled                      bool                      `protobuf:"varint,66,opt,name=chat_enabled,json=chatEnabled,proto3" json:"chat_enabled,omitempty"`
	GracenoteIntegration             *GracenoteIntegration     `protobuf:"bytes,67,opt,name=gracenote_integration,json=gracenoteIntegration,proto3" json:"gracenote_integration,omitempty"`
	V                                int64                     `protobuf:"varint,68,opt,name=v,proto3" json:"v,omitempty"`
	GoogleDai                        bool                      `protobuf:"varint,69,opt,name=google_dai,json=googleDai,proto3" json:"google_dai,omitempty"`
	CustomReferences                 []*CustomReferenceValue   `protobuf:"bytes,70,rep,name=custom_references,json=customReferences,proto3" json:"custom_references,omitempty"`
	ThumbnailAlt                     *Image                    `protobuf:"bytes,71,opt,name=thumbnail_alt,json=thumbnailAlt,proto3" json:"thumbnail_alt,omitempty"`
	FeaturedImageAlt                 *Image                    `protobuf:"bytes,72,opt,name=featured_image_alt,json=featuredImageAlt,proto3" json:"featured_image_alt,omitempty"`
	LogoAlt                          *Image                    `protobuf:"bytes,73,opt,name=logo_alt,json=logoAlt,proto3" json:"logo_alt,omitempty"`
	SolidLogoPNGAlt                  *Image                    `protobuf:"bytes,74,opt,name=solid_logo_p_n_g_alt,json=solidLogoPNGAlt,proto3" json:"solid_logo_p_n_g_alt,omitempty"`
	ColorLogoPNGAlt                  *Image                    `protobuf:"bytes,75,opt,name=color_logo_p_n_g_alt,json=colorLogoPNGAlt,proto3" json:"color_logo_p_n_g_alt,omitempty"`
	SolidLogoSVGAlt                  *Image                    `protobuf:"bytes,76,opt,name=solid_logo_s_v_g_alt,json=solidLogoSVGAlt,proto3" json:"solid_logo_s_v_g_alt,omitempty"`
	ColorLogoSVGAlt                  *Image                    `protobuf:"bytes,77,opt,name=color_logo_s_v_g_alt,json=colorLogoSVGAlt,proto3" json:"color_logo_s_v_g_alt,omitempty"`
	AutoEpgSource                    string                    `protobuf:"bytes,78,opt,name=auto_epg_source,json=autoEpgSource,proto3" json:"auto_epg_source,omitempty"`
	CfaasIntegration                 *CfaasIntegrationResponse `protobuf:"bytes,79,opt,name=cfaas_integration,json=cfaasIntegration,proto3" json:"cfaas_integration,omitempty"`
	LogoOverlayEnable                bool                      `protobuf:"varint,80,opt,name=logo_overlay_enable,json=logoOverlayEnable,proto3" json:"logo_overlay_enable,omitempty"`
	XIsDASHReadyDRM                  bool                      `protobuf:"varint,81,opt,name=_is_d_a_s_h_ready_d_r_m,json=_isDASHReadyDRM,proto3" json:"_is_d_a_s_h_ready_d_r_m,omitempty"`
	Status                           string                    `protobuf:"bytes,82,opt,name=status,proto3" json:"status,omitempty"`
}

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

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

func (*ChannelOrderResponse) ProtoMessage() {}

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

// Deprecated: Use ChannelOrderResponse.ProtoReflect.Descriptor instead.
func (*ChannelOrderResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{38}
}

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

func (x *ChannelOrderResponse) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *ChannelOrderResponse) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *ChannelOrderResponse) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ChannelOrderResponse) GetAuthor() string {
	if x != nil {
		return x.Author
	}
	return ""
}

func (x *ChannelOrderResponse) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ChannelOrderResponse) GetHash() string {
	if x != nil {
		return x.Hash
	}
	return ""
}

func (x *ChannelOrderResponse) GetNumber() int32 {
	if x != nil {
		return x.Number
	}
	return 0
}

func (x *ChannelOrderResponse) GetCohortMask() int32 {
	if x != nil {
		return x.CohortMask
	}
	return 0
}

func (x *ChannelOrderResponse) GetAccessCode() int32 {
	if x != nil {
		return x.AccessCode
	}
	return 0
}

func (x *ChannelOrderResponse) GetPublished() bool {
	if x != nil {
		return x.Published
	}
	return false
}

func (x *ChannelOrderResponse) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *ChannelOrderResponse) GetCategory() string {
	if x != nil {
		return x.Category
	}
	return ""
}

func (x *ChannelOrderResponse) GetCategories() []*Category {
	if x != nil {
		return x.Categories
	}
	return nil
}

func (x *ChannelOrderResponse) GetAutoSchedule() bool {
	if x != nil {
		return x.AutoSchedule
	}
	return false
}

func (x *ChannelOrderResponse) GetAutoScheduleDays() int32 {
	if x != nil {
		return x.AutoScheduleDays
	}
	return 0
}

func (x *ChannelOrderResponse) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *ChannelOrderResponse) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *ChannelOrderResponse) GetGeoTargets() []string {
	if x != nil {
		return x.GeoTargets
	}
	return nil
}

func (x *ChannelOrderResponse) GetKidsMode() bool {
	if x != nil {
		return x.KidsMode
	}
	return false
}

func (x *ChannelOrderResponse) GetFeatured() int32 {
	if x != nil {
		return x.Featured
	}
	return 0
}

func (x *ChannelOrderResponse) GetCreated() string {
	if x != nil {
		return x.Created
	}
	return ""
}

func (x *ChannelOrderResponse) GetUpdated() string {
	if x != nil {
		return x.Updated
	}
	return ""
}

func (x *ChannelOrderResponse) GetVisibility() string {
	if x != nil {
		return x.Visibility
	}
	return ""
}

func (x *ChannelOrderResponse) GetThumbnail() *Image {
	if x != nil {
		return x.Thumbnail
	}
	return nil
}

func (x *ChannelOrderResponse) GetFeaturedImage() *Image {
	if x != nil {
		return x.FeaturedImage
	}
	return nil
}

func (x *ChannelOrderResponse) GetPartnerLogo() *Image {
	if x != nil {
		return x.PartnerLogo
	}
	return nil
}

func (x *ChannelOrderResponse) GetLogo() *Image {
	if x != nil {
		return x.Logo
	}
	return nil
}

func (x *ChannelOrderResponse) GetTile() *Image {
	if x != nil {
		return x.Tile
	}
	return nil
}

func (x *ChannelOrderResponse) GetTileGrayscale() *Image {
	if x != nil {
		return x.TileGrayscale
	}
	return nil
}

func (x *ChannelOrderResponse) GetBrowse() *Image {
	if x != nil {
		return x.Browse
	}
	return nil
}

func (x *ChannelOrderResponse) GetBackground() *Image {
	if x != nil {
		return x.Background
	}
	return nil
}

func (x *ChannelOrderResponse) GetNotes() string {
	if x != nil {
		return x.Notes
	}
	return ""
}

func (x *ChannelOrderResponse) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ChannelOrderResponse) GetStart() string {
	if x != nil {
		return x.Start
	}
	return ""
}

func (x *ChannelOrderResponse) GetStop() string {
	if x != nil {
		return x.Stop
	}
	return ""
}

func (x *ChannelOrderResponse) GetRedirect() int32 {
	if x != nil {
		return x.Redirect
	}
	return 0
}

func (x *ChannelOrderResponse) GetOnDemand() bool {
	if x != nil {
		return x.OnDemand
	}
	return false
}

func (x *ChannelOrderResponse) GetOnDemandDescription() string {
	if x != nil {
		return x.OnDemandDescription
	}
	return ""
}

func (x *ChannelOrderResponse) GetArchived() bool {
	if x != nil {
		return x.Archived
	}
	return false
}

func (x *ChannelOrderResponse) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *ChannelOrderResponse) GetRegionFilter() *RegionFilter {
	if x != nil {
		return x.RegionFilter
	}
	return nil
}

func (x *ChannelOrderResponse) GetDmaDistribution() []int32 {
	if x != nil {
		return x.DmaDistribution
	}
	return nil
}

func (x *ChannelOrderResponse) GetDistribution() *RegionFilter {
	if x != nil {
		return x.Distribution
	}
	return nil
}

func (x *ChannelOrderResponse) GetEpisodesQueue() []*EpisodesQueue {
	if x != nil {
		return x.EpisodesQueue
	}
	return nil
}

func (x *ChannelOrderResponse) GetOverlays() []string {
	if x != nil {
		return x.Overlays
	}
	return nil
}

func (x *ChannelOrderResponse) GetDirectOnly() bool {
	if x != nil {
		return x.DirectOnly
	}
	return false
}

func (x *ChannelOrderResponse) GetLiveBroadcast() bool {
	if x != nil {
		return x.LiveBroadcast
	}
	return false
}

func (x *ChannelOrderResponse) GetHasSubClips() bool {
	if x != nil {
		return x.HasSubClips
	}
	return false
}

func (x *ChannelOrderResponse) GetIsStitched() bool {
	if x != nil {
		return x.IsStitched
	}
	return false
}

func (x *ChannelOrderResponse) GetRenderInterstitials() bool {
	if x != nil {
		return x.RenderInterstitials
	}
	return false
}

func (x *ChannelOrderResponse) GetPlutoOfficeOnly() bool {
	if x != nil {
		return x.PlutoOfficeOnly
	}
	return false
}

func (x *ChannelOrderResponse) GetPrivateChannel() *PrivateChannel {
	if x != nil {
		return x.PrivateChannel
	}
	return nil
}

func (x *ChannelOrderResponse) GetScheduledPublishing() *ScheduledPublishing {
	if x != nil {
		return x.ScheduledPublishing
	}
	return nil
}

func (x *ChannelOrderResponse) GetSolidLogoPNG() *Image {
	if x != nil {
		return x.SolidLogoPNG
	}
	return nil
}

func (x *ChannelOrderResponse) GetColorLogoPNG() *Image {
	if x != nil {
		return x.ColorLogoPNG
	}
	return nil
}

func (x *ChannelOrderResponse) GetSolidLogoSVG() *Image {
	if x != nil {
		return x.SolidLogoSVG
	}
	return nil
}

func (x *ChannelOrderResponse) GetColorLogoSVG() *Image {
	if x != nil {
		return x.ColorLogoSVG
	}
	return nil
}

func (x *ChannelOrderResponse) GetSupportedChannelCaptionLanguages() []string {
	if x != nil {
		return x.SupportedChannelCaptionLanguages
	}
	return nil
}

func (x *ChannelOrderResponse) GetTmsid() string {
	if x != nil {
		return x.Tmsid
	}
	return ""
}

func (x *ChannelOrderResponse) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

func (x *ChannelOrderResponse) GetCategoryMask() int32 {
	if x != nil {
		return x.CategoryMask
	}
	return 0
}

func (x *ChannelOrderResponse) GetMetadataLanguage() string {
	if x != nil {
		return x.MetadataLanguage
	}
	return ""
}

func (x *ChannelOrderResponse) GetSeoAliases() []string {
	if x != nil {
		return x.SeoAliases
	}
	return nil
}

func (x *ChannelOrderResponse) GetChatRoomId() int32 {
	if x != nil {
		return x.ChatRoomId
	}
	return 0
}

func (x *ChannelOrderResponse) GetChatEnabled() bool {
	if x != nil {
		return x.ChatEnabled
	}
	return false
}

func (x *ChannelOrderResponse) GetGracenoteIntegration() *GracenoteIntegration {
	if x != nil {
		return x.GracenoteIntegration
	}
	return nil
}

func (x *ChannelOrderResponse) GetV() int64 {
	if x != nil {
		return x.V
	}
	return 0
}

func (x *ChannelOrderResponse) GetGoogleDai() bool {
	if x != nil {
		return x.GoogleDai
	}
	return false
}

func (x *ChannelOrderResponse) GetCustomReferences() []*CustomReferenceValue {
	if x != nil {
		return x.CustomReferences
	}
	return nil
}

func (x *ChannelOrderResponse) GetThumbnailAlt() *Image {
	if x != nil {
		return x.ThumbnailAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetFeaturedImageAlt() *Image {
	if x != nil {
		return x.FeaturedImageAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetLogoAlt() *Image {
	if x != nil {
		return x.LogoAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetSolidLogoPNGAlt() *Image {
	if x != nil {
		return x.SolidLogoPNGAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetColorLogoPNGAlt() *Image {
	if x != nil {
		return x.ColorLogoPNGAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetSolidLogoSVGAlt() *Image {
	if x != nil {
		return x.SolidLogoSVGAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetColorLogoSVGAlt() *Image {
	if x != nil {
		return x.ColorLogoSVGAlt
	}
	return nil
}

func (x *ChannelOrderResponse) GetAutoEpgSource() string {
	if x != nil {
		return x.AutoEpgSource
	}
	return ""
}

func (x *ChannelOrderResponse) GetCfaasIntegration() *CfaasIntegrationResponse {
	if x != nil {
		return x.CfaasIntegration
	}
	return nil
}

func (x *ChannelOrderResponse) GetLogoOverlayEnable() bool {
	if x != nil {
		return x.LogoOverlayEnable
	}
	return false
}

func (x *ChannelOrderResponse) GetXIsDASHReadyDRM() bool {
	if x != nil {
		return x.XIsDASHReadyDRM
	}
	return false
}

func (x *ChannelOrderResponse) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

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

	Documents []*ChannelOrderResponse `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*SetOrderInChannelsListResponse) ProtoMessage() {}

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

// Deprecated: Use SetOrderInChannelsListResponse.ProtoReflect.Descriptor instead.
func (*SetOrderInChannelsListResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{39}
}

func (x *SetOrderInChannelsListResponse) GetDocuments() []*ChannelOrderResponse {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	VodListOrder   []string `protobuf:"bytes,1,rep,name=vod_list_order,json=vodListOrder,proto3" json:"vod_list_order,omitempty"`
	MainCategoryId string   `protobuf:"bytes,2,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
}

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

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

func (*SetOrderInVodListRequest) ProtoMessage() {}

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

// Deprecated: Use SetOrderInVodListRequest.ProtoReflect.Descriptor instead.
func (*SetOrderInVodListRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{40}
}

func (x *SetOrderInVodListRequest) GetVodListOrder() []string {
	if x != nil {
		return x.VodListOrder
	}
	return nil
}

func (x *SetOrderInVodListRequest) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

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

	Documents []*VodCategory `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*SetOrderInVodListResponse) ProtoMessage() {}

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

// Deprecated: Use SetOrderInVodListResponse.ProtoReflect.Descriptor instead.
func (*SetOrderInVodListResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{41}
}

func (x *SetOrderInVodListResponse) GetDocuments() []*VodCategory {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	CurrentOffset int32 `protobuf:"varint,1,opt,name=current_offset,json=currentOffset,proto3" json:"current_offset,omitempty"`
	TotalItems    int32 `protobuf:"varint,2,opt,name=total_items,json=totalItems,proto3" json:"total_items,omitempty"`
}

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

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

func (*Metadata) ProtoMessage() {}

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

// Deprecated: Use Metadata.ProtoReflect.Descriptor instead.
func (*Metadata) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{42}
}

func (x *Metadata) GetCurrentOffset() int32 {
	if x != nil {
		return x.CurrentOffset
	}
	return 0
}

func (x *Metadata) GetTotalItems() int32 {
	if x != nil {
		return x.TotalItems
	}
	return 0
}

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

	// how many results to return default 1000
	Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
	// where to begin page default 0
	Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
	// how to sort results
	Sort []*GetAllPagedSort `protobuf:"bytes,3,rep,name=sort,proto3" json:"sort,omitempty"`
	// when set to true the `total count` metadata will not be calculated
	// this can save some performance as count is additional query
	DisableTotalCount bool      `protobuf:"varint,4,opt,name=disable_total_count,json=disableTotalCount,proto3" json:"disable_total_count,omitempty"`
	Filters           []*Filter `protobuf:"bytes,5,rep,name=filters,proto3" json:"filters,omitempty"`
	Projection        []string  `protobuf:"bytes,6,rep,name=projection,proto3" json:"projection,omitempty"`
	// when set to true the `name` value will be sent to MongoDB as regex expression
	// when set to false the `name` value will be sent to MongoDB as a literal string
	EnableRegex bool `protobuf:"varint,7,opt,name=enable_regex,json=enableRegex,proto3" json:"enable_regex,omitempty"`
}

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

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

func (*GetAllPagedRequest) ProtoMessage() {}

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

// Deprecated: Use GetAllPagedRequest.ProtoReflect.Descriptor instead.
func (*GetAllPagedRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{43}
}

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

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

func (x *GetAllPagedRequest) GetSort() []*GetAllPagedSort {
	if x != nil {
		return x.Sort
	}
	return nil
}

func (x *GetAllPagedRequest) GetDisableTotalCount() bool {
	if x != nil {
		return x.DisableTotalCount
	}
	return false
}

func (x *GetAllPagedRequest) GetFilters() []*Filter {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *GetAllPagedRequest) GetProjection() []string {
	if x != nil {
		return x.Projection
	}
	return nil
}

func (x *GetAllPagedRequest) GetEnableRegex() bool {
	if x != nil {
		return x.EnableRegex
	}
	return false
}

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

	Documents []*MainCategory `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
	Metadata  *Metadata       `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

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

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

func (*GetAllPagedResponse) ProtoMessage() {}

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

// Deprecated: Use GetAllPagedResponse.ProtoReflect.Descriptor instead.
func (*GetAllPagedResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{44}
}

func (x *GetAllPagedResponse) GetDocuments() []*MainCategory {
	if x != nil {
		return x.Documents
	}
	return nil
}

func (x *GetAllPagedResponse) GetMetadata() *Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

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

	// field to filter on
	Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
	// value for the filter
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// type of the filter string (default), number, bool
	Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"`
	// operator to filter by (values must be AND or OR)
	Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"`
}

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

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

func (*Filter) ProtoMessage() {}

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

// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
func (*Filter) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{45}
}

func (x *Filter) GetField() string {
	if x != nil {
		return x.Field
	}
	return ""
}

func (x *Filter) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

func (x *Filter) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Filter) GetOperator() string {
	if x != nil {
		return x.Operator
	}
	return ""
}

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

	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Order int32  `protobuf:"varint,2,opt,name=order,proto3" json:"order,omitempty"`
}

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

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

func (*MainCategoryOrder) ProtoMessage() {}

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

// Deprecated: Use MainCategoryOrder.ProtoReflect.Descriptor instead.
func (*MainCategoryOrder) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{46}
}

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

func (x *MainCategoryOrder) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

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

	MainCategories []*MainCategoryOrder `protobuf:"bytes,1,rep,name=main_categories,json=mainCategories,proto3" json:"main_categories,omitempty"`
	ActiveRegion   string               `protobuf:"bytes,2,opt,name=active_region,json=activeRegion,proto3" json:"active_region,omitempty"`
}

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

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

func (*SetMainCategoriesOrderRequest) ProtoMessage() {}

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

// Deprecated: Use SetMainCategoriesOrderRequest.ProtoReflect.Descriptor instead.
func (*SetMainCategoriesOrderRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{47}
}

func (x *SetMainCategoriesOrderRequest) GetMainCategories() []*MainCategoryOrder {
	if x != nil {
		return x.MainCategories
	}
	return nil
}

func (x *SetMainCategoriesOrderRequest) GetActiveRegion() string {
	if x != nil {
		return x.ActiveRegion
	}
	return ""
}

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

	Documents []*MainCategoryOrder `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*SetMainCategoriesOrderResponse) ProtoMessage() {}

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

// Deprecated: Use SetMainCategoriesOrderResponse.ProtoReflect.Descriptor instead.
func (*SetMainCategoriesOrderResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{48}
}

func (x *SetMainCategoriesOrderResponse) GetDocuments() []*MainCategoryOrder {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	VodId          string `protobuf:"bytes,1,opt,name=vod_id,json=vodId,proto3" json:"vod_id,omitempty"`
	MainCategoryId string `protobuf:"bytes,2,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
	CreatedAt      string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt      string `protobuf:"bytes,4,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
}

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

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

func (*BulkVodsMainCategories) ProtoMessage() {}

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

// Deprecated: Use BulkVodsMainCategories.ProtoReflect.Descriptor instead.
func (*BulkVodsMainCategories) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{49}
}

func (x *BulkVodsMainCategories) GetVodId() string {
	if x != nil {
		return x.VodId
	}
	return ""
}

func (x *BulkVodsMainCategories) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

func (x *BulkVodsMainCategories) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *BulkVodsMainCategories) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

	ChannelId      string `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	MainCategoryId string `protobuf:"bytes,2,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
	Order          int32  `protobuf:"varint,3,opt,name=order,proto3" json:"order,omitempty"`
	CreatedAt      string `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	UpdatedAt      string `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
}

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

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

func (*BulkChannelsMainCategories) ProtoMessage() {}

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

// Deprecated: Use BulkChannelsMainCategories.ProtoReflect.Descriptor instead.
func (*BulkChannelsMainCategories) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{50}
}

func (x *BulkChannelsMainCategories) GetChannelId() string {
	if x != nil {
		return x.ChannelId
	}
	return ""
}

func (x *BulkChannelsMainCategories) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

func (x *BulkChannelsMainCategories) GetOrder() int32 {
	if x != nil {
		return x.Order
	}
	return 0
}

func (x *BulkChannelsMainCategories) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *BulkChannelsMainCategories) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

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

	MainCategoryId string   `protobuf:"bytes,1,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
	VodIds         []string `protobuf:"bytes,2,rep,name=vod_ids,json=vodIds,proto3" json:"vod_ids,omitempty"`
}

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

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

func (*BulkAssignVodsToMainCategoriesRequest) ProtoMessage() {}

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

// Deprecated: Use BulkAssignVodsToMainCategoriesRequest.ProtoReflect.Descriptor instead.
func (*BulkAssignVodsToMainCategoriesRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{51}
}

func (x *BulkAssignVodsToMainCategoriesRequest) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

func (x *BulkAssignVodsToMainCategoriesRequest) GetVodIds() []string {
	if x != nil {
		return x.VodIds
	}
	return nil
}

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

	Documents []*BulkVodsMainCategories `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*BulkAssignVodsToMainCategoriesResponse) ProtoMessage() {}

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

// Deprecated: Use BulkAssignVodsToMainCategoriesResponse.ProtoReflect.Descriptor instead.
func (*BulkAssignVodsToMainCategoriesResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{52}
}

func (x *BulkAssignVodsToMainCategoriesResponse) GetDocuments() []*BulkVodsMainCategories {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	MainCategoryId string   `protobuf:"bytes,1,opt,name=main_category_id,json=mainCategoryId,proto3" json:"main_category_id,omitempty"`
	ChannelIds     []string `protobuf:"bytes,2,rep,name=channel_ids,json=channelIds,proto3" json:"channel_ids,omitempty"`
	Order          string   `protobuf:"bytes,3,opt,name=order,proto3" json:"order,omitempty"`
}

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

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

func (*BulkAssignChannelsToMainCategoriesRequest) ProtoMessage() {}

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

// Deprecated: Use BulkAssignChannelsToMainCategoriesRequest.ProtoReflect.Descriptor instead.
func (*BulkAssignChannelsToMainCategoriesRequest) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{53}
}

func (x *BulkAssignChannelsToMainCategoriesRequest) GetMainCategoryId() string {
	if x != nil {
		return x.MainCategoryId
	}
	return ""
}

func (x *BulkAssignChannelsToMainCategoriesRequest) GetChannelIds() []string {
	if x != nil {
		return x.ChannelIds
	}
	return nil
}

func (x *BulkAssignChannelsToMainCategoriesRequest) GetOrder() string {
	if x != nil {
		return x.Order
	}
	return ""
}

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

	Documents []*BulkChannelsMainCategories `protobuf:"bytes,1,rep,name=documents,proto3" json:"documents,omitempty"`
}

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

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

func (*BulkAssignChannelsToMainCategoriesResponse) ProtoMessage() {}

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

// Deprecated: Use BulkAssignChannelsToMainCategoriesResponse.ProtoReflect.Descriptor instead.
func (*BulkAssignChannelsToMainCategoriesResponse) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{54}
}

func (x *BulkAssignChannelsToMainCategoriesResponse) GetDocuments() []*BulkChannelsMainCategories {
	if x != nil {
		return x.Documents
	}
	return nil
}

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

	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
}

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

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

func (*VodCategory_Path) ProtoMessage() {}

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

// Deprecated: Use VodCategory_Path.ProtoReflect.Descriptor instead.
func (*VodCategory_Path) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{14, 0}
}

func (x *VodCategory_Path) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

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

	Include []string `protobuf:"bytes,1,rep,name=include,proto3" json:"include,omitempty"`
	Exclude []string `protobuf:"bytes,2,rep,name=exclude,proto3" json:"exclude,omitempty"`
}

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

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

func (*VodCategory_RegionFilter) ProtoMessage() {}

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

// Deprecated: Use VodCategory_RegionFilter.ProtoReflect.Descriptor instead.
func (*VodCategory_RegionFilter) Descriptor() ([]byte, []int) {
	return file_main_categories_main_categories_proto_rawDescGZIP(), []int{14, 1}
}

func (x *VodCategory_RegionFilter) GetInclude() []string {
	if x != nil {
		return x.Include
	}
	return nil
}

func (x *VodCategory_RegionFilter) GetExclude() []string {
	if x != nil {
		return x.Exclude
	}
	return nil
}

var File_main_categories_main_categories_proto protoreflect.FileDescriptor

var file_main_categories_main_categories_proto_rawDesc = []byte{
	0x0a, 0x25, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x22, 0x40,
	0x0a, 0x0e, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x22, 0x52, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61,
	0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x6f, 0x72,
	0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74, 0x52,
	0x04, 0x73, 0x6f, 0x72, 0x74, 0x22, 0x3d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50,
	0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x22, 0x55, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79,
	0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x43,
	0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x02, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02,
	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3c, 0x0a, 0x1a,
	0x43, 0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6c, 0x61,
	0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x41, 0x74, 0x22, 0x74, 0x0a, 0x26, 0x47, 0x65,
	0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
	0x61, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x4d, 0x61, 0x78,
	0x22, 0x8b, 0x04, 0x0a, 0x0c, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0d, 0x73,
	0x76, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52,
	0x0b, 0x73, 0x76, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x3f, 0x0a, 0x0d,
	0x70, 0x6e, 0x67, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x68,
	0x52, 0x0b, 0x70, 0x6e, 0x67, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1d, 0x0a,
	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73,
	0x6c, 0x75, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12,
	0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x5f,
	0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6c, 0x75, 0x74,
	0x6f, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73,
	0x74, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64,
	0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x12, 0x2c, 0x0a, 0x12, 0x68, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x68, 0x69,
	0x64, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x45,
	0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b,
	0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64,
	0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x22, 0x5b, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a,
	0x06, 0x63, 0x61, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63,
	0x61, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4b,
	0x0a, 0x0f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
	0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb7, 0x09, 0x0a, 0x0b,
	0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61,
	0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x66, 0x66, 0x69,
	0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70,
	0x6c, 0x75, 0x74, 0x6f, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x1d,
	0x0a, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x54, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x56,
	0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46,
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e,
	0x74, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
	0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65,
	0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x73, 0x76, 0x67,
	0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x56,
	0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52,
	0x07, 0x69, 0x63, 0x6f, 0x6e, 0x53, 0x76, 0x67, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e,
	0x5f, 0x70, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x50,
	0x61, 0x74, 0x68, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x50, 0x6e, 0x67, 0x12, 0x4e, 0x0a, 0x0e,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x56, 0x6f, 0x64,
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x0d, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a,
	0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69,
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x64, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a,
	0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x53,
	0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63,
	0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e,
	0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18,
	0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12,
	0x23, 0x0a, 0x0d, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x63, 0x61, 0x72, 0x6f, 0x75, 0x73, 0x65, 0x6c,
	0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x65, 0x72, 0x6f, 0x43, 0x61, 0x72, 0x6f,
	0x75, 0x73, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x6f,
	0x75, 0x6e, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1a, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a,
	0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74,
	0x68, 0x1a, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65,
	0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65,
	0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78,
	0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0x31, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12,
	0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61,
	0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x63, 0x6c, 0x75,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0x3f, 0x0a, 0x0d,
	0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x18, 0x0a,
	0x07, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
	0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xd0, 0x02,
	0x0a, 0x0e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12,
	0x27, 0x0a, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f,
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
	0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07,
	0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65,
	0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12,
	0x0a, 0x04, 0x63, 0x6c, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6c,
	0x69, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61,
	0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64,
	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
	0x62, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x22, 0x55, 0x0a, 0x13, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a,
	0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12,
	0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x61, 0x63,
	0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x79,
	0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x43, 0x6c, 0x69, 0x70, 0x12, 0x1f, 0x0a,
	0x0b, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75,
	0x62, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x73, 0x75, 0x62, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a,
	0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65,
	0x6e, 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x5f, 0x67, 0x65, 0x6e, 0x72, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x47, 0x65, 0x6e, 0x72, 0x65,
	0x22, 0xa2, 0x01, 0x0a, 0x16, 0x53, 0x61, 0x6d, 0x73, 0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x5f,
	0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69,
	0x6e, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a,
	0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x14, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52,
	0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x32, 0x0a, 0x08, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x18,
	0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x70, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x09, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52,
	0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62,
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x65, 0x6e, 0x72,
	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x12, 0x1b,
	0x0a, 0x09, 0x73, 0x75, 0x62, 0x5f, 0x67, 0x65, 0x6e, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x73, 0x75, 0x62, 0x47, 0x65, 0x6e, 0x72, 0x65, 0x22, 0x95, 0x1f, 0x0a, 0x07,
	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74,
	0x68, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f,
	0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73,
	0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a,
	0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e,
	0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x68, 0x6f, 0x72, 0x74, 0x5f,
	0x6d, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x68, 0x6f,
	0x72, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73,
	0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x63, 0x63,
	0x65, 0x73, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69,
	0x73, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c,
	0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74,
	0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x75, 0x74,
	0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18,
	0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x44, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61,
	0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72,
	0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6f, 0x54,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x64, 0x73, 0x5f, 0x6d,
	0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x64, 0x73, 0x4d,
	0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18,
	0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12,
	0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74,
	0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c,
	0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c,
	0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12,
	0x43, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67,
	0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f,
	0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65,
	0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x30, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1c, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x12, 0x30, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18,
	0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x69, 0x6c,
	0x65, 0x5f, 0x67, 0x72, 0x61, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
	0x0d, 0x74, 0x69, 0x6c, 0x65, 0x47, 0x72, 0x61, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x34,
	0x0a, 0x06, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x62, 0x72,
	0x6f, 0x77, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
	0x6e, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
	0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61,
	0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65,
	0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18,
	0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12,
	0x32, 0x0a, 0x15, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x73,
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
	0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18,
	0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12,
	0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73,
	0x6c, 0x75, 0x67, 0x12, 0x48, 0x0a, 0x0d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
	0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a,
	0x10, 0x64, 0x6d, 0x61, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x4b, 0x0a, 0x0e, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x71, 0x75,
	0x65, 0x75, 0x65, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52,
	0x0d, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a,
	0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x09,
	0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69,
	0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6c,
	0x69, 0x76, 0x65, 0x5f, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x30, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61,
	0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c,
	0x69, 0x70, 0x73, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x53, 0x75,
	0x62, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53,
	0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x6e, 0x64, 0x65,
	0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18,
	0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x74,
	0x65, 0x72, 0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c,
	0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18,
	0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x4f, 0x66, 0x66, 0x69,
	0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
	0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x25, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43,
	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x5d, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x36,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67,
	0x52, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69,
	0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c,
	0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x73,
	0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x12, 0x44, 0x0a, 0x10, 0x63,
	0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x18,
	0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e,
	0x47, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f,
	0x73, 0x5f, 0x76, 0x5f, 0x67, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64,
	0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6f, 0x72,
	0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x18, 0x3a, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
	0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x12, 0x4d, 0x0a,
	0x23, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75,
	0x61, 0x67, 0x65, 0x73, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x20, 0x73, 0x75, 0x70, 0x70,
	0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05,
	0x74, 0x6d, 0x73, 0x69, 0x64, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x73,
	0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x11,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67,
	0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6f,
	0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0x40, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a,
	0x73, 0x65, 0x6f, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x68,
	0x61, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x41, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,
	0x63, 0x68, 0x61, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x42, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
	0x60, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74,
	0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x72, 0x61,
	0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18, 0x44, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x76, 0x12,
	0x6b, 0x0a, 0x1a, 0x73, 0x61, 0x6d, 0x73, 0x75, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x45, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x61, 0x6d, 0x73,
	0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x79, 0x52, 0x18, 0x73, 0x61, 0x6d, 0x73, 0x75, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x69, 0x18, 0x46, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x09, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x61, 0x69, 0x12, 0x58, 0x0a, 0x11, 0x63,
	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73,
	0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43,
	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72,
	0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61,
	0x69, 0x6c, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d,
	0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d,
	0x62, 0x6e, 0x61, 0x69, 0x6c, 0x41, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x49,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x10, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x41, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6c, 0x74,
	0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49,
	0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a,
	0x14, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f,
	0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x6f, 0x6c, 0x69, 0x64,
	0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x63, 0x6f,
	0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x5f, 0x61,
	0x6c, 0x74, 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67,
	0x6f, 0x50, 0x4e, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x73, 0x6f, 0x6c, 0x69, 0x64,
	0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18,
	0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56,
	0x47, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f,
	0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4e, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x41, 0x6c,
	0x74, 0x12, 0x4c, 0x0a, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x18, 0x4f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
	0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12,
	0x26, 0x0a, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45, 0x70,
	0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61, 0x73,
	0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x51, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x66, 0x61, 0x61, 0x73,
	0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x52, 0x10, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x6f, 0x76,
	0x65, 0x72, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x52, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x11, 0x6c, 0x6f, 0x67, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x17, 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x5f, 0x61,
	0x5f, 0x73, 0x5f, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x64, 0x5f, 0x72, 0x5f, 0x6d,
	0x18, 0x53, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x5f, 0x69, 0x73, 0x44, 0x41, 0x53, 0x48, 0x52,
	0x65, 0x61, 0x64, 0x79, 0x44, 0x52, 0x4d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
	0x32, 0x0a, 0x15, 0x7a, 0x69, 0x70, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74,
	0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x55, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13,
	0x7a, 0x69, 0x70, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
	0x69, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d,
	0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x51, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d,
	0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08,
	0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8b, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x3f, 0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c,
	0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x57, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f,
	0x0a, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x08, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x22,
	0x23, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x79,
	0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22,
	0x86, 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x6f, 0x72, 0x64, 0x65, 0x72, 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, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
	0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12,
	0x37, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52,
	0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x56,
	0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52,
	0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72,
	0x22, 0x81, 0x02, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x73, 0x6f, 0x72,
	0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x53, 0x6f, 0x72, 0x74, 0x52,
	0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x46,
	0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x14,
	0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f,
	0x72, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x3c, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a,
	0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72,
	0x64, 0x65, 0x72, 0x22, 0x31, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69,
	0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73,
	0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64,
	0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x72, 0x64,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x69,
	0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0xb3, 0x1d, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
	0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12,
	0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
	0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f,
	0x0a, 0x0b, 0x63, 0x6f, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x09, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x68, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x12,
	0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x64, 0x65,
	0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x20,
	0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x0a,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x79, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a,
	0x0d, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10,
	0x61, 0x75, 0x74, 0x6f, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x44, 0x61, 0x79, 0x73,
	0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61,
	0x67, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f,
	0x0a, 0x0b, 0x67, 0x65, 0x6f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x18, 0x13, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x12,
	0x1b, 0x0a, 0x09, 0x6b, 0x69, 0x64, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x14, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x08, 0x6b, 0x69, 0x64, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08,
	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x17, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a,
	0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x09,
	0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x09, 0x74,
	0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x12, 0x43, 0x0a, 0x0e, 0x66, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d,
	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3f, 0x0a,
	0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1b, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x12, 0x30,
	0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x6f, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d,
	0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x6f,
	0x12, 0x30, 0x0a, 0x04, 0x74, 0x69, 0x6c, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x04, 0x74, 0x69,
	0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0e, 0x74, 0x69, 0x6c, 0x65, 0x5f, 0x67, 0x72, 0x61, 0x79, 0x73,
	0x63, 0x61, 0x6c, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0d, 0x74, 0x69, 0x6c, 0x65, 0x47, 0x72,
	0x61, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x34, 0x0a, 0x06, 0x62, 0x72, 0x6f, 0x77, 0x73,
	0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x06, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x12, 0x3c, 0x0a,
	0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x20, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
	0x0a, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e,
	0x6f, 0x74, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65,
	0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x23,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73,
	0x74, 0x6f, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x6f, 0x70, 0x12,
	0x1a, 0x0a, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x25, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x08, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6f,
	0x6e, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x6e, 0x5f, 0x64,
	0x65, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x6e, 0x44, 0x65, 0x6d, 0x61, 0x6e,
	0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08,
	0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
	0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x75, 0x67,
	0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6c, 0x75, 0x67, 0x12, 0x48, 0x0a, 0x0d,
	0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x2a, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x6d, 0x61, 0x5f, 0x64, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x05,
	0x52, 0x0f, 0x64, 0x6d, 0x61, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0c, 0x64, 0x69,
	0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0e, 0x65, 0x70,
	0x69, 0x73, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x18, 0x2d, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x45, 0x70, 0x69, 0x73, 0x6f,
	0x64, 0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x0d, 0x65, 0x70, 0x69, 0x73, 0x6f, 0x64,
	0x65, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c,
	0x61, 0x79, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x6c,
	0x61, 0x79, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x6e,
	0x6c, 0x79, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x62, 0x72, 0x6f,
	0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x69,
	0x76, 0x65, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x68,
	0x61, 0x73, 0x5f, 0x73, 0x75, 0x62, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x73, 0x18, 0x31, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x53, 0x75, 0x62, 0x43, 0x6c, 0x69, 0x70, 0x73, 0x12,
	0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x32,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x74, 0x69, 0x74, 0x63, 0x68, 0x65, 0x64,
	0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72,
	0x73, 0x74, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13,
	0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x74, 0x69, 0x74, 0x69,
	0x61, 0x6c, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6c, 0x75, 0x74, 0x6f, 0x5f, 0x6f, 0x66, 0x66,
	0x69, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f,
	0x70, 0x6c, 0x75, 0x74, 0x6f, 0x4f, 0x66, 0x66, 0x69, 0x63, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12,
	0x4e, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52,
	0x0e, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12,
	0x5d, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x50,
	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x64, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x44,
	0x0a, 0x10, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e,
	0x5f, 0x67, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67,
	0x6f, 0x50, 0x4e, 0x47, 0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f,
	0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f,
	0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47, 0x12, 0x44, 0x0a, 0x10, 0x73, 0x6f,
	0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x18, 0x39,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x0c, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47,
	0x12, 0x44, 0x0a, 0x10, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73,
	0x5f, 0x76, 0x5f, 0x67, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c,
	0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x12, 0x4d, 0x0a, 0x23, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
	0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x73, 0x18, 0x3b, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67,
	0x75, 0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x18, 0x3c,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6d, 0x73, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x61, 0x73,
	0x6b, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x79, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61,
	0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x6f, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
	0x73, 0x18, 0x40, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x6f, 0x41, 0x6c, 0x69, 0x61,
	0x73, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x6d,
	0x5f, 0x69, 0x64, 0x18, 0x41, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x74, 0x52,
	0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x74, 0x5f, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x42, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x68, 0x61,
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x15, 0x67, 0x72, 0x61, 0x63,
	0x65, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x67, 0x72, 0x61, 0x63, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x49,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x76, 0x18,
	0x44, 0x20, 0x01, 0x28, 0x03, 0x52, 0x01, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x5f, 0x64, 0x61, 0x69, 0x18, 0x45, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x44, 0x61, 0x69, 0x12, 0x58, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f,
	0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f,
	0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
	0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65,
	0x73, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x5f, 0x61,
	0x6c, 0x74, 0x18, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69,
	0x6c, 0x41, 0x6c, 0x74, 0x12, 0x4a, 0x0a, 0x12, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64,
	0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x48, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x10,
	0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x74,
	0x12, 0x37, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x49, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
	0x52, 0x07, 0x6c, 0x6f, 0x67, 0x6f, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x73, 0x6f, 0x6c,
	0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x5f, 0x61, 0x6c,
	0x74, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f,
	0x50, 0x4e, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f,
	0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x70, 0x5f, 0x6e, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61,
	0x67, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x50, 0x4e, 0x47,
	0x41, 0x6c, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x5f, 0x6c, 0x6f, 0x67,
	0x6f, 0x5f, 0x73, 0x5f, 0x76, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4c, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52,
	0x0f, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x41, 0x6c, 0x74,
	0x12, 0x4b, 0x0a, 0x14, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x73,
	0x5f, 0x76, 0x5f, 0x67, 0x5f, 0x61, 0x6c, 0x74, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x0f, 0x63, 0x6f,
	0x6c, 0x6f, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x53, 0x56, 0x47, 0x41, 0x6c, 0x74, 0x12, 0x26, 0x0a,
	0x0f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x65, 0x70, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x18, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x6f, 0x45, 0x70, 0x67, 0x53,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5c, 0x0a, 0x11, 0x63, 0x66, 0x61, 0x61, 0x73, 0x5f, 0x69,
	0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e,
	0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x52, 0x10, 0x63, 0x66, 0x61, 0x61, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x6c, 0x6f, 0x67, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72,
	0x6c, 0x61, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x08,
	0x52, 0x11, 0x6c, 0x6f, 0x67, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x17, 0x5f, 0x69, 0x73, 0x5f, 0x64, 0x5f, 0x61, 0x5f, 0x73,
	0x5f, 0x68, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x64, 0x5f, 0x72, 0x5f, 0x6d, 0x18, 0x51,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x5f, 0x69, 0x73, 0x44, 0x41, 0x53, 0x48, 0x52, 0x65, 0x61,
	0x64, 0x79, 0x44, 0x52, 0x4d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
	0x52, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6b, 0x0a,
	0x1e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x49, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52,
	0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x18, 0x53, 0x65,
	0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x56, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x76, 0x6f, 0x64, 0x5f, 0x6c, 0x69,
	0x73, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c,
	0x76, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x10,
	0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x6e, 0x56, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x56,
	0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x52, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x66, 0x66,
	0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61,
	0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xaa, 0x02, 0x0a, 0x12, 0x47, 0x65,
	0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x3a,
	0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d,
	0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64,
	0x53, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69,
	0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
	0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x07, 0x66, 0x69,
	0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74,
	0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65,
	0x67, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x52, 0x65, 0x67, 0x65, 0x78, 0x22, 0x95, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c,
	0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41,
	0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x64,
	0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14,
	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
	0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72,
	0x61, 0x74, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x11, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64,
	0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22,
	0x97, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x51, 0x0a, 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72,
	0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x1e, 0x53, 0x65, 0x74,
	0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x64,
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28,
	0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70,
	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x16, 0x42, 0x75, 0x6c, 0x6b, 0x56, 0x6f, 0x64, 0x73,
	0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x15,
	0x0a, 0x06, 0x76, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x76, 0x6f, 0x64, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12,
	0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d,
	0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xb9, 0x01,
	0x0a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4d, 0x61,
	0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6d,
	0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x6a, 0x0a, 0x25, 0x42, 0x75, 0x6c,
	0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x64, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69,
	0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61,
	0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07,
	0x76, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76,
	0x6f, 0x64, 0x49, 0x64, 0x73, 0x22, 0x75, 0x0a, 0x26, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73,
	0x69, 0x67, 0x6e, 0x56, 0x6f, 0x64, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x4b, 0x0a, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x56,
	0x6f, 0x64, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x52, 0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8c, 0x01, 0x0a,
	0x29, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61,
	0x69, 0x6e, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x79, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f,
	0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e,
	0x65, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x7d, 0x0a, 0x2a, 0x42,
	0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x09, 0x64, 0x6f, 0x63,
	0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d,
	0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x73, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52,
	0x09, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x32, 0x9b, 0x0f, 0x0a, 0x15, 0x4d,
	0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x72, 0x12, 0x5a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x12,
	0x25, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47,
	0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x5d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x6d,
	0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63,
	0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x79, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74,
	0x42, 0x79, 0x49, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x89, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x61,
	0x74, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x44,
	0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42,
	0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x43,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x13, 0x43,
	0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x12, 0x31, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x46, 0x65, 0x65, 0x64,
	0x73, 0x53, 0x79, 0x6e, 0x63, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x4d, 0x61,
	0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x00, 0x30, 0x01, 0x12, 0x61,
	0x0a, 0x10, 0x43, 0x46, 0x65, 0x65, 0x64, 0x73, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49,
	0x64, 0x73, 0x12, 0x2e, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x46, 0x65, 0x65, 0x64,
	0x73, 0x53, 0x79, 0x6e, 0x63, 0x41, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x64, 0x22, 0x00, 0x30,
	0x01, 0x12, 0x57, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x24, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x0c, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x61, 0x69,
	0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61,
	0x67, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74,
	0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42,
	0x79, 0x49, 0x64, 0x12, 0x28, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65,
	0x74, 0x65, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
	0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x79, 0x49, 0x64,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x14, 0x47,
	0x65, 0x74, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4c,
	0x69, 0x73, 0x74, 0x12, 0x32, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x56,
	0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61,
	0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e,
	0x47, 0x65, 0x74, 0x56, 0x6f, 0x64, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72,
	0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x2d, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61,
	0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2e, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e,
	0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x87, 0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49,
	0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e,
	0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61,
	0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e,
	0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x4f,
	0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x78, 0x0a, 0x11,
	0x53, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x56, 0x6f, 0x64, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x2f, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72, 0x64,
	0x65, 0x72, 0x49, 0x6e, 0x56, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x4f, 0x72,
	0x64, 0x65, 0x72, 0x49, 0x6e, 0x56, 0x6f, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c,
	0x50, 0x61, 0x67, 0x65, 0x64, 0x12, 0x29, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65,
	0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65,
	0x74, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x2a, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x50,
	0x61, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x87,
	0x01, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x34, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72,
	0x69, 0x65, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x35, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x43,
	0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9f, 0x01, 0x0a, 0x1e, 0x42, 0x75, 0x6c,
	0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x64, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69,
	0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x6d, 0x61,
	0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b,
	0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f,
	0x64, 0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
	0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x56, 0x6f, 0x64, 0x73,
	0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0xab, 0x01, 0x0a, 0x22, 0x42,
	0x75, 0x6c, 0x6b, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
	0x73, 0x54, 0x6f, 0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x40, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69,
	0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x41, 0x73,
	0x73, 0x69, 0x67, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x54, 0x6f, 0x4d, 0x61,
	0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x6d, 0x61, 0x69, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f,
	0x72, 0x69, 0x65, 0x73, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x42, 0x75, 0x6c, 0x6b,
	0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x54, 0x6f,
	0x4d, 0x61, 0x69, 0x6e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x4f, 0x0a, 0x1e, 0x74, 0x76, 0x2e, 0x70,
	0x6c, 0x75, 0x74, 0x6f, 0x2e, 0x69, 0x70, 0x2e, 0x64, 0x61, 0x6c, 0x2e, 0x6d, 0x61, 0x69, 0x6e,
	0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x5a, 0x2d, 0x67, 0x69, 0x74, 0x68,
	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x6c, 0x75, 0x74, 0x6f, 0x2d, 0x74, 0x76, 0x2f,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x64, 0x61, 0x6c, 0x2f, 0x67, 0x6f, 0x6c, 0x61,
	0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x33,
}

var (
	file_main_categories_main_categories_proto_rawDescOnce sync.Once
	file_main_categories_main_categories_proto_rawDescData = file_main_categories_main_categories_proto_rawDesc
)

func file_main_categories_main_categories_proto_rawDescGZIP() []byte {
	file_main_categories_main_categories_proto_rawDescOnce.Do(func() {
		file_main_categories_main_categories_proto_rawDescData = protoimpl.X.CompressGZIP(file_main_categories_main_categories_proto_rawDescData)
	})
	return file_main_categories_main_categories_proto_rawDescData
}

var file_main_categories_main_categories_proto_msgTypes = make([]protoimpl.MessageInfo, 57)
var file_main_categories_main_categories_proto_goTypes = []interface{}{
	(*GetByIdRequest)(nil),                             // 0: maincategoriespackage.GetByIdRequest
	(*GetByIdResponse)(nil),                            // 1: maincategoriespackage.GetByIdResponse
	(*GetByIdsRequest)(nil),                            // 2: maincategoriespackage.GetByIdsRequest
	(*GetAllPagedSort)(nil),                            // 3: maincategoriespackage.GetAllPagedSort
	(*GetByIdsResponse)(nil),                           // 4: maincategoriespackage.GetByIdsResponse
	(*CFeedsSyncAllIdsRequest)(nil),                    // 5: maincategoriespackage.CFeedsSyncAllIdsRequest
	(*Id)(nil),                                         // 6: maincategoriespackage.Id
	(*CFeedsSyncDocumentsRequest)(nil),                 // 7: maincategoriespackage.CFeedsSyncDocumentsRequest
	(*GetDocumentsUpdatedBetweenDatesRequest)(nil),     // 8: maincategoriespackage.GetDocumentsUpdatedBetweenDatesRequest
	(*MainCategory)(nil),                               // 9: maincategoriespackage.MainCategory
	(*Distribution)(nil),                               // 10: maincategoriespackage.Distribution
	(*Path)(nil),                                       // 11: maincategoriespackage.Path
	(*Category)(nil),                                   // 12: maincategoriespackage.Category
	(*CustomReference)(nil),                            // 13: maincategoriespackage.CustomReference
	(*VodCategory)(nil),                                // 14: maincategoriespackage.VodCategory
	(*Image)(nil),                                      // 15: maincategoriespackage.Image
	(*RegionFilter)(nil),                               // 16: maincategoriespackage.RegionFilter
	(*EpisodesQueue)(nil),                              // 17: maincategoriespackage.EpisodesQueue
	(*PrivateChannel)(nil),                             // 18: maincategoriespackage.PrivateChannel
	(*ScheduledPublishing)(nil),                        // 19: maincategoriespackage.ScheduledPublishing
	(*GracenoteIntegration)(nil),                       // 20: maincategoriespackage.GracenoteIntegration
	(*SamsungChannelProperty)(nil),                     // 21: maincategoriespackage.SamsungChannelProperty
	(*CustomReferenceValue)(nil),                       // 22: maincategoriespackage.CustomReferenceValue
	(*SourceId)(nil),                                   // 23: maincategoriespackage.SourceId
	(*CfaasIntegrationResponse)(nil),                   // 24: maincategoriespackage.CfaasIntegrationResponse
	(*Channel)(nil),                                    // 25: maincategoriespackage.Channel
	(*CreateRequest)(nil),                              // 26: maincategoriespackage.CreateRequest
	(*CreateResponse)(nil),                             // 27: maincategoriespackage.CreateResponse
	(*UpdateFieldsRequest)(nil),                        // 28: maincategoriespackage.UpdateFieldsRequest
	(*UpdateFieldsResponse)(nil),                       // 29: maincategoriespackage.UpdateFieldsResponse
	(*DeleteByIdRequest)(nil),                          // 30: maincategoriespackage.DeleteByIdRequest
	(*DeleteByIdResponse)(nil),                         // 31: maincategoriespackage.DeleteByIdResponse
	(*GetVodCategoriesListRequest)(nil),                // 32: maincategoriespackage.GetVodCategoriesListRequest
	(*GetVodCategoriesListResponse)(nil),               // 33: maincategoriespackage.GetVodCategoriesListResponse
	(*GetChannelsListRequest)(nil),                     // 34: maincategoriespackage.GetChannelsListRequest
	(*GetChannelsListResponse)(nil),                    // 35: maincategoriespackage.GetChannelsListResponse
	(*ChannelListOrder)(nil),                           // 36: maincategoriespackage.ChannelListOrder
	(*SetOrderInChannelsListRequest)(nil),              // 37: maincategoriespackage.SetOrderInChannelsListRequest
	(*ChannelOrderResponse)(nil),                       // 38: maincategoriespackage.ChannelOrderResponse
	(*SetOrderInChannelsListResponse)(nil),             // 39: maincategoriespackage.SetOrderInChannelsListResponse
	(*SetOrderInVodListRequest)(nil),                   // 40: maincategoriespackage.SetOrderInVodListRequest
	(*SetOrderInVodListResponse)(nil),                  // 41: maincategoriespackage.SetOrderInVodListResponse
	(*Metadata)(nil),                                   // 42: maincategoriespackage.Metadata
	(*GetAllPagedRequest)(nil),                         // 43: maincategoriespackage.GetAllPagedRequest
	(*GetAllPagedResponse)(nil),                        // 44: maincategoriespackage.GetAllPagedResponse
	(*Filter)(nil),                                     // 45: maincategoriespackage.Filter
	(*MainCategoryOrder)(nil),                          // 46: maincategoriespackage.MainCategoryOrder
	(*SetMainCategoriesOrderRequest)(nil),              // 47: maincategoriespackage.SetMainCategoriesOrderRequest
	(*SetMainCategoriesOrderResponse)(nil),             // 48: maincategoriespackage.SetMainCategoriesOrderResponse
	(*BulkVodsMainCategories)(nil),                     // 49: maincategoriespackage.BulkVodsMainCategories
	(*BulkChannelsMainCategories)(nil),                 // 50: maincategoriespackage.BulkChannelsMainCategories
	(*BulkAssignVodsToMainCategoriesRequest)(nil),      // 51: maincategoriespackage.BulkAssignVodsToMainCategoriesRequest
	(*BulkAssignVodsToMainCategoriesResponse)(nil),     // 52: maincategoriespackage.BulkAssignVodsToMainCategoriesResponse
	(*BulkAssignChannelsToMainCategoriesRequest)(nil),  // 53: maincategoriespackage.BulkAssignChannelsToMainCategoriesRequest
	(*BulkAssignChannelsToMainCategoriesResponse)(nil), // 54: maincategoriespackage.BulkAssignChannelsToMainCategoriesResponse
	(*VodCategory_Path)(nil),                           // 55: maincategoriespackage.VodCategory.Path
	(*VodCategory_RegionFilter)(nil),                   // 56: maincategoriespackage.VodCategory.RegionFilter
}
var file_main_categories_main_categories_proto_depIdxs = []int32{
	9,   // 0: maincategoriespackage.GetByIdResponse.document:type_name -> maincategoriespackage.MainCategory
	3,   // 1: maincategoriespackage.GetByIdsRequest.sort:type_name -> maincategoriespackage.GetAllPagedSort
	9,   // 2: maincategoriespackage.GetByIdsResponse.documents:type_name -> maincategoriespackage.MainCategory
	11,  // 3: maincategoriespackage.MainCategory.svg_image_url:type_name -> maincategoriespackage.Path
	11,  // 4: maincategoriespackage.MainCategory.png_image_url:type_name -> maincategoriespackage.Path
	10,  // 5: maincategoriespackage.MainCategory.distribution:type_name -> maincategoriespackage.Distribution
	56,  // 6: maincategoriespackage.VodCategory.region_filter:type_name -> maincategoriespackage.VodCategory.RegionFilter
	56,  // 7: maincategoriespackage.VodCategory.distribution:type_name -> maincategoriespackage.VodCategory.RegionFilter
	55,  // 8: maincategoriespackage.VodCategory.icon_svg:type_name -> maincategoriespackage.VodCategory.Path
	55,  // 9: maincategoriespackage.VodCategory.icon_png:type_name -> maincategoriespackage.VodCategory.Path
	55,  // 10: maincategoriespackage.VodCategory.image_featured:type_name -> maincategoriespackage.VodCategory.Path
	12,  // 11: maincategoriespackage.VodCategory.categories:type_name -> maincategoriespackage.Category
	13,  // 12: maincategoriespackage.VodCategory.custom_references:type_name -> maincategoriespackage.CustomReference
	23,  // 13: maincategoriespackage.CfaasIntegrationResponse.source_id:type_name -> maincategoriespackage.SourceId
	12,  // 14: maincategoriespackage.Channel.categories:type_name -> maincategoriespackage.Category
	15,  // 15: maincategoriespackage.Channel.thumbnail:type_name -> maincategoriespackage.Image
	15,  // 16: maincategoriespackage.Channel.featured_image:type_name -> maincategoriespackage.Image
	15,  // 17: maincategoriespackage.Channel.partner_logo:type_name -> maincategoriespackage.Image
	15,  // 18: maincategoriespackage.Channel.logo:type_name -> maincategoriespackage.Image
	15,  // 19: maincategoriespackage.Channel.tile:type_name -> maincategoriespackage.Image
	15,  // 20: maincategoriespackage.Channel.tile_grayscale:type_name -> maincategoriespackage.Image
	15,  // 21: maincategoriespackage.Channel.browse:type_name -> maincategoriespackage.Image
	15,  // 22: maincategoriespackage.Channel.background:type_name -> maincategoriespackage.Image
	16,  // 23: maincategoriespackage.Channel.region_filter:type_name -> maincategoriespackage.RegionFilter
	16,  // 24: maincategoriespackage.Channel.distribution:type_name -> maincategoriespackage.RegionFilter
	17,  // 25: maincategoriespackage.Channel.episodes_queue:type_name -> maincategoriespackage.EpisodesQueue
	18,  // 26: maincategoriespackage.Channel.private_channel:type_name -> maincategoriespackage.PrivateChannel
	19,  // 27: maincategoriespackage.Channel.scheduled_publishing:type_name -> maincategoriespackage.ScheduledPublishing
	15,  // 28: maincategoriespackage.Channel.solid_logo_p_n_g:type_name -> maincategoriespackage.Image
	15,  // 29: maincategoriespackage.Channel.color_logo_p_n_g:type_name -> maincategoriespackage.Image
	15,  // 30: maincategoriespackage.Channel.solid_logo_s_v_g:type_name -> maincategoriespackage.Image
	15,  // 31: maincategoriespackage.Channel.color_logo_s_v_g:type_name -> maincategoriespackage.Image
	20,  // 32: maincategoriespackage.Channel.gracenote_integration:type_name -> maincategoriespackage.GracenoteIntegration
	21,  // 33: maincategoriespackage.Channel.samsung_channel_properties:type_name -> maincategoriespackage.SamsungChannelProperty
	22,  // 34: maincategoriespackage.Channel.custom_references:type_name -> maincategoriespackage.CustomReferenceValue
	15,  // 35: maincategoriespackage.Channel.thumbnail_alt:type_name -> maincategoriespackage.Image
	15,  // 36: maincategoriespackage.Channel.featured_image_alt:type_name -> maincategoriespackage.Image
	15,  // 37: maincategoriespackage.Channel.logo_alt:type_name -> maincategoriespackage.Image
	15,  // 38: maincategoriespackage.Channel.solid_logo_p_n_g_alt:type_name -> maincategoriespackage.Image
	15,  // 39: maincategoriespackage.Channel.color_logo_p_n_g_alt:type_name -> maincategoriespackage.Image
	15,  // 40: maincategoriespackage.Channel.solid_logo_s_v_g_alt:type_name -> maincategoriespackage.Image
	15,  // 41: maincategoriespackage.Channel.color_logo_s_v_g_alt:type_name -> maincategoriespackage.Image
	9,   // 42: maincategoriespackage.Channel.main_categories:type_name -> maincategoriespackage.MainCategory
	24,  // 43: maincategoriespackage.Channel.cfaas_integration:type_name -> maincategoriespackage.CfaasIntegrationResponse
	9,   // 44: maincategoriespackage.CreateRequest.document:type_name -> maincategoriespackage.MainCategory
	9,   // 45: maincategoriespackage.CreateResponse.document:type_name -> maincategoriespackage.MainCategory
	9,   // 46: maincategoriespackage.UpdateFieldsRequest.document:type_name -> maincategoriespackage.MainCategory
	9,   // 47: maincategoriespackage.UpdateFieldsResponse.document:type_name -> maincategoriespackage.MainCategory
	3,   // 48: maincategoriespackage.GetVodCategoriesListRequest.sort:type_name -> maincategoriespackage.GetAllPagedSort
	45,  // 49: maincategoriespackage.GetVodCategoriesListRequest.filters:type_name -> maincategoriespackage.Filter
	14,  // 50: maincategoriespackage.GetVodCategoriesListResponse.documents:type_name -> maincategoriespackage.VodCategory
	3,   // 51: maincategoriespackage.GetChannelsListRequest.sort:type_name -> maincategoriespackage.GetAllPagedSort
	45,  // 52: maincategoriespackage.GetChannelsListRequest.filters:type_name -> maincategoriespackage.Filter
	25,  // 53: maincategoriespackage.GetChannelsListResponse.documents:type_name -> maincategoriespackage.Channel
	12,  // 54: maincategoriespackage.ChannelOrderResponse.categories:type_name -> maincategoriespackage.Category
	15,  // 55: maincategoriespackage.ChannelOrderResponse.thumbnail:type_name -> maincategoriespackage.Image
	15,  // 56: maincategoriespackage.ChannelOrderResponse.featured_image:type_name -> maincategoriespackage.Image
	15,  // 57: maincategoriespackage.ChannelOrderResponse.partner_logo:type_name -> maincategoriespackage.Image
	15,  // 58: maincategoriespackage.ChannelOrderResponse.logo:type_name -> maincategoriespackage.Image
	15,  // 59: maincategoriespackage.ChannelOrderResponse.tile:type_name -> maincategoriespackage.Image
	15,  // 60: maincategoriespackage.ChannelOrderResponse.tile_grayscale:type_name -> maincategoriespackage.Image
	15,  // 61: maincategoriespackage.ChannelOrderResponse.browse:type_name -> maincategoriespackage.Image
	15,  // 62: maincategoriespackage.ChannelOrderResponse.background:type_name -> maincategoriespackage.Image
	16,  // 63: maincategoriespackage.ChannelOrderResponse.region_filter:type_name -> maincategoriespackage.RegionFilter
	16,  // 64: maincategoriespackage.ChannelOrderResponse.distribution:type_name -> maincategoriespackage.RegionFilter
	17,  // 65: maincategoriespackage.ChannelOrderResponse.episodes_queue:type_name -> maincategoriespackage.EpisodesQueue
	18,  // 66: maincategoriespackage.ChannelOrderResponse.private_channel:type_name -> maincategoriespackage.PrivateChannel
	19,  // 67: maincategoriespackage.ChannelOrderResponse.scheduled_publishing:type_name -> maincategoriespackage.ScheduledPublishing
	15,  // 68: maincategoriespackage.ChannelOrderResponse.solid_logo_p_n_g:type_name -> maincategoriespackage.Image
	15,  // 69: maincategoriespackage.ChannelOrderResponse.color_logo_p_n_g:type_name -> maincategoriespackage.Image
	15,  // 70: maincategoriespackage.ChannelOrderResponse.solid_logo_s_v_g:type_name -> maincategoriespackage.Image
	15,  // 71: maincategoriespackage.ChannelOrderResponse.color_logo_s_v_g:type_name -> maincategoriespackage.Image
	20,  // 72: maincategoriespackage.ChannelOrderResponse.gracenote_integration:type_name -> maincategoriespackage.GracenoteIntegration
	22,  // 73: maincategoriespackage.ChannelOrderResponse.custom_references:type_name -> maincategoriespackage.CustomReferenceValue
	15,  // 74: maincategoriespackage.ChannelOrderResponse.thumbnail_alt:type_name -> maincategoriespackage.Image
	15,  // 75: maincategoriespackage.ChannelOrderResponse.featured_image_alt:type_name -> maincategoriespackage.Image
	15,  // 76: maincategoriespackage.ChannelOrderResponse.logo_alt:type_name -> maincategoriespackage.Image
	15,  // 77: maincategoriespackage.ChannelOrderResponse.solid_logo_p_n_g_alt:type_name -> maincategoriespackage.Image
	15,  // 78: maincategoriespackage.ChannelOrderResponse.color_logo_p_n_g_alt:type_name -> maincategoriespackage.Image
	15,  // 79: maincategoriespackage.ChannelOrderResponse.solid_logo_s_v_g_alt:type_name -> maincategoriespackage.Image
	15,  // 80: maincategoriespackage.ChannelOrderResponse.color_logo_s_v_g_alt:type_name -> maincategoriespackage.Image
	24,  // 81: maincategoriespackage.ChannelOrderResponse.cfaas_integration:type_name -> maincategoriespackage.CfaasIntegrationResponse
	38,  // 82: maincategoriespackage.SetOrderInChannelsListResponse.documents:type_name -> maincategoriespackage.ChannelOrderResponse
	14,  // 83: maincategoriespackage.SetOrderInVodListResponse.documents:type_name -> maincategoriespackage.VodCategory
	3,   // 84: maincategoriespackage.GetAllPagedRequest.sort:type_name -> maincategoriespackage.GetAllPagedSort
	45,  // 85: maincategoriespackage.GetAllPagedRequest.filters:type_name -> maincategoriespackage.Filter
	9,   // 86: maincategoriespackage.GetAllPagedResponse.documents:type_name -> maincategoriespackage.MainCategory
	42,  // 87: maincategoriespackage.GetAllPagedResponse.metadata:type_name -> maincategoriespackage.Metadata
	46,  // 88: maincategoriespackage.SetMainCategoriesOrderRequest.main_categories:type_name -> maincategoriespackage.MainCategoryOrder
	46,  // 89: maincategoriespackage.SetMainCategoriesOrderResponse.documents:type_name -> maincategoriespackage.MainCategoryOrder
	49,  // 90: maincategoriespackage.BulkAssignVodsToMainCategoriesResponse.documents:type_name -> maincategoriespackage.BulkVodsMainCategories
	50,  // 91: maincategoriespackage.BulkAssignChannelsToMainCategoriesResponse.documents:type_name -> maincategoriespackage.BulkChannelsMainCategories
	0,   // 92: maincategoriespackage.MainCategoriesManager.GetById:input_type -> maincategoriespackage.GetByIdRequest
	2,   // 93: maincategoriespackage.MainCategoriesManager.GetByIds:input_type -> maincategoriespackage.GetByIdsRequest
	8,   // 94: maincategoriespackage.MainCategoriesManager.GetDocumentsUpdatedBetweenDates:input_type -> maincategoriespackage.GetDocumentsUpdatedBetweenDatesRequest
	7,   // 95: maincategoriespackage.MainCategoriesManager.CFeedsSyncDocuments:input_type -> maincategoriespackage.CFeedsSyncDocumentsRequest
	5,   // 96: maincategoriespackage.MainCategoriesManager.CFeedsSyncAllIds:input_type -> maincategoriespackage.CFeedsSyncAllIdsRequest
	26,  // 97: maincategoriespackage.MainCategoriesManager.Create:input_type -> maincategoriespackage.CreateRequest
	28,  // 98: maincategoriespackage.MainCategoriesManager.UpdateFields:input_type -> maincategoriespackage.UpdateFieldsRequest
	30,  // 99: maincategoriespackage.MainCategoriesManager.DeleteById:input_type -> maincategoriespackage.DeleteByIdRequest
	32,  // 100: maincategoriespackage.MainCategoriesManager.GetVodCategoriesList:input_type -> maincategoriespackage.GetVodCategoriesListRequest
	34,  // 101: maincategoriespackage.MainCategoriesManager.GetChannelsList:input_type -> maincategoriespackage.GetChannelsListRequest
	37,  // 102: maincategoriespackage.MainCategoriesManager.SetOrderInChannelsList:input_type -> maincategoriespackage.SetOrderInChannelsListRequest
	40,  // 103: maincategoriespackage.MainCategoriesManager.SetOrderInVodList:input_type -> maincategoriespackage.SetOrderInVodListRequest
	43,  // 104: maincategoriespackage.MainCategoriesManager.GetAllPaged:input_type -> maincategoriespackage.GetAllPagedRequest
	47,  // 105: maincategoriespackage.MainCategoriesManager.SetMainCategoriesOrder:input_type -> maincategoriespackage.SetMainCategoriesOrderRequest
	51,  // 106: maincategoriespackage.MainCategoriesManager.BulkAssignVodsToMainCategories:input_type -> maincategoriespackage.BulkAssignVodsToMainCategoriesRequest
	53,  // 107: maincategoriespackage.MainCategoriesManager.BulkAssignChannelsToMainCategories:input_type -> maincategoriespackage.BulkAssignChannelsToMainCategoriesRequest
	1,   // 108: maincategoriespackage.MainCategoriesManager.GetById:output_type -> maincategoriespackage.GetByIdResponse
	4,   // 109: maincategoriespackage.MainCategoriesManager.GetByIds:output_type -> maincategoriespackage.GetByIdsResponse
	9,   // 110: maincategoriespackage.MainCategoriesManager.GetDocumentsUpdatedBetweenDates:output_type -> maincategoriespackage.MainCategory
	9,   // 111: maincategoriespackage.MainCategoriesManager.CFeedsSyncDocuments:output_type -> maincategoriespackage.MainCategory
	6,   // 112: maincategoriespackage.MainCategoriesManager.CFeedsSyncAllIds:output_type -> maincategoriespackage.Id
	27,  // 113: maincategoriespackage.MainCategoriesManager.Create:output_type -> maincategoriespackage.CreateResponse
	29,  // 114: maincategoriespackage.MainCategoriesManager.UpdateFields:output_type -> maincategoriespackage.UpdateFieldsResponse
	31,  // 115: maincategoriespackage.MainCategoriesManager.DeleteById:output_type -> maincategoriespackage.DeleteByIdResponse
	33,  // 116: maincategoriespackage.MainCategoriesManager.GetVodCategoriesList:output_type -> maincategoriespackage.GetVodCategoriesListResponse
	35,  // 117: maincategoriespackage.MainCategoriesManager.GetChannelsList:output_type -> maincategoriespackage.GetChannelsListResponse
	39,  // 118: maincategoriespackage.MainCategoriesManager.SetOrderInChannelsList:output_type -> maincategoriespackage.SetOrderInChannelsListResponse
	41,  // 119: maincategoriespackage.MainCategoriesManager.SetOrderInVodList:output_type -> maincategoriespackage.SetOrderInVodListResponse
	44,  // 120: maincategoriespackage.MainCategoriesManager.GetAllPaged:output_type -> maincategoriespackage.GetAllPagedResponse
	48,  // 121: maincategoriespackage.MainCategoriesManager.SetMainCategoriesOrder:output_type -> maincategoriespackage.SetMainCategoriesOrderResponse
	52,  // 122: maincategoriespackage.MainCategoriesManager.BulkAssignVodsToMainCategories:output_type -> maincategoriespackage.BulkAssignVodsToMainCategoriesResponse
	54,  // 123: maincategoriespackage.MainCategoriesManager.BulkAssignChannelsToMainCategories:output_type -> maincategoriespackage.BulkAssignChannelsToMainCategoriesResponse
	108, // [108:124] is the sub-list for method output_type
	92,  // [92:108] is the sub-list for method input_type
	92,  // [92:92] is the sub-list for extension type_name
	92,  // [92:92] is the sub-list for extension extendee
	0,   // [0:92] is the sub-list for field type_name
}

func init() { file_main_categories_main_categories_proto_init() }
func file_main_categories_main_categories_proto_init() {
	if File_main_categories_main_categories_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_main_categories_main_categories_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedSort); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetByIdsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CFeedsSyncAllIdsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Id); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CFeedsSyncDocumentsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetDocumentsUpdatedBetweenDatesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MainCategory); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Distribution); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Path); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Category); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CustomReference); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VodCategory); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Image); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RegionFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EpisodesQueue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PrivateChannel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ScheduledPublishing); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GracenoteIntegration); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SamsungChannelProperty); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CustomReferenceValue); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SourceId); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CfaasIntegrationResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Channel); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateFieldsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateFieldsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteByIdRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteByIdResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetVodCategoriesListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetVodCategoriesListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelsListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetChannelsListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChannelListOrder); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetOrderInChannelsListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChannelOrderResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetOrderInChannelsListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetOrderInVodListRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetOrderInVodListResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Metadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GetAllPagedResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Filter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MainCategoryOrder); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetMainCategoriesOrderRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetMainCategoriesOrderResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkVodsMainCategories); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkChannelsMainCategories); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkAssignVodsToMainCategoriesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkAssignVodsToMainCategoriesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkAssignChannelsToMainCategoriesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BulkAssignChannelsToMainCategoriesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VodCategory_Path); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_main_categories_main_categories_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VodCategory_RegionFilter); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_main_categories_main_categories_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   57,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_main_categories_main_categories_proto_goTypes,
		DependencyIndexes: file_main_categories_main_categories_proto_depIdxs,
		MessageInfos:      file_main_categories_main_categories_proto_msgTypes,
	}.Build()
	File_main_categories_main_categories_proto = out.File
	file_main_categories_main_categories_proto_rawDesc = nil
	file_main_categories_main_categories_proto_goTypes = nil
	file_main_categories_main_categories_proto_depIdxs = nil
}
