// Copyright 2016 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.22.0
// 	protoc        v3.12.3
// source: google/appengine/v1/version.proto

package appengine

import (
	reflect "reflect"
	sync "sync"

	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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)
)

// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4

// Available inbound services.
type InboundServiceType int32

const (
	// Not specified.
	InboundServiceType_INBOUND_SERVICE_UNSPECIFIED InboundServiceType = 0
	// Allows an application to receive mail.
	InboundServiceType_INBOUND_SERVICE_MAIL InboundServiceType = 1
	// Allows an application to receive email-bound notifications.
	InboundServiceType_INBOUND_SERVICE_MAIL_BOUNCE InboundServiceType = 2
	// Allows an application to receive error stanzas.
	InboundServiceType_INBOUND_SERVICE_XMPP_ERROR InboundServiceType = 3
	// Allows an application to receive instant messages.
	InboundServiceType_INBOUND_SERVICE_XMPP_MESSAGE InboundServiceType = 4
	// Allows an application to receive user subscription POSTs.
	InboundServiceType_INBOUND_SERVICE_XMPP_SUBSCRIBE InboundServiceType = 5
	// Allows an application to receive a user's chat presence.
	InboundServiceType_INBOUND_SERVICE_XMPP_PRESENCE InboundServiceType = 6
	// Registers an application for notifications when a client connects or
	// disconnects from a channel.
	InboundServiceType_INBOUND_SERVICE_CHANNEL_PRESENCE InboundServiceType = 7
	// Enables warmup requests.
	InboundServiceType_INBOUND_SERVICE_WARMUP InboundServiceType = 9
)

// Enum value maps for InboundServiceType.
var (
	InboundServiceType_name = map[int32]string{
		0: "INBOUND_SERVICE_UNSPECIFIED",
		1: "INBOUND_SERVICE_MAIL",
		2: "INBOUND_SERVICE_MAIL_BOUNCE",
		3: "INBOUND_SERVICE_XMPP_ERROR",
		4: "INBOUND_SERVICE_XMPP_MESSAGE",
		5: "INBOUND_SERVICE_XMPP_SUBSCRIBE",
		6: "INBOUND_SERVICE_XMPP_PRESENCE",
		7: "INBOUND_SERVICE_CHANNEL_PRESENCE",
		9: "INBOUND_SERVICE_WARMUP",
	}
	InboundServiceType_value = map[string]int32{
		"INBOUND_SERVICE_UNSPECIFIED":      0,
		"INBOUND_SERVICE_MAIL":             1,
		"INBOUND_SERVICE_MAIL_BOUNCE":      2,
		"INBOUND_SERVICE_XMPP_ERROR":       3,
		"INBOUND_SERVICE_XMPP_MESSAGE":     4,
		"INBOUND_SERVICE_XMPP_SUBSCRIBE":   5,
		"INBOUND_SERVICE_XMPP_PRESENCE":    6,
		"INBOUND_SERVICE_CHANNEL_PRESENCE": 7,
		"INBOUND_SERVICE_WARMUP":           9,
	}
)

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

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

func (InboundServiceType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_appengine_v1_version_proto_enumTypes[0].Descriptor()
}

func (InboundServiceType) Type() protoreflect.EnumType {
	return &file_google_appengine_v1_version_proto_enumTypes[0]
}

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

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

// Run states of a version.
type ServingStatus int32

const (
	// Not specified.
	ServingStatus_SERVING_STATUS_UNSPECIFIED ServingStatus = 0
	// Currently serving. Instances are created according to the
	// scaling settings of the version.
	ServingStatus_SERVING ServingStatus = 1
	// Disabled. No instances will be created and the scaling
	// settings are ignored until the state of the version changes
	// to `SERVING`.
	ServingStatus_STOPPED ServingStatus = 2
)

// Enum value maps for ServingStatus.
var (
	ServingStatus_name = map[int32]string{
		0: "SERVING_STATUS_UNSPECIFIED",
		1: "SERVING",
		2: "STOPPED",
	}
	ServingStatus_value = map[string]int32{
		"SERVING_STATUS_UNSPECIFIED": 0,
		"SERVING":                    1,
		"STOPPED":                    2,
	}
)

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

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

func (ServingStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_google_appengine_v1_version_proto_enumTypes[1].Descriptor()
}

func (ServingStatus) Type() protoreflect.EnumType {
	return &file_google_appengine_v1_version_proto_enumTypes[1]
}

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

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

// A Version resource is a specific set of source code and configuration files
// that are deployed into a service.
type Version struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Full path to the Version resource in the API.  Example:
	// `apps/myapp/services/default/versions/v1`.
	//
	// @OutputOnly
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Relative name of the version within the service.  Example: `v1`.
	// Version names can contain only lowercase letters, numbers, or hyphens.
	// Reserved names: "default", "latest", and any name with the prefix "ah-".
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Controls how instances are created.
	//
	// Defaults to `AutomaticScaling`.
	//
	// Types that are assignable to Scaling:
	//	*Version_AutomaticScaling
	//	*Version_BasicScaling
	//	*Version_ManualScaling
	Scaling isVersion_Scaling `protobuf_oneof:"scaling"`
	// Before an application can receive email or XMPP messages, the application
	// must be configured to enable the service.
	InboundServices []InboundServiceType `protobuf:"varint,6,rep,packed,name=inbound_services,json=inboundServices,proto3,enum=google.appengine.v1.InboundServiceType" json:"inbound_services,omitempty"`
	// Instance class that is used to run this version. Valid values are:
	// * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
	// * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
	//
	// Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
	// BasicScaling.
	InstanceClass string `protobuf:"bytes,7,opt,name=instance_class,json=instanceClass,proto3" json:"instance_class,omitempty"`
	// Extra network settings. Only applicable for VM runtimes.
	Network *Network `protobuf:"bytes,8,opt,name=network,proto3" json:"network,omitempty"`
	// Machine resources for this version. Only applicable for VM runtimes.
	Resources *Resources `protobuf:"bytes,9,opt,name=resources,proto3" json:"resources,omitempty"`
	// Desired runtime. Example: `python27`.
	Runtime string `protobuf:"bytes,10,opt,name=runtime,proto3" json:"runtime,omitempty"`
	// Whether multiple requests can be dispatched to this version at once.
	Threadsafe bool `protobuf:"varint,11,opt,name=threadsafe,proto3" json:"threadsafe,omitempty"`
	// Whether to deploy this version in a container on a virtual machine.
	Vm bool `protobuf:"varint,12,opt,name=vm,proto3" json:"vm,omitempty"`
	// Metadata settings that are supplied to this version to enable
	// beta runtime features.
	BetaSettings map[string]string `protobuf:"bytes,13,rep,name=beta_settings,json=betaSettings,proto3" json:"beta_settings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// App Engine execution environment for this version.
	//
	// Defaults to `standard`.
	Env string `protobuf:"bytes,14,opt,name=env,proto3" json:"env,omitempty"`
	// Current serving status of this version. Only the versions with a
	// `SERVING` status create instances and can be billed.
	//
	// `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
	ServingStatus ServingStatus `protobuf:"varint,15,opt,name=serving_status,json=servingStatus,proto3,enum=google.appengine.v1.ServingStatus" json:"serving_status,omitempty"`
	// Email address of the user who created this version.
	//
	// @OutputOnly
	CreatedBy string `protobuf:"bytes,16,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	// Time that this version was created.
	//
	// @OutputOnly
	CreateTime *timestamp.Timestamp `protobuf:"bytes,17,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Total size in bytes of all the files that are included in this version
	// and curerntly hosted on the App Engine disk.
	//
	// @OutputOnly
	DiskUsageBytes int64 `protobuf:"varint,18,opt,name=disk_usage_bytes,json=diskUsageBytes,proto3" json:"disk_usage_bytes,omitempty"`
	// An ordered list of URL-matching patterns that should be applied to incoming
	// requests. The first matching URL handles the request and other request
	// handlers are not attempted.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	Handlers []*UrlMap `protobuf:"bytes,100,rep,name=handlers,proto3" json:"handlers,omitempty"`
	// Custom static error pages. Limited to 10KB per page.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	ErrorHandlers []*ErrorHandler `protobuf:"bytes,101,rep,name=error_handlers,json=errorHandlers,proto3" json:"error_handlers,omitempty"`
	// Configuration for third-party Python runtime libraries that are required
	// by the application.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	Libraries []*Library `protobuf:"bytes,102,rep,name=libraries,proto3" json:"libraries,omitempty"`
	// Serving configuration for
	// [Google Cloud
	// Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	ApiConfig *ApiConfigHandler `protobuf:"bytes,103,opt,name=api_config,json=apiConfig,proto3" json:"api_config,omitempty"`
	// Environment variables available to the application.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	EnvVariables map[string]string `protobuf:"bytes,104,rep,name=env_variables,json=envVariables,proto3" json:"env_variables,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Duration that static files should be cached by web proxies and browsers.
	// Only applicable if the corresponding
	// [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler)
	// does not specify its own expiration time.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	DefaultExpiration *duration.Duration `protobuf:"bytes,105,opt,name=default_expiration,json=defaultExpiration,proto3" json:"default_expiration,omitempty"`
	// Configures health checking for VM instances. Unhealthy instances are
	// stopped and replaced with new instances. Only applicable for VM
	// runtimes.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	HealthCheck *HealthCheck `protobuf:"bytes,106,opt,name=health_check,json=healthCheck,proto3" json:"health_check,omitempty"`
	// Files that match this pattern will not be built into this version.
	// Only applicable for Go runtimes.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	NobuildFilesRegex string `protobuf:"bytes,107,opt,name=nobuild_files_regex,json=nobuildFilesRegex,proto3" json:"nobuild_files_regex,omitempty"`
	// Code and application artifacts that make up this version.
	//
	// Only returned in `GET` requests if `view=FULL` is set.
	Deployment *Deployment `protobuf:"bytes,108,opt,name=deployment,proto3" json:"deployment,omitempty"`
	// Serving URL for this version. Example:
	// "https://myversion-dot-myservice-dot-myapp.appspot.com"
	//
	// @OutputOnly
	VersionUrl string `protobuf:"bytes,109,opt,name=version_url,json=versionUrl,proto3" json:"version_url,omitempty"`
}

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

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

func (*Version) ProtoMessage() {}

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

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

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

func (m *Version) GetScaling() isVersion_Scaling {
	if m != nil {
		return m.Scaling
	}
	return nil
}

func (x *Version) GetAutomaticScaling() *AutomaticScaling {
	if x, ok := x.GetScaling().(*Version_AutomaticScaling); ok {
		return x.AutomaticScaling
	}
	return nil
}

func (x *Version) GetBasicScaling() *BasicScaling {
	if x, ok := x.GetScaling().(*Version_BasicScaling); ok {
		return x.BasicScaling
	}
	return nil
}

func (x *Version) GetManualScaling() *ManualScaling {
	if x, ok := x.GetScaling().(*Version_ManualScaling); ok {
		return x.ManualScaling
	}
	return nil
}

func (x *Version) GetInboundServices() []InboundServiceType {
	if x != nil {
		return x.InboundServices
	}
	return nil
}

func (x *Version) GetInstanceClass() string {
	if x != nil {
		return x.InstanceClass
	}
	return ""
}

func (x *Version) GetNetwork() *Network {
	if x != nil {
		return x.Network
	}
	return nil
}

func (x *Version) GetResources() *Resources {
	if x != nil {
		return x.Resources
	}
	return nil
}

func (x *Version) GetRuntime() string {
	if x != nil {
		return x.Runtime
	}
	return ""
}

func (x *Version) GetThreadsafe() bool {
	if x != nil {
		return x.Threadsafe
	}
	return false
}

func (x *Version) GetVm() bool {
	if x != nil {
		return x.Vm
	}
	return false
}

func (x *Version) GetBetaSettings() map[string]string {
	if x != nil {
		return x.BetaSettings
	}
	return nil
}

func (x *Version) GetEnv() string {
	if x != nil {
		return x.Env
	}
	return ""
}

func (x *Version) GetServingStatus() ServingStatus {
	if x != nil {
		return x.ServingStatus
	}
	return ServingStatus_SERVING_STATUS_UNSPECIFIED
}

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

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

func (x *Version) GetDiskUsageBytes() int64 {
	if x != nil {
		return x.DiskUsageBytes
	}
	return 0
}

func (x *Version) GetHandlers() []*UrlMap {
	if x != nil {
		return x.Handlers
	}
	return nil
}

func (x *Version) GetErrorHandlers() []*ErrorHandler {
	if x != nil {
		return x.ErrorHandlers
	}
	return nil
}

func (x *Version) GetLibraries() []*Library {
	if x != nil {
		return x.Libraries
	}
	return nil
}

func (x *Version) GetApiConfig() *ApiConfigHandler {
	if x != nil {
		return x.ApiConfig
	}
	return nil
}

func (x *Version) GetEnvVariables() map[string]string {
	if x != nil {
		return x.EnvVariables
	}
	return nil
}

func (x *Version) GetDefaultExpiration() *duration.Duration {
	if x != nil {
		return x.DefaultExpiration
	}
	return nil
}

func (x *Version) GetHealthCheck() *HealthCheck {
	if x != nil {
		return x.HealthCheck
	}
	return nil
}

func (x *Version) GetNobuildFilesRegex() string {
	if x != nil {
		return x.NobuildFilesRegex
	}
	return ""
}

func (x *Version) GetDeployment() *Deployment {
	if x != nil {
		return x.Deployment
	}
	return nil
}

func (x *Version) GetVersionUrl() string {
	if x != nil {
		return x.VersionUrl
	}
	return ""
}

type isVersion_Scaling interface {
	isVersion_Scaling()
}

type Version_AutomaticScaling struct {
	// Automatic scaling is based on request rate, response latencies, and other
	// application metrics.
	AutomaticScaling *AutomaticScaling `protobuf:"bytes,3,opt,name=automatic_scaling,json=automaticScaling,proto3,oneof"`
}

type Version_BasicScaling struct {
	// A service with basic scaling will create an instance when the application
	// receives a request. The instance will be turned down when the app becomes
	// idle. Basic scaling is ideal for work that is intermittent or driven by
	// user activity.
	BasicScaling *BasicScaling `protobuf:"bytes,4,opt,name=basic_scaling,json=basicScaling,proto3,oneof"`
}

type Version_ManualScaling struct {
	// A service with manual scaling runs continuously, allowing you to perform
	// complex initialization and rely on the state of its memory over time.
	ManualScaling *ManualScaling `protobuf:"bytes,5,opt,name=manual_scaling,json=manualScaling,proto3,oneof"`
}

func (*Version_AutomaticScaling) isVersion_Scaling() {}

func (*Version_BasicScaling) isVersion_Scaling() {}

func (*Version_ManualScaling) isVersion_Scaling() {}

// Automatic scaling is based on request rate, response latencies, and other
// application metrics.
type AutomaticScaling struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Amount of time that the
	// [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/)
	// should wait between changes to the number of virtual machines.
	// Only applicable for VM runtimes.
	CoolDownPeriod *duration.Duration `protobuf:"bytes,1,opt,name=cool_down_period,json=coolDownPeriod,proto3" json:"cool_down_period,omitempty"`
	// Target scaling by CPU usage.
	CpuUtilization *CpuUtilization `protobuf:"bytes,2,opt,name=cpu_utilization,json=cpuUtilization,proto3" json:"cpu_utilization,omitempty"`
	// Number of concurrent requests an automatic scaling instance can accept
	// before the scheduler spawns a new instance.
	//
	// Defaults to a runtime-specific value.
	MaxConcurrentRequests int32 `protobuf:"varint,3,opt,name=max_concurrent_requests,json=maxConcurrentRequests,proto3" json:"max_concurrent_requests,omitempty"`
	// Maximum number of idle instances that should be maintained for this
	// version.
	MaxIdleInstances int32 `protobuf:"varint,4,opt,name=max_idle_instances,json=maxIdleInstances,proto3" json:"max_idle_instances,omitempty"`
	// Maximum number of instances that should be started to handle requests.
	MaxTotalInstances int32 `protobuf:"varint,5,opt,name=max_total_instances,json=maxTotalInstances,proto3" json:"max_total_instances,omitempty"`
	// Maximum amount of time that a request should wait in the pending queue
	// before starting a new instance to handle it.
	MaxPendingLatency *duration.Duration `protobuf:"bytes,6,opt,name=max_pending_latency,json=maxPendingLatency,proto3" json:"max_pending_latency,omitempty"`
	// Minimum number of idle instances that should be maintained for
	// this version. Only applicable for the default version of a service.
	MinIdleInstances int32 `protobuf:"varint,7,opt,name=min_idle_instances,json=minIdleInstances,proto3" json:"min_idle_instances,omitempty"`
	// Minimum number of instances that should be maintained for this version.
	MinTotalInstances int32 `protobuf:"varint,8,opt,name=min_total_instances,json=minTotalInstances,proto3" json:"min_total_instances,omitempty"`
	// Minimum amount of time a request should wait in the pending queue before
	// starting a new instance to handle it.
	MinPendingLatency *duration.Duration `protobuf:"bytes,9,opt,name=min_pending_latency,json=minPendingLatency,proto3" json:"min_pending_latency,omitempty"`
	// Target scaling by request utilization.
	RequestUtilization *RequestUtilization `protobuf:"bytes,10,opt,name=request_utilization,json=requestUtilization,proto3" json:"request_utilization,omitempty"`
	// Target scaling by disk usage.
	DiskUtilization *DiskUtilization `protobuf:"bytes,11,opt,name=disk_utilization,json=diskUtilization,proto3" json:"disk_utilization,omitempty"`
	// Target scaling by network usage.
	NetworkUtilization *NetworkUtilization `protobuf:"bytes,12,opt,name=network_utilization,json=networkUtilization,proto3" json:"network_utilization,omitempty"`
}

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

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

func (*AutomaticScaling) ProtoMessage() {}

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

func (x *AutomaticScaling) GetCoolDownPeriod() *duration.Duration {
	if x != nil {
		return x.CoolDownPeriod
	}
	return nil
}

func (x *AutomaticScaling) GetCpuUtilization() *CpuUtilization {
	if x != nil {
		return x.CpuUtilization
	}
	return nil
}

func (x *AutomaticScaling) GetMaxConcurrentRequests() int32 {
	if x != nil {
		return x.MaxConcurrentRequests
	}
	return 0
}

func (x *AutomaticScaling) GetMaxIdleInstances() int32 {
	if x != nil {
		return x.MaxIdleInstances
	}
	return 0
}

func (x *AutomaticScaling) GetMaxTotalInstances() int32 {
	if x != nil {
		return x.MaxTotalInstances
	}
	return 0
}

func (x *AutomaticScaling) GetMaxPendingLatency() *duration.Duration {
	if x != nil {
		return x.MaxPendingLatency
	}
	return nil
}

func (x *AutomaticScaling) GetMinIdleInstances() int32 {
	if x != nil {
		return x.MinIdleInstances
	}
	return 0
}

func (x *AutomaticScaling) GetMinTotalInstances() int32 {
	if x != nil {
		return x.MinTotalInstances
	}
	return 0
}

func (x *AutomaticScaling) GetMinPendingLatency() *duration.Duration {
	if x != nil {
		return x.MinPendingLatency
	}
	return nil
}

func (x *AutomaticScaling) GetRequestUtilization() *RequestUtilization {
	if x != nil {
		return x.RequestUtilization
	}
	return nil
}

func (x *AutomaticScaling) GetDiskUtilization() *DiskUtilization {
	if x != nil {
		return x.DiskUtilization
	}
	return nil
}

func (x *AutomaticScaling) GetNetworkUtilization() *NetworkUtilization {
	if x != nil {
		return x.NetworkUtilization
	}
	return nil
}

// A service with basic scaling will create an instance when the application
// receives a request. The instance will be turned down when the app becomes
// idle. Basic scaling is ideal for work that is intermittent or driven by
// user activity.
type BasicScaling struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Duration of time after the last request that an instance must wait before
	// the instance is shut down.
	IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
	// Maximum number of instances to create for this version.
	MaxInstances int32 `protobuf:"varint,2,opt,name=max_instances,json=maxInstances,proto3" json:"max_instances,omitempty"`
}

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

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

func (*BasicScaling) ProtoMessage() {}

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

func (x *BasicScaling) GetIdleTimeout() *duration.Duration {
	if x != nil {
		return x.IdleTimeout
	}
	return nil
}

func (x *BasicScaling) GetMaxInstances() int32 {
	if x != nil {
		return x.MaxInstances
	}
	return 0
}

// A service with manual scaling runs continuously, allowing you to perform
// complex initialization and rely on the state of its memory over time.
type ManualScaling struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Number of instances to assign to the service at the start. This number
	// can later be altered by using the
	// [Modules
	// API](https://cloud.google.com/appengine/docs/python/modules/functions)
	// `set_num_instances()` function.
	Instances int32 `protobuf:"varint,1,opt,name=instances,proto3" json:"instances,omitempty"`
}

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

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

func (*ManualScaling) ProtoMessage() {}

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

func (x *ManualScaling) GetInstances() int32 {
	if x != nil {
		return x.Instances
	}
	return 0
}

// Target scaling by CPU usage.
type CpuUtilization struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Period of time over which CPU utilization is calculated.
	AggregationWindowLength *duration.Duration `protobuf:"bytes,1,opt,name=aggregation_window_length,json=aggregationWindowLength,proto3" json:"aggregation_window_length,omitempty"`
	// Target CPU utilization ratio to maintain when scaling. Must be between 0
	// and 1.
	TargetUtilization float64 `protobuf:"fixed64,2,opt,name=target_utilization,json=targetUtilization,proto3" json:"target_utilization,omitempty"`
}

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

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

func (*CpuUtilization) ProtoMessage() {}

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

func (x *CpuUtilization) GetAggregationWindowLength() *duration.Duration {
	if x != nil {
		return x.AggregationWindowLength
	}
	return nil
}

func (x *CpuUtilization) GetTargetUtilization() float64 {
	if x != nil {
		return x.TargetUtilization
	}
	return 0
}

// Target scaling by request utilization. Only applicable for VM runtimes.
type RequestUtilization struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Target requests per second.
	TargetRequestCountPerSecond int32 `protobuf:"varint,1,opt,name=target_request_count_per_second,json=targetRequestCountPerSecond,proto3" json:"target_request_count_per_second,omitempty"`
	// Target number of concurrent requests.
	TargetConcurrentRequests int32 `protobuf:"varint,2,opt,name=target_concurrent_requests,json=targetConcurrentRequests,proto3" json:"target_concurrent_requests,omitempty"`
}

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

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

func (*RequestUtilization) ProtoMessage() {}

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

func (x *RequestUtilization) GetTargetRequestCountPerSecond() int32 {
	if x != nil {
		return x.TargetRequestCountPerSecond
	}
	return 0
}

func (x *RequestUtilization) GetTargetConcurrentRequests() int32 {
	if x != nil {
		return x.TargetConcurrentRequests
	}
	return 0
}

// Target scaling by disk usage. Only applicable for VM runtimes.
type DiskUtilization struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Target bytes written per second.
	TargetWriteBytesPerSecond int32 `protobuf:"varint,14,opt,name=target_write_bytes_per_second,json=targetWriteBytesPerSecond,proto3" json:"target_write_bytes_per_second,omitempty"`
	// Target ops written per second.
	TargetWriteOpsPerSecond int32 `protobuf:"varint,15,opt,name=target_write_ops_per_second,json=targetWriteOpsPerSecond,proto3" json:"target_write_ops_per_second,omitempty"`
	// Target bytes read per second.
	TargetReadBytesPerSecond int32 `protobuf:"varint,16,opt,name=target_read_bytes_per_second,json=targetReadBytesPerSecond,proto3" json:"target_read_bytes_per_second,omitempty"`
	// Target ops read per seconds.
	TargetReadOpsPerSecond int32 `protobuf:"varint,17,opt,name=target_read_ops_per_second,json=targetReadOpsPerSecond,proto3" json:"target_read_ops_per_second,omitempty"`
}

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

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

func (*DiskUtilization) ProtoMessage() {}

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

func (x *DiskUtilization) GetTargetWriteBytesPerSecond() int32 {
	if x != nil {
		return x.TargetWriteBytesPerSecond
	}
	return 0
}

func (x *DiskUtilization) GetTargetWriteOpsPerSecond() int32 {
	if x != nil {
		return x.TargetWriteOpsPerSecond
	}
	return 0
}

func (x *DiskUtilization) GetTargetReadBytesPerSecond() int32 {
	if x != nil {
		return x.TargetReadBytesPerSecond
	}
	return 0
}

func (x *DiskUtilization) GetTargetReadOpsPerSecond() int32 {
	if x != nil {
		return x.TargetReadOpsPerSecond
	}
	return 0
}

// Target scaling by network usage. Only applicable for VM runtimes.
type NetworkUtilization struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Target bytes sent per second.
	TargetSentBytesPerSecond int32 `protobuf:"varint,1,opt,name=target_sent_bytes_per_second,json=targetSentBytesPerSecond,proto3" json:"target_sent_bytes_per_second,omitempty"`
	// Target packets sent per second.
	TargetSentPacketsPerSecond int32 `protobuf:"varint,11,opt,name=target_sent_packets_per_second,json=targetSentPacketsPerSecond,proto3" json:"target_sent_packets_per_second,omitempty"`
	// Target bytes received per second.
	TargetReceivedBytesPerSecond int32 `protobuf:"varint,12,opt,name=target_received_bytes_per_second,json=targetReceivedBytesPerSecond,proto3" json:"target_received_bytes_per_second,omitempty"`
	// Target packets received per second.
	TargetReceivedPacketsPerSecond int32 `protobuf:"varint,13,opt,name=target_received_packets_per_second,json=targetReceivedPacketsPerSecond,proto3" json:"target_received_packets_per_second,omitempty"`
}

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

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

func (*NetworkUtilization) ProtoMessage() {}

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

func (x *NetworkUtilization) GetTargetSentBytesPerSecond() int32 {
	if x != nil {
		return x.TargetSentBytesPerSecond
	}
	return 0
}

func (x *NetworkUtilization) GetTargetSentPacketsPerSecond() int32 {
	if x != nil {
		return x.TargetSentPacketsPerSecond
	}
	return 0
}

func (x *NetworkUtilization) GetTargetReceivedBytesPerSecond() int32 {
	if x != nil {
		return x.TargetReceivedBytesPerSecond
	}
	return 0
}

func (x *NetworkUtilization) GetTargetReceivedPacketsPerSecond() int32 {
	if x != nil {
		return x.TargetReceivedPacketsPerSecond
	}
	return 0
}

// Extra network settings. Only applicable for VM runtimes.
type Network struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// List of ports, or port pairs, to forward from the virtual machine to the
	// application container.
	ForwardedPorts []string `protobuf:"bytes,1,rep,name=forwarded_ports,json=forwardedPorts,proto3" json:"forwarded_ports,omitempty"`
	// Tag to apply to the VM instance during creation.
	InstanceTag string `protobuf:"bytes,2,opt,name=instance_tag,json=instanceTag,proto3" json:"instance_tag,omitempty"`
	// Google Cloud Platform network where the virtual machines are created.
	// Specify the short name, not the resource path.
	//
	// Defaults to `default`.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
}

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

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

func (*Network) ProtoMessage() {}

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

func (x *Network) GetForwardedPorts() []string {
	if x != nil {
		return x.ForwardedPorts
	}
	return nil
}

func (x *Network) GetInstanceTag() string {
	if x != nil {
		return x.InstanceTag
	}
	return ""
}

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

// Machine resources for a version.
type Resources struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Number of CPU cores needed.
	Cpu float64 `protobuf:"fixed64,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
	// Disk size (GB) needed.
	DiskGb float64 `protobuf:"fixed64,2,opt,name=disk_gb,json=diskGb,proto3" json:"disk_gb,omitempty"`
	// Memory (GB) needed.
	MemoryGb float64 `protobuf:"fixed64,3,opt,name=memory_gb,json=memoryGb,proto3" json:"memory_gb,omitempty"`
}

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

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

func (*Resources) ProtoMessage() {}

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

func (x *Resources) GetCpu() float64 {
	if x != nil {
		return x.Cpu
	}
	return 0
}

func (x *Resources) GetDiskGb() float64 {
	if x != nil {
		return x.DiskGb
	}
	return 0
}

func (x *Resources) GetMemoryGb() float64 {
	if x != nil {
		return x.MemoryGb
	}
	return 0
}

var File_google_appengine_v1_version_proto protoreflect.FileDescriptor

var file_google_appengine_v1_version_proto_rawDesc = []byte{
	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
	0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65,
	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
	0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x70, 0x70, 0x5f,
	0x79, 0x61, 0x6d, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x2f,
	0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x95, 0x0d,
	0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a,
	0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x54, 0x0a,
	0x11, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69,
	0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
	0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x48,
	0x00, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c,
	0x69, 0x6e, 0x67, 0x12, 0x48, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x73, 0x63, 0x61,
	0x6c, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52,
	0x0c, 0x62, 0x61, 0x73, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a,
	0x0e, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
	0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x75,
	0x61, 0x6c, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x61, 0x6e,
	0x75, 0x61, 0x6c, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x52, 0x0a, 0x10, 0x69, 0x6e,
	0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x06,
	0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
	0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75,
	0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x69,
	0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25,
	0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74,
	0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3c, 0x0a,
	0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73,
	0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72,
	0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75,
	0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73,
	0x61, 0x66, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x68, 0x72, 0x65, 0x61,
	0x64, 0x73, 0x61, 0x66, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x02, 0x76, 0x6d, 0x12, 0x53, 0x0a, 0x0d, 0x62, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x65,
	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x65, 0x74, 0x61, 0x53,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x62, 0x65,
	0x74, 0x61, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
	0x76, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x49, 0x0a, 0x0e,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
	0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e,
	0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65,
	0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54,
	0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x73, 0x61, 0x67,
	0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x64,
	0x69, 0x73, 0x6b, 0x55, 0x73, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x37, 0x0a,
	0x08, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
	0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x08, 0x68, 0x61,
	0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
	0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73, 0x18, 0x65, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65,
	0x72, 0x52, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x73,
	0x12, 0x3a, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x66, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70,
	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72,
	0x79, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x0a,
	0x61, 0x70, 0x69, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x61, 0x70, 0x69, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x53, 0x0a, 0x0d, 0x65, 0x6e, 0x76, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x18, 0x68, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x65, 0x6e, 0x76, 0x56, 0x61,
	0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75,
	0x6c, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x69, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11,
	0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63,
	0x6b, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65,
	0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74,
	0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x62, 0x75, 0x69, 0x6c,
	0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x6b, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x6f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6c, 0x65,
	0x73, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x3f, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x1a, 0x3f, 0x0a, 0x11, 0x42, 0x65, 0x74, 0x61,
	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x45, 0x6e, 0x76,
	0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 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, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x73, 0x63,
	0x61, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x06, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61,
	0x74, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x10, 0x63, 0x6f,
	0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x0e, 0x63, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12,
	0x4c, 0x0a, 0x0f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
	0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63,
	0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a,
	0x17, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15,
	0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x64, 0x6c,
	0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x49, 0x64, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c,
	0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
	0x52, 0x11, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69,
	0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x61, 0x78,
	0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2c,
	0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x49,
	0x64, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x13,
	0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x54, 0x6f,
	0x74, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x13,
	0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65,
	0x6e, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67,
	0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
	0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x4f, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x6b, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x74,
	0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
	0x6e, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x74, 0x69,
	0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
	0x6b, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0x0a, 0x0c,
	0x42, 0x61, 0x73, 0x69, 0x63, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a, 0x0c,
	0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69,
	0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61,
	0x78, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22,
	0x2d, 0x0a, 0x0d, 0x4d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67,
	0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x96,
	0x01, 0x0a, 0x0e, 0x43, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x55, 0x0a, 0x19, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
	0x17, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64,
	0x6f, 0x77, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x74, 0x69, 0x6c,
	0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44,
	0x0a, 0x1f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x53, 0x65,
	0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63,
	0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x6b, 0x55, 0x74, 0x69, 0x6c, 0x69,
	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x1d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50,
	0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x70, 0x73, 0x50, 0x65, 0x72,
	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3e, 0x0a, 0x1c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f,
	0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72,
	0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x3a, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x70, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65,
	0x63, 0x6f, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x70, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x74,
	0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x1c, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70,
	0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73,
	0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x42, 0x0a, 0x1e, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63,
	0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x46, 0x0a,
	0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52,
	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x53,
	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x12, 0x4a, 0x0a, 0x22, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
	0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
	0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x1e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
	0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x22, 0x69, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x27, 0x0a, 0x0f,
	0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x65, 0x64,
	0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x09,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x17, 0x0a, 0x07, 0x64,
	0x69, 0x73, 0x6b, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x64, 0x69,
	0x73, 0x6b, 0x47, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x67,
	0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x47,
	0x62, 0x2a, 0xbb, 0x02, 0x0a, 0x12, 0x49, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x42, 0x4f,
	0x55, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x42,
	0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x49,
	0x4c, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x53,
	0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x4d, 0x41, 0x49, 0x4c, 0x5f, 0x42, 0x4f, 0x55, 0x4e,
	0x43, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f,
	0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x58, 0x4d, 0x50, 0x50, 0x5f, 0x45, 0x52, 0x52,
	0x4f, 0x52, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f,
	0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x58, 0x4d, 0x50, 0x50, 0x5f, 0x4d, 0x45, 0x53,
	0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e,
	0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x58, 0x4d, 0x50, 0x50, 0x5f, 0x53,
	0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x10, 0x05, 0x12, 0x21, 0x0a, 0x1d, 0x49, 0x4e,
	0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x58, 0x4d,
	0x50, 0x50, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x06, 0x12, 0x24, 0x0a,
	0x20, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45,
	0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43,
	0x45, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x53,
	0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4d, 0x55, 0x50, 0x10, 0x09, 0x2a,
	0x49, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x41, 0x54,
	0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
	0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a,
	0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x02, 0x42, 0x67, 0x0a, 0x17, 0x63, 0x6f,
	0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69,
	0x6e, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
	0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x70,
	0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67,
	0x69, 0x6e, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_google_appengine_v1_version_proto_rawDescOnce sync.Once
	file_google_appengine_v1_version_proto_rawDescData = file_google_appengine_v1_version_proto_rawDesc
)

func file_google_appengine_v1_version_proto_rawDescGZIP() []byte {
	file_google_appengine_v1_version_proto_rawDescOnce.Do(func() {
		file_google_appengine_v1_version_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_appengine_v1_version_proto_rawDescData)
	})
	return file_google_appengine_v1_version_proto_rawDescData
}

var file_google_appengine_v1_version_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_appengine_v1_version_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_google_appengine_v1_version_proto_goTypes = []interface{}{
	(InboundServiceType)(0),     // 0: google.appengine.v1.InboundServiceType
	(ServingStatus)(0),          // 1: google.appengine.v1.ServingStatus
	(*Version)(nil),             // 2: google.appengine.v1.Version
	(*AutomaticScaling)(nil),    // 3: google.appengine.v1.AutomaticScaling
	(*BasicScaling)(nil),        // 4: google.appengine.v1.BasicScaling
	(*ManualScaling)(nil),       // 5: google.appengine.v1.ManualScaling
	(*CpuUtilization)(nil),      // 6: google.appengine.v1.CpuUtilization
	(*RequestUtilization)(nil),  // 7: google.appengine.v1.RequestUtilization
	(*DiskUtilization)(nil),     // 8: google.appengine.v1.DiskUtilization
	(*NetworkUtilization)(nil),  // 9: google.appengine.v1.NetworkUtilization
	(*Network)(nil),             // 10: google.appengine.v1.Network
	(*Resources)(nil),           // 11: google.appengine.v1.Resources
	nil,                         // 12: google.appengine.v1.Version.BetaSettingsEntry
	nil,                         // 13: google.appengine.v1.Version.EnvVariablesEntry
	(*timestamp.Timestamp)(nil), // 14: google.protobuf.Timestamp
	(*UrlMap)(nil),              // 15: google.appengine.v1.UrlMap
	(*ErrorHandler)(nil),        // 16: google.appengine.v1.ErrorHandler
	(*Library)(nil),             // 17: google.appengine.v1.Library
	(*ApiConfigHandler)(nil),    // 18: google.appengine.v1.ApiConfigHandler
	(*duration.Duration)(nil),   // 19: google.protobuf.Duration
	(*HealthCheck)(nil),         // 20: google.appengine.v1.HealthCheck
	(*Deployment)(nil),          // 21: google.appengine.v1.Deployment
}
var file_google_appengine_v1_version_proto_depIdxs = []int32{
	3,  // 0: google.appengine.v1.Version.automatic_scaling:type_name -> google.appengine.v1.AutomaticScaling
	4,  // 1: google.appengine.v1.Version.basic_scaling:type_name -> google.appengine.v1.BasicScaling
	5,  // 2: google.appengine.v1.Version.manual_scaling:type_name -> google.appengine.v1.ManualScaling
	0,  // 3: google.appengine.v1.Version.inbound_services:type_name -> google.appengine.v1.InboundServiceType
	10, // 4: google.appengine.v1.Version.network:type_name -> google.appengine.v1.Network
	11, // 5: google.appengine.v1.Version.resources:type_name -> google.appengine.v1.Resources
	12, // 6: google.appengine.v1.Version.beta_settings:type_name -> google.appengine.v1.Version.BetaSettingsEntry
	1,  // 7: google.appengine.v1.Version.serving_status:type_name -> google.appengine.v1.ServingStatus
	14, // 8: google.appengine.v1.Version.create_time:type_name -> google.protobuf.Timestamp
	15, // 9: google.appengine.v1.Version.handlers:type_name -> google.appengine.v1.UrlMap
	16, // 10: google.appengine.v1.Version.error_handlers:type_name -> google.appengine.v1.ErrorHandler
	17, // 11: google.appengine.v1.Version.libraries:type_name -> google.appengine.v1.Library
	18, // 12: google.appengine.v1.Version.api_config:type_name -> google.appengine.v1.ApiConfigHandler
	13, // 13: google.appengine.v1.Version.env_variables:type_name -> google.appengine.v1.Version.EnvVariablesEntry
	19, // 14: google.appengine.v1.Version.default_expiration:type_name -> google.protobuf.Duration
	20, // 15: google.appengine.v1.Version.health_check:type_name -> google.appengine.v1.HealthCheck
	21, // 16: google.appengine.v1.Version.deployment:type_name -> google.appengine.v1.Deployment
	19, // 17: google.appengine.v1.AutomaticScaling.cool_down_period:type_name -> google.protobuf.Duration
	6,  // 18: google.appengine.v1.AutomaticScaling.cpu_utilization:type_name -> google.appengine.v1.CpuUtilization
	19, // 19: google.appengine.v1.AutomaticScaling.max_pending_latency:type_name -> google.protobuf.Duration
	19, // 20: google.appengine.v1.AutomaticScaling.min_pending_latency:type_name -> google.protobuf.Duration
	7,  // 21: google.appengine.v1.AutomaticScaling.request_utilization:type_name -> google.appengine.v1.RequestUtilization
	8,  // 22: google.appengine.v1.AutomaticScaling.disk_utilization:type_name -> google.appengine.v1.DiskUtilization
	9,  // 23: google.appengine.v1.AutomaticScaling.network_utilization:type_name -> google.appengine.v1.NetworkUtilization
	19, // 24: google.appengine.v1.BasicScaling.idle_timeout:type_name -> google.protobuf.Duration
	19, // 25: google.appengine.v1.CpuUtilization.aggregation_window_length:type_name -> google.protobuf.Duration
	26, // [26:26] is the sub-list for method output_type
	26, // [26:26] is the sub-list for method input_type
	26, // [26:26] is the sub-list for extension type_name
	26, // [26:26] is the sub-list for extension extendee
	0,  // [0:26] is the sub-list for field type_name
}

func init() { file_google_appengine_v1_version_proto_init() }
func file_google_appengine_v1_version_proto_init() {
	if File_google_appengine_v1_version_proto != nil {
		return
	}
	file_google_appengine_v1_app_yaml_proto_init()
	file_google_appengine_v1_deploy_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_google_appengine_v1_version_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Version); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*AutomaticScaling); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BasicScaling); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ManualScaling); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CpuUtilization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RequestUtilization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DiskUtilization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NetworkUtilization); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Network); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_google_appengine_v1_version_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Resources); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_google_appengine_v1_version_proto_msgTypes[0].OneofWrappers = []interface{}{
		(*Version_AutomaticScaling)(nil),
		(*Version_BasicScaling)(nil),
		(*Version_ManualScaling)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_google_appengine_v1_version_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_appengine_v1_version_proto_goTypes,
		DependencyIndexes: file_google_appengine_v1_version_proto_depIdxs,
		EnumInfos:         file_google_appengine_v1_version_proto_enumTypes,
		MessageInfos:      file_google_appengine_v1_version_proto_msgTypes,
	}.Build()
	File_google_appengine_v1_version_proto = out.File
	file_google_appengine_v1_version_proto_rawDesc = nil
	file_google_appengine_v1_version_proto_goTypes = nil
	file_google_appengine_v1_version_proto_depIdxs = nil
}
