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

package carserver

import (
	managedcharging "github.com/teslamotors/vehicle-command/pkg/protocol/protobuf/managedcharging"
	vcsec "github.com/teslamotors/vehicle-command/pkg/protocol/protobuf/vcsec"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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 MediaSourceType int32

const (
	// Standard sources
	MediaSourceType_MediaSourceType_None       MediaSourceType = 0
	MediaSourceType_MediaSourceType_AM         MediaSourceType = 1
	MediaSourceType_MediaSourceType_FM         MediaSourceType = 2
	MediaSourceType_MediaSourceType_XM         MediaSourceType = 3
	MediaSourceType_MediaSourceType_Slacker    MediaSourceType = 5
	MediaSourceType_MediaSourceType_LocalFiles MediaSourceType = 6
	MediaSourceType_MediaSourceType_iPod       MediaSourceType = 7
	MediaSourceType_MediaSourceType_Bluetooth  MediaSourceType = 8
	MediaSourceType_MediaSourceType_AuxIn      MediaSourceType = 9
	MediaSourceType_MediaSourceType_DAB        MediaSourceType = 10
	MediaSourceType_MediaSourceType_Rdio       MediaSourceType = 11
	MediaSourceType_MediaSourceType_Spotify    MediaSourceType = 12
	MediaSourceType_MediaSourceType_USRadio    MediaSourceType = 13
	MediaSourceType_MediaSourceType_EURadio    MediaSourceType = 14
	MediaSourceType_MediaSourceType_MediaFile  MediaSourceType = 16
	// Server-side sources
	MediaSourceType_MediaSourceType_TuneIn       MediaSourceType = 17
	MediaSourceType_MediaSourceType_Stingray     MediaSourceType = 18
	MediaSourceType_MediaSourceType_SiriusXM     MediaSourceType = 19
	MediaSourceType_MediaSourceType_Tidal        MediaSourceType = 20
	MediaSourceType_MediaSourceType_QQMusic      MediaSourceType = 21
	MediaSourceType_MediaSourceType_QQMusic2     MediaSourceType = 22
	MediaSourceType_MediaSourceType_Ximalaya     MediaSourceType = 23
	MediaSourceType_MediaSourceType_OnlineRadio  MediaSourceType = 24
	MediaSourceType_MediaSourceType_OnlineRadio2 MediaSourceType = 25
	MediaSourceType_MediaSourceType_NetEaseMusic MediaSourceType = 26
	// Entertainment sources
	MediaSourceType_MediaSourceType_Browser          MediaSourceType = 28
	MediaSourceType_MediaSourceType_Theater          MediaSourceType = 29
	MediaSourceType_MediaSourceType_Game             MediaSourceType = 30
	MediaSourceType_MediaSourceType_Tutorial         MediaSourceType = 31
	MediaSourceType_MediaSourceType_Toybox           MediaSourceType = 32
	MediaSourceType_MediaSourceType_RecentsFavorites MediaSourceType = 33
	MediaSourceType_MediaSourceType_HomeApps         MediaSourceType = 34
	MediaSourceType_MediaSourceType_Search           MediaSourceType = 35
)

// Enum value maps for MediaSourceType.
var (
	MediaSourceType_name = map[int32]string{
		0:  "MediaSourceType_None",
		1:  "MediaSourceType_AM",
		2:  "MediaSourceType_FM",
		3:  "MediaSourceType_XM",
		5:  "MediaSourceType_Slacker",
		6:  "MediaSourceType_LocalFiles",
		7:  "MediaSourceType_iPod",
		8:  "MediaSourceType_Bluetooth",
		9:  "MediaSourceType_AuxIn",
		10: "MediaSourceType_DAB",
		11: "MediaSourceType_Rdio",
		12: "MediaSourceType_Spotify",
		13: "MediaSourceType_USRadio",
		14: "MediaSourceType_EURadio",
		16: "MediaSourceType_MediaFile",
		17: "MediaSourceType_TuneIn",
		18: "MediaSourceType_Stingray",
		19: "MediaSourceType_SiriusXM",
		20: "MediaSourceType_Tidal",
		21: "MediaSourceType_QQMusic",
		22: "MediaSourceType_QQMusic2",
		23: "MediaSourceType_Ximalaya",
		24: "MediaSourceType_OnlineRadio",
		25: "MediaSourceType_OnlineRadio2",
		26: "MediaSourceType_NetEaseMusic",
		28: "MediaSourceType_Browser",
		29: "MediaSourceType_Theater",
		30: "MediaSourceType_Game",
		31: "MediaSourceType_Tutorial",
		32: "MediaSourceType_Toybox",
		33: "MediaSourceType_RecentsFavorites",
		34: "MediaSourceType_HomeApps",
		35: "MediaSourceType_Search",
	}
	MediaSourceType_value = map[string]int32{
		"MediaSourceType_None":             0,
		"MediaSourceType_AM":               1,
		"MediaSourceType_FM":               2,
		"MediaSourceType_XM":               3,
		"MediaSourceType_Slacker":          5,
		"MediaSourceType_LocalFiles":       6,
		"MediaSourceType_iPod":             7,
		"MediaSourceType_Bluetooth":        8,
		"MediaSourceType_AuxIn":            9,
		"MediaSourceType_DAB":              10,
		"MediaSourceType_Rdio":             11,
		"MediaSourceType_Spotify":          12,
		"MediaSourceType_USRadio":          13,
		"MediaSourceType_EURadio":          14,
		"MediaSourceType_MediaFile":        16,
		"MediaSourceType_TuneIn":           17,
		"MediaSourceType_Stingray":         18,
		"MediaSourceType_SiriusXM":         19,
		"MediaSourceType_Tidal":            20,
		"MediaSourceType_QQMusic":          21,
		"MediaSourceType_QQMusic2":         22,
		"MediaSourceType_Ximalaya":         23,
		"MediaSourceType_OnlineRadio":      24,
		"MediaSourceType_OnlineRadio2":     25,
		"MediaSourceType_NetEaseMusic":     26,
		"MediaSourceType_Browser":          28,
		"MediaSourceType_Theater":          29,
		"MediaSourceType_Game":             30,
		"MediaSourceType_Tutorial":         31,
		"MediaSourceType_Toybox":           32,
		"MediaSourceType_RecentsFavorites": 33,
		"MediaSourceType_HomeApps":         34,
		"MediaSourceType_Search":           35,
	}
)

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

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

func (MediaSourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[0].Descriptor()
}

func (MediaSourceType) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[0]
}

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

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

type ChargeState_ScheduledChargingMode int32

const (
	ChargeState_ScheduledChargingModeOff      ChargeState_ScheduledChargingMode = 0
	ChargeState_ScheduledChargingModeStartAt  ChargeState_ScheduledChargingMode = 1
	ChargeState_ScheduledChargingModeDepartBy ChargeState_ScheduledChargingMode = 2
)

// Enum value maps for ChargeState_ScheduledChargingMode.
var (
	ChargeState_ScheduledChargingMode_name = map[int32]string{
		0: "ScheduledChargingModeOff",
		1: "ScheduledChargingModeStartAt",
		2: "ScheduledChargingModeDepartBy",
	}
	ChargeState_ScheduledChargingMode_value = map[string]int32{
		"ScheduledChargingModeOff":      0,
		"ScheduledChargingModeStartAt":  1,
		"ScheduledChargingModeDepartBy": 2,
	}
)

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

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

func (ChargeState_ScheduledChargingMode) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[1].Descriptor()
}

func (ChargeState_ScheduledChargingMode) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[1]
}

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

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

type ChargeState_ChargePortColor_E int32

const (
	ChargeState_ChargePortColorOff           ChargeState_ChargePortColor_E = 0
	ChargeState_ChargePortColorRed           ChargeState_ChargePortColor_E = 1
	ChargeState_ChargePortColorGreen         ChargeState_ChargePortColor_E = 2
	ChargeState_ChargePortColorBlue          ChargeState_ChargePortColor_E = 3
	ChargeState_ChargePortColorWhite         ChargeState_ChargePortColor_E = 4
	ChargeState_ChargePortColorFlashingGreen ChargeState_ChargePortColor_E = 5
	ChargeState_ChargePortColorFlashingAmber ChargeState_ChargePortColor_E = 6
	ChargeState_ChargePortColorAmber         ChargeState_ChargePortColor_E = 7
	ChargeState_ChargePortColorRave          ChargeState_ChargePortColor_E = 8
	ChargeState_ChargePortColorDebug         ChargeState_ChargePortColor_E = 9
	ChargeState_ChargePortColorFlashingBlue  ChargeState_ChargePortColor_E = 10
)

// Enum value maps for ChargeState_ChargePortColor_E.
var (
	ChargeState_ChargePortColor_E_name = map[int32]string{
		0:  "ChargePortColorOff",
		1:  "ChargePortColorRed",
		2:  "ChargePortColorGreen",
		3:  "ChargePortColorBlue",
		4:  "ChargePortColorWhite",
		5:  "ChargePortColorFlashingGreen",
		6:  "ChargePortColorFlashingAmber",
		7:  "ChargePortColorAmber",
		8:  "ChargePortColorRave",
		9:  "ChargePortColorDebug",
		10: "ChargePortColorFlashingBlue",
	}
	ChargeState_ChargePortColor_E_value = map[string]int32{
		"ChargePortColorOff":           0,
		"ChargePortColorRed":           1,
		"ChargePortColorGreen":         2,
		"ChargePortColorBlue":          3,
		"ChargePortColorWhite":         4,
		"ChargePortColorFlashingGreen": 5,
		"ChargePortColorFlashingAmber": 6,
		"ChargePortColorAmber":         7,
		"ChargePortColorRave":          8,
		"ChargePortColorDebug":         9,
		"ChargePortColorFlashingBlue":  10,
	}
)

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

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

func (ChargeState_ChargePortColor_E) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[2].Descriptor()
}

func (ChargeState_ChargePortColor_E) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[2]
}

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

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

type ChargeState_ChargeLimitReason int32

const (
	ChargeState_ChargeLimitReasonUnknown     ChargeState_ChargeLimitReason = 0
	ChargeState_ChargeLimitReasonNone        ChargeState_ChargeLimitReason = 1
	ChargeState_ChargeLimitReasonEvse        ChargeState_ChargeLimitReason = 2
	ChargeState_ChargeLimitReasonBattTempLow ChargeState_ChargeLimitReason = 3
	ChargeState_ChargeLimitReasonHighSoc     ChargeState_ChargeLimitReason = 4
	ChargeState_ChargeLimitReasonCabin       ChargeState_ChargeLimitReason = 5
)

// Enum value maps for ChargeState_ChargeLimitReason.
var (
	ChargeState_ChargeLimitReason_name = map[int32]string{
		0: "ChargeLimitReasonUnknown",
		1: "ChargeLimitReasonNone",
		2: "ChargeLimitReasonEvse",
		3: "ChargeLimitReasonBattTempLow",
		4: "ChargeLimitReasonHighSoc",
		5: "ChargeLimitReasonCabin",
	}
	ChargeState_ChargeLimitReason_value = map[string]int32{
		"ChargeLimitReasonUnknown":     0,
		"ChargeLimitReasonNone":        1,
		"ChargeLimitReasonEvse":        2,
		"ChargeLimitReasonBattTempLow": 3,
		"ChargeLimitReasonHighSoc":     4,
		"ChargeLimitReasonCabin":       5,
	}
)

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

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

func (ChargeState_ChargeLimitReason) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[3].Descriptor()
}

func (ChargeState_ChargeLimitReason) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[3]
}

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

// Deprecated: Use ChargeState_ChargeLimitReason.Descriptor instead.
func (ChargeState_ChargeLimitReason) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 2}
}

type ChargeState_OutletState int32

const (
	ChargeState_OutletStateOff         ChargeState_OutletState = 0
	ChargeState_OutletStateCabinAndBed ChargeState_OutletState = 1
	ChargeState_OutletStateCabin       ChargeState_OutletState = 2
)

// Enum value maps for ChargeState_OutletState.
var (
	ChargeState_OutletState_name = map[int32]string{
		0: "OutletStateOff",
		1: "OutletStateCabinAndBed",
		2: "OutletStateCabin",
	}
	ChargeState_OutletState_value = map[string]int32{
		"OutletStateOff":         0,
		"OutletStateCabinAndBed": 1,
		"OutletStateCabin":       2,
	}
)

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

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

func (ChargeState_OutletState) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[4].Descriptor()
}

func (ChargeState_OutletState) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[4]
}

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

// Deprecated: Use ChargeState_OutletState.Descriptor instead.
func (ChargeState_OutletState) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 3}
}

type ChargeState_PowerFeedState int32

const (
	ChargeState_PowerFeedStateOff         ChargeState_PowerFeedState = 0
	ChargeState_PowerFeedStateCabinAndBed ChargeState_PowerFeedState = 1
	ChargeState_PowerFeedStateCabin       ChargeState_PowerFeedState = 2
)

// Enum value maps for ChargeState_PowerFeedState.
var (
	ChargeState_PowerFeedState_name = map[int32]string{
		0: "PowerFeedStateOff",
		1: "PowerFeedStateCabinAndBed",
		2: "PowerFeedStateCabin",
	}
	ChargeState_PowerFeedState_value = map[string]int32{
		"PowerFeedStateOff":         0,
		"PowerFeedStateCabinAndBed": 1,
		"PowerFeedStateCabin":       2,
	}
)

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

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

func (ChargeState_PowerFeedState) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[5].Descriptor()
}

func (ChargeState_PowerFeedState) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[5]
}

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

// Deprecated: Use ChargeState_PowerFeedState.Descriptor instead.
func (ChargeState_PowerFeedState) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 4}
}

type ChargeState_PowershareStatus int32

const (
	ChargeState_PowershareStatusInactive               ChargeState_PowershareStatus = 0 // disconnected or connected, but don't know if powershare capable
	ChargeState_PowershareStatusInit                   ChargeState_PowershareStatus = 1 // initializing
	ChargeState_PowershareStatusActive                 ChargeState_PowershareStatus = 2 // actively powersharing
	ChargeState_PowershareStatusStopped                ChargeState_PowershareStatus = 3 // powersharing has stopped - either standby or faulted or blocked; look at stopReason
	ChargeState_PowershareStatusHandshaking            ChargeState_PowershareStatus = 4 // powersharing is handshaking
	ChargeState_PowershareStatusActiveReconnectingSoon ChargeState_PowershareStatus = 5 // powersharing is active, but reconnecting soon
)

// Enum value maps for ChargeState_PowershareStatus.
var (
	ChargeState_PowershareStatus_name = map[int32]string{
		0: "PowershareStatusInactive",
		1: "PowershareStatusInit",
		2: "PowershareStatusActive",
		3: "PowershareStatusStopped",
		4: "PowershareStatusHandshaking",
		5: "PowershareStatusActiveReconnectingSoon",
	}
	ChargeState_PowershareStatus_value = map[string]int32{
		"PowershareStatusInactive":               0,
		"PowershareStatusInit":                   1,
		"PowershareStatusActive":                 2,
		"PowershareStatusStopped":                3,
		"PowershareStatusHandshaking":            4,
		"PowershareStatusActiveReconnectingSoon": 5,
	}
)

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

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

func (ChargeState_PowershareStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[6].Descriptor()
}

func (ChargeState_PowershareStatus) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[6]
}

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

// Deprecated: Use ChargeState_PowershareStatus.Descriptor instead.
func (ChargeState_PowershareStatus) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 5}
}

type ChargeState_PowershareType int32

const (
	ChargeState_PowershareTypeNone ChargeState_PowershareType = 0
	ChargeState_PowershareTypeLoad ChargeState_PowershareType = 1
	ChargeState_PowershareTypeHome ChargeState_PowershareType = 2
)

// Enum value maps for ChargeState_PowershareType.
var (
	ChargeState_PowershareType_name = map[int32]string{
		0: "PowershareTypeNone",
		1: "PowershareTypeLoad",
		2: "PowershareTypeHome",
	}
	ChargeState_PowershareType_value = map[string]int32{
		"PowershareTypeNone": 0,
		"PowershareTypeLoad": 1,
		"PowershareTypeHome": 2,
	}
)

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

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

func (ChargeState_PowershareType) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[7].Descriptor()
}

func (ChargeState_PowershareType) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[7]
}

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

// Deprecated: Use ChargeState_PowershareType.Descriptor instead.
func (ChargeState_PowershareType) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 6}
}

type ChargeState_PowershareStopReason int32

const (
	ChargeState_PowershareStopReasonNone           ChargeState_PowershareStopReason = 0
	ChargeState_PowershareStopReasonSOCTooLow      ChargeState_PowershareStopReason = 1
	ChargeState_PowershareStopReasonRetry          ChargeState_PowershareStopReason = 2
	ChargeState_PowershareStopReasonFault          ChargeState_PowershareStopReason = 3
	ChargeState_PowershareStopReasonUser           ChargeState_PowershareStopReason = 4
	ChargeState_PowershareStopReasonReconnecting   ChargeState_PowershareStopReason = 5
	ChargeState_PowershareStopReasonAuthentication ChargeState_PowershareStopReason = 6
)

// Enum value maps for ChargeState_PowershareStopReason.
var (
	ChargeState_PowershareStopReason_name = map[int32]string{
		0: "PowershareStopReasonNone",
		1: "PowershareStopReasonSOCTooLow",
		2: "PowershareStopReasonRetry",
		3: "PowershareStopReasonFault",
		4: "PowershareStopReasonUser",
		5: "PowershareStopReasonReconnecting",
		6: "PowershareStopReasonAuthentication",
	}
	ChargeState_PowershareStopReason_value = map[string]int32{
		"PowershareStopReasonNone":           0,
		"PowershareStopReasonSOCTooLow":      1,
		"PowershareStopReasonRetry":          2,
		"PowershareStopReasonFault":          3,
		"PowershareStopReasonUser":           4,
		"PowershareStopReasonReconnecting":   5,
		"PowershareStopReasonAuthentication": 6,
	}
)

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

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

func (ChargeState_PowershareStopReason) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[8].Descriptor()
}

func (ChargeState_PowershareStopReason) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[8]
}

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

// Deprecated: Use ChargeState_PowershareStopReason.Descriptor instead.
func (ChargeState_PowershareStopReason) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{9, 7}
}

type ClimateState_HvacAutoRequest int32

const (
	ClimateState_HvacAutoRequestOn       ClimateState_HvacAutoRequest = 0
	ClimateState_HvacAutoRequestOverride ClimateState_HvacAutoRequest = 1
)

// Enum value maps for ClimateState_HvacAutoRequest.
var (
	ClimateState_HvacAutoRequest_name = map[int32]string{
		0: "HvacAutoRequestOn",
		1: "HvacAutoRequestOverride",
	}
	ClimateState_HvacAutoRequest_value = map[string]int32{
		"HvacAutoRequestOn":       0,
		"HvacAutoRequestOverride": 1,
	}
)

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

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

func (ClimateState_HvacAutoRequest) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[9].Descriptor()
}

func (ClimateState_HvacAutoRequest) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[9]
}

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

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

type ClimateState_CabinOverheatProtection_E int32

const (
	ClimateState_CabinOverheatProtectionOff     ClimateState_CabinOverheatProtection_E = 0
	ClimateState_CabinOverheatProtectionOn      ClimateState_CabinOverheatProtection_E = 1
	ClimateState_CabinOverheatProtectionFanOnly ClimateState_CabinOverheatProtection_E = 2
)

// Enum value maps for ClimateState_CabinOverheatProtection_E.
var (
	ClimateState_CabinOverheatProtection_E_name = map[int32]string{
		0: "CabinOverheatProtectionOff",
		1: "CabinOverheatProtectionOn",
		2: "CabinOverheatProtectionFanOnly",
	}
	ClimateState_CabinOverheatProtection_E_value = map[string]int32{
		"CabinOverheatProtectionOff":     0,
		"CabinOverheatProtectionOn":      1,
		"CabinOverheatProtectionFanOnly": 2,
	}
)

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

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

func (ClimateState_CabinOverheatProtection_E) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[10].Descriptor()
}

func (ClimateState_CabinOverheatProtection_E) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[10]
}

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

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

type ClimateState_SeatHeaterLevel_E int32

const (
	ClimateState_SeatHeaterLevelOff  ClimateState_SeatHeaterLevel_E = 0
	ClimateState_SeatHeaterLevelLow  ClimateState_SeatHeaterLevel_E = 1
	ClimateState_SeatHeaterLevelMed  ClimateState_SeatHeaterLevel_E = 2
	ClimateState_SeatHeaterLevelHigh ClimateState_SeatHeaterLevel_E = 3
)

// Enum value maps for ClimateState_SeatHeaterLevel_E.
var (
	ClimateState_SeatHeaterLevel_E_name = map[int32]string{
		0: "SeatHeaterLevelOff",
		1: "SeatHeaterLevelLow",
		2: "SeatHeaterLevelMed",
		3: "SeatHeaterLevelHigh",
	}
	ClimateState_SeatHeaterLevel_E_value = map[string]int32{
		"SeatHeaterLevelOff":  0,
		"SeatHeaterLevelLow":  1,
		"SeatHeaterLevelMed":  2,
		"SeatHeaterLevelHigh": 3,
	}
)

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

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

func (ClimateState_SeatHeaterLevel_E) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[11].Descriptor()
}

func (ClimateState_SeatHeaterLevel_E) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[11]
}

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

// Deprecated: Use ClimateState_SeatHeaterLevel_E.Descriptor instead.
func (ClimateState_SeatHeaterLevel_E) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{22, 2}
}

type ClimateState_SeatCoolingLevel_E int32

const (
	ClimateState_SeatCoolingLevelOff  ClimateState_SeatCoolingLevel_E = 0
	ClimateState_SeatCoolingLevelLow  ClimateState_SeatCoolingLevel_E = 1
	ClimateState_SeatCoolingLevelMed  ClimateState_SeatCoolingLevel_E = 2
	ClimateState_SeatCoolingLevelHigh ClimateState_SeatCoolingLevel_E = 3
)

// Enum value maps for ClimateState_SeatCoolingLevel_E.
var (
	ClimateState_SeatCoolingLevel_E_name = map[int32]string{
		0: "SeatCoolingLevelOff",
		1: "SeatCoolingLevelLow",
		2: "SeatCoolingLevelMed",
		3: "SeatCoolingLevelHigh",
	}
	ClimateState_SeatCoolingLevel_E_value = map[string]int32{
		"SeatCoolingLevelOff":  0,
		"SeatCoolingLevelLow":  1,
		"SeatCoolingLevelMed":  2,
		"SeatCoolingLevelHigh": 3,
	}
)

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

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

func (ClimateState_SeatCoolingLevel_E) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[12].Descriptor()
}

func (ClimateState_SeatCoolingLevel_E) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[12]
}

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

// Deprecated: Use ClimateState_SeatCoolingLevel_E.Descriptor instead.
func (ClimateState_SeatCoolingLevel_E) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{22, 3}
}

type ClimateState_CopActivationTemp int32

const (
	ClimateState_CopActivationTempUnspecified ClimateState_CopActivationTemp = 0
	ClimateState_CopActivationTempLow         ClimateState_CopActivationTemp = 1
	ClimateState_CopActivationTempMedium      ClimateState_CopActivationTemp = 2
	ClimateState_CopActivationTempHigh        ClimateState_CopActivationTemp = 3
)

// Enum value maps for ClimateState_CopActivationTemp.
var (
	ClimateState_CopActivationTemp_name = map[int32]string{
		0: "CopActivationTempUnspecified",
		1: "CopActivationTempLow",
		2: "CopActivationTempMedium",
		3: "CopActivationTempHigh",
	}
	ClimateState_CopActivationTemp_value = map[string]int32{
		"CopActivationTempUnspecified": 0,
		"CopActivationTempLow":         1,
		"CopActivationTempMedium":      2,
		"CopActivationTempHigh":        3,
	}
)

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

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

func (ClimateState_CopActivationTemp) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[13].Descriptor()
}

func (ClimateState_CopActivationTemp) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[13]
}

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

// Deprecated: Use ClimateState_CopActivationTemp.Descriptor instead.
func (ClimateState_CopActivationTemp) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{22, 4}
}

type ClimateState_COPNotRunningReason int32

const (
	ClimateState_COPNotRunningReasonNoReason                 ClimateState_COPNotRunningReason = 0
	ClimateState_COPNotRunningReasonUserInteraction          ClimateState_COPNotRunningReason = 1
	ClimateState_COPNotRunningReasonEnergyConsumptionReached ClimateState_COPNotRunningReason = 2
	ClimateState_COPNotRunningReasonTimeout                  ClimateState_COPNotRunningReason = 3
	ClimateState_COPNotRunningReasonLowSolarLoad             ClimateState_COPNotRunningReason = 4
	ClimateState_COPNotRunningReasonFault                    ClimateState_COPNotRunningReason = 5
	ClimateState_COPNotRunningReasonCabinBelowThreshold      ClimateState_COPNotRunningReason = 6
)

// Enum value maps for ClimateState_COPNotRunningReason.
var (
	ClimateState_COPNotRunningReason_name = map[int32]string{
		0: "COPNotRunningReasonNoReason",
		1: "COPNotRunningReasonUserInteraction",
		2: "COPNotRunningReasonEnergyConsumptionReached",
		3: "COPNotRunningReasonTimeout",
		4: "COPNotRunningReasonLowSolarLoad",
		5: "COPNotRunningReasonFault",
		6: "COPNotRunningReasonCabinBelowThreshold",
	}
	ClimateState_COPNotRunningReason_value = map[string]int32{
		"COPNotRunningReasonNoReason":                 0,
		"COPNotRunningReasonUserInteraction":          1,
		"COPNotRunningReasonEnergyConsumptionReached": 2,
		"COPNotRunningReasonTimeout":                  3,
		"COPNotRunningReasonLowSolarLoad":             4,
		"COPNotRunningReasonFault":                    5,
		"COPNotRunningReasonCabinBelowThreshold":      6,
	}
)

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

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

func (ClimateState_COPNotRunningReason) Descriptor() protoreflect.EnumDescriptor {
	return file_vehicle_proto_enumTypes[14].Descriptor()
}

func (ClimateState_COPNotRunningReason) Type() protoreflect.EnumType {
	return &file_vehicle_proto_enumTypes[14]
}

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

// Deprecated: Use ClimateState_COPNotRunningReason.Descriptor instead.
func (ClimateState_COPNotRunningReason) EnumDescriptor() ([]byte, []int) {
	return file_vehicle_proto_rawDescGZIP(), []int{22, 5}
}

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

	ChargeState                  *ChargeState                  `protobuf:"bytes,3,opt,name=charge_state,json=chargeState,proto3" json:"charge_state,omitempty"`
	ClimateState                 *ClimateState                 `protobuf:"bytes,4,opt,name=climate_state,json=climateState,proto3" json:"climate_state,omitempty"`
	DriveState                   *DriveState                   `protobuf:"bytes,5,opt,name=drive_state,json=driveState,proto3" json:"drive_state,omitempty"`
	LocationState                *LocationState                `protobuf:"bytes,8,opt,name=location_state,json=locationState,proto3" json:"location_state,omitempty"`
	ClosuresState                *ClosuresState                `protobuf:"bytes,9,opt,name=closures_state,json=closuresState,proto3" json:"closures_state,omitempty"`
	ChargeScheduleState          *ChargeScheduleState          `protobuf:"bytes,15,opt,name=charge_schedule_state,json=chargeScheduleState,proto3" json:"charge_schedule_state,omitempty"`
	PreconditioningScheduleState *PreconditioningScheduleState `protobuf:"bytes,16,opt,name=preconditioning_schedule_state,json=preconditioningScheduleState,proto3" json:"preconditioning_schedule_state,omitempty"`
	TirePressureState            *TirePressureState            `protobuf:"bytes,19,opt,name=tire_pressure_state,json=tirePressureState,proto3" json:"tire_pressure_state,omitempty"`
	MediaState                   *MediaState                   `protobuf:"bytes,20,opt,name=media_state,json=mediaState,proto3" json:"media_state,omitempty"`
	MediaDetailState             *MediaDetailState             `protobuf:"bytes,21,opt,name=media_detail_state,json=mediaDetailState,proto3" json:"media_detail_state,omitempty"`
	SoftwareUpdateState          *SoftwareUpdateState          `protobuf:"bytes,23,opt,name=software_update_state,json=softwareUpdateState,proto3" json:"software_update_state,omitempty"`
	ParentalControlsState        *ParentalControlsState        `protobuf:"bytes,24,opt,name=parental_controls_state,json=parentalControlsState,proto3" json:"parental_controls_state,omitempty"`
}

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

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

func (*VehicleData) ProtoMessage() {}

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

func (x *VehicleData) GetChargeState() *ChargeState {
	if x != nil {
		return x.ChargeState
	}
	return nil
}

func (x *VehicleData) GetClimateState() *ClimateState {
	if x != nil {
		return x.ClimateState
	}
	return nil
}

func (x *VehicleData) GetDriveState() *DriveState {
	if x != nil {
		return x.DriveState
	}
	return nil
}

func (x *VehicleData) GetLocationState() *LocationState {
	if x != nil {
		return x.LocationState
	}
	return nil
}

func (x *VehicleData) GetClosuresState() *ClosuresState {
	if x != nil {
		return x.ClosuresState
	}
	return nil
}

func (x *VehicleData) GetChargeScheduleState() *ChargeScheduleState {
	if x != nil {
		return x.ChargeScheduleState
	}
	return nil
}

func (x *VehicleData) GetPreconditioningScheduleState() *PreconditioningScheduleState {
	if x != nil {
		return x.PreconditioningScheduleState
	}
	return nil
}

func (x *VehicleData) GetTirePressureState() *TirePressureState {
	if x != nil {
		return x.TirePressureState
	}
	return nil
}

func (x *VehicleData) GetMediaState() *MediaState {
	if x != nil {
		return x.MediaState
	}
	return nil
}

func (x *VehicleData) GetMediaDetailState() *MediaDetailState {
	if x != nil {
		return x.MediaDetailState
	}
	return nil
}

func (x *VehicleData) GetSoftwareUpdateState() *SoftwareUpdateState {
	if x != nil {
		return x.SoftwareUpdateState
	}
	return nil
}

func (x *VehicleData) GetParentalControlsState() *ParentalControlsState {
	if x != nil {
		return x.ParentalControlsState
	}
	return nil
}

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

	// Types that are assignable to OptionalDoorOpenDriverFront:
	//	*ClosuresState_DoorOpenDriverFront
	OptionalDoorOpenDriverFront isClosuresState_OptionalDoorOpenDriverFront `protobuf_oneof:"optional_door_open_driver_front"`
	// Types that are assignable to OptionalDoorOpenDriverRear:
	//	*ClosuresState_DoorOpenDriverRear
	OptionalDoorOpenDriverRear isClosuresState_OptionalDoorOpenDriverRear `protobuf_oneof:"optional_door_open_driver_rear"`
	// Types that are assignable to OptionalDoorOpenPassengerFront:
	//	*ClosuresState_DoorOpenPassengerFront
	OptionalDoorOpenPassengerFront isClosuresState_OptionalDoorOpenPassengerFront `protobuf_oneof:"optional_door_open_passenger_front"`
	// Types that are assignable to OptionalDoorOpenPassengerRear:
	//	*ClosuresState_DoorOpenPassengerRear
	OptionalDoorOpenPassengerRear isClosuresState_OptionalDoorOpenPassengerRear `protobuf_oneof:"optional_door_open_passenger_rear"`
	// Types that are assignable to OptionalDoorOpenTrunkFront:
	//	*ClosuresState_DoorOpenTrunkFront
	OptionalDoorOpenTrunkFront isClosuresState_OptionalDoorOpenTrunkFront `protobuf_oneof:"optional_door_open_trunk_front"`
	// Types that are assignable to OptionalDoorOpenTrunkRear:
	//	*ClosuresState_DoorOpenTrunkRear
	OptionalDoorOpenTrunkRear isClosuresState_OptionalDoorOpenTrunkRear `protobuf_oneof:"optional_door_open_trunk_rear"`
	// Types that are assignable to OptionalWindowOpenDriverFront:
	//	*ClosuresState_WindowOpenDriverFront
	OptionalWindowOpenDriverFront isClosuresState_OptionalWindowOpenDriverFront `protobuf_oneof:"optional_window_open_driver_front"`
	// Types that are assignable to OptionalWindowOpenPassengerFront:
	//	*ClosuresState_WindowOpenPassengerFront
	OptionalWindowOpenPassengerFront isClosuresState_OptionalWindowOpenPassengerFront `protobuf_oneof:"optional_window_open_passenger_front"`
	// Types that are assignable to OptionalWindowOpenDriverRear:
	//	*ClosuresState_WindowOpenDriverRear
	OptionalWindowOpenDriverRear isClosuresState_OptionalWindowOpenDriverRear `protobuf_oneof:"optional_window_open_driver_rear"`
	// Types that are assignable to OptionalWindowOpenPassengerRear:
	//	*ClosuresState_WindowOpenPassengerRear
	OptionalWindowOpenPassengerRear isClosuresState_OptionalWindowOpenPassengerRear `protobuf_oneof:"optional_window_open_passenger_rear"`
	SunRoofState                    *ClosuresState_SunRoofState                     `protobuf:"bytes,11,opt,name=sun_roof_state,json=sunRoofState,proto3" json:"sun_roof_state,omitempty"` // only set when sunroof installed
	// Types that are assignable to OptionalSunRoofPercentOpen:
	//	*ClosuresState_SunRoofPercentOpen
	OptionalSunRoofPercentOpen isClosuresState_OptionalSunRoofPercentOpen `protobuf_oneof:"optional_sun_roof_percent_open"`
	// Types that are assignable to OptionalLocked:
	//	*ClosuresState_Locked
	OptionalLocked isClosuresState_OptionalLocked `protobuf_oneof:"optional_locked"`
	// Types that are assignable to OptionalIsUserPresent:
	//	*ClosuresState_IsUserPresent
	OptionalIsUserPresent isClosuresState_OptionalIsUserPresent `protobuf_oneof:"optional_is_user_present"`
	CenterDisplayState    *ClosuresState_DisplayState           `protobuf:"bytes,15,opt,name=center_display_state,json=centerDisplayState,proto3" json:"center_display_state,omitempty"`
	// `true` when remote start is active.
	//
	// Types that are assignable to OptionalRemoteStart:
	//	*ClosuresState_RemoteStart
	OptionalRemoteStart isClosuresState_OptionalRemoteStart `protobuf_oneof:"optional_remote_start"`
	// Types that are assignable to OptionalValetMode:
	//	*ClosuresState_ValetMode
	OptionalValetMode isClosuresState_OptionalValetMode `protobuf_oneof:"optional_valet_mode"`
	// Types that are assignable to OptionalValetPinNeeded:
	//	*ClosuresState_ValetPinNeeded
	OptionalValetPinNeeded isClosuresState_OptionalValetPinNeeded `protobuf_oneof:"optional_valet_pin_needed"`
	SentryModeState        *ClosuresState_SentryModeState         `protobuf:"bytes,19,opt,name=sentry_mode_state,json=sentryModeState,proto3" json:"sentry_mode_state,omitempty"` // only set when sentry mode supported
	// Types that are assignable to OptionalSentryModeAvailable:
	//	*ClosuresState_SentryModeAvailable
	OptionalSentryModeAvailable isClosuresState_OptionalSentryModeAvailable `protobuf_oneof:"optional_sentry_mode_available"`
	SpeedLimitMode              *SpeedLimitMode                             `protobuf:"bytes,22,opt,name=speed_limit_mode,json=speedLimitMode,proto3" json:"speed_limit_mode,omitempty"` // only set when speed limit mode supported
	// Types that are assignable to OptionalTonneauState:
	//	*ClosuresState_TonneauState
	OptionalTonneauState isClosuresState_OptionalTonneauState `protobuf_oneof:"optional_tonneau_state"`
	// Types that are assignable to OptionalTonneauPercentOpen:
	//	*ClosuresState_TonneauPercentOpen
	OptionalTonneauPercentOpen isClosuresState_OptionalTonneauPercentOpen `protobuf_oneof:"optional_tonneau_percent_open"`
	// Types that are assignable to OptionalTonneauInMotion:
	//	*ClosuresState_TonneauInMotion
	OptionalTonneauInMotion isClosuresState_OptionalTonneauInMotion `protobuf_oneof:"optional_tonneau_in_motion"`
	Timestamp               *timestamppb.Timestamp                  `protobuf:"bytes,2000,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*ClosuresState) ProtoMessage() {}

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

func (m *ClosuresState) GetOptionalDoorOpenDriverFront() isClosuresState_OptionalDoorOpenDriverFront {
	if m != nil {
		return m.OptionalDoorOpenDriverFront
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenDriverFront() bool {
	if x, ok := x.GetOptionalDoorOpenDriverFront().(*ClosuresState_DoorOpenDriverFront); ok {
		return x.DoorOpenDriverFront
	}
	return false
}

func (m *ClosuresState) GetOptionalDoorOpenDriverRear() isClosuresState_OptionalDoorOpenDriverRear {
	if m != nil {
		return m.OptionalDoorOpenDriverRear
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenDriverRear() bool {
	if x, ok := x.GetOptionalDoorOpenDriverRear().(*ClosuresState_DoorOpenDriverRear); ok {
		return x.DoorOpenDriverRear
	}
	return false
}

func (m *ClosuresState) GetOptionalDoorOpenPassengerFront() isClosuresState_OptionalDoorOpenPassengerFront {
	if m != nil {
		return m.OptionalDoorOpenPassengerFront
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenPassengerFront() bool {
	if x, ok := x.GetOptionalDoorOpenPassengerFront().(*ClosuresState_DoorOpenPassengerFront); ok {
		return x.DoorOpenPassengerFront
	}
	return false
}

func (m *ClosuresState) GetOptionalDoorOpenPassengerRear() isClosuresState_OptionalDoorOpenPassengerRear {
	if m != nil {
		return m.OptionalDoorOpenPassengerRear
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenPassengerRear() bool {
	if x, ok := x.GetOptionalDoorOpenPassengerRear().(*ClosuresState_DoorOpenPassengerRear); ok {
		return x.DoorOpenPassengerRear
	}
	return false
}

func (m *ClosuresState) GetOptionalDoorOpenTrunkFront() isClosuresState_OptionalDoorOpenTrunkFront {
	if m != nil {
		return m.OptionalDoorOpenTrunkFront
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenTrunkFront() bool {
	if x, ok := x.GetOptionalDoorOpenTrunkFront().(*ClosuresState_DoorOpenTrunkFront); ok {
		return x.DoorOpenTrunkFront
	}
	return false
}

func (m *ClosuresState) GetOptionalDoorOpenTrunkRear() isClosuresState_OptionalDoorOpenTrunkRear {
	if m != nil {
		return m.OptionalDoorOpenTrunkRear
	}
	return nil
}

func (x *ClosuresState) GetDoorOpenTrunkRear() bool {
	if x, ok := x.GetOptionalDoorOpenTrunkRear().(*ClosuresState_DoorOpenTrunkRear); ok {
		return x.DoorOpenTrunkRear
	}
	return false
}

func (m *ClosuresState) GetOptionalWindowOpenDriverFront() isClosuresState_OptionalWindowOpenDriverFront {
	if m != nil {
		return m.OptionalWindowOpenDriverFront
	}
	return nil
}

func (x *ClosuresState) GetWindowOpenDriverFront() bool {
	if x, ok := x.GetOptionalWindowOpenDriverFront().(*ClosuresState_WindowOpenDriverFront); ok {
		return x.WindowOpenDriverFront
	}
	return false
}

func (m *ClosuresState) GetOptionalWindowOpenPassengerFront() isClosuresState_OptionalWindowOpenPassengerFront {
	if m != nil {
		return m.OptionalWindowOpenPassengerFront
	}
	return nil
}

func (x *ClosuresState) GetWindowOpenPassengerFront() bool {
	if x, ok := x.GetOptionalWindowOpenPassengerFront().(*ClosuresState_WindowOpenPassengerFront); ok {
		return x.WindowOpenPassengerFront
	}
	return false
}

func (m *ClosuresState) GetOptionalWindowOpenDriverRear() isClosuresState_OptionalWindowOpenDriverRear {
	if m != nil {
		return m.OptionalWindowOpenDriverRear
	}
	return nil
}

func (x *ClosuresState) GetWindowOpenDriverRear() bool {
	if x, ok := x.GetOptionalWindowOpenDriverRear().(*ClosuresState_WindowOpenDriverRear); ok {
		return x.WindowOpenDriverRear
	}
	return false
}

func (m *ClosuresState) GetOptionalWindowOpenPassengerRear() isClosuresState_OptionalWindowOpenPassengerRear {
	if m != nil {
		return m.OptionalWindowOpenPassengerRear
	}
	return nil
}

func (x *ClosuresState) GetWindowOpenPassengerRear() bool {
	if x, ok := x.GetOptionalWindowOpenPassengerRear().(*ClosuresState_WindowOpenPassengerRear); ok {
		return x.WindowOpenPassengerRear
	}
	return false
}

func (x *ClosuresState) GetSunRoofState() *ClosuresState_SunRoofState {
	if x != nil {
		return x.SunRoofState
	}
	return nil
}

func (m *ClosuresState) GetOptionalSunRoofPercentOpen() isClosuresState_OptionalSunRoofPercentOpen {
	if m != nil {
		return m.OptionalSunRoofPercentOpen
	}
	return nil
}

func (x *ClosuresState) GetSunRoofPercentOpen() int32 {
	if x, ok := x.GetOptionalSunRoofPercentOpen().(*ClosuresState_SunRoofPercentOpen); ok {
		return x.SunRoofPercentOpen
	}
	return 0
}

func (m *ClosuresState) GetOptionalLocked() isClosuresState_OptionalLocked {
	if m != nil {
		return m.OptionalLocked
	}
	return nil
}

func (x *ClosuresState) GetLocked() bool {
	if x, ok := x.GetOptionalLocked().(*ClosuresState_Locked); ok {
		return x.Locked
	}
	return false
}

func (m *ClosuresState) GetOptionalIsUserPresent() isClosuresState_OptionalIsUserPresent {
	if m != nil {
		return m.OptionalIsUserPresent
	}
	return nil
}

func (x *ClosuresState) GetIsUserPresent() bool {
	if x, ok := x.GetOptionalIsUserPresent().(*ClosuresState_IsUserPresent); ok {
		return x.IsUserPresent
	}
	return false
}

func (x *ClosuresState) GetCenterDisplayState() *ClosuresState_DisplayState {
	if x != nil {
		return x.CenterDisplayState
	}
	return nil
}

func (m *ClosuresState) GetOptionalRemoteStart() isClosuresState_OptionalRemoteStart {
	if m != nil {
		return m.OptionalRemoteStart
	}
	return nil
}

func (x *ClosuresState) GetRemoteStart() bool {
	if x, ok := x.GetOptionalRemoteStart().(*ClosuresState_RemoteStart); ok {
		return x.RemoteStart
	}
	return false
}

func (m *ClosuresState) GetOptionalValetMode() isClosuresState_OptionalValetMode {
	if m != nil {
		return m.OptionalValetMode
	}
	return nil
}

func (x *ClosuresState) GetValetMode() bool {
	if x, ok := x.GetOptionalValetMode().(*ClosuresState_ValetMode); ok {
		return x.ValetMode
	}
	return false
}

func (m *ClosuresState) GetOptionalValetPinNeeded() isClosuresState_OptionalValetPinNeeded {
	if m != nil {
		return m.OptionalValetPinNeeded
	}
	return nil
}

func (x *ClosuresState) GetValetPinNeeded() bool {
	if x, ok := x.GetOptionalValetPinNeeded().(*ClosuresState_ValetPinNeeded); ok {
		return x.ValetPinNeeded
	}
	return false
}

func (x *ClosuresState) GetSentryModeState() *ClosuresState_SentryModeState {
	if x != nil {
		return x.SentryModeState
	}
	return nil
}

func (m *ClosuresState) GetOptionalSentryModeAvailable() isClosuresState_OptionalSentryModeAvailable {
	if m != nil {
		return m.OptionalSentryModeAvailable
	}
	return nil
}

func (x *ClosuresState) GetSentryModeAvailable() bool {
	if x, ok := x.GetOptionalSentryModeAvailable().(*ClosuresState_SentryModeAvailable); ok {
		return x.SentryModeAvailable
	}
	return false
}

func (x *ClosuresState) GetSpeedLimitMode() *SpeedLimitMode {
	if x != nil {
		return x.SpeedLimitMode
	}
	return nil
}

func (m *ClosuresState) GetOptionalTonneauState() isClosuresState_OptionalTonneauState {
	if m != nil {
		return m.OptionalTonneauState
	}
	return nil
}

func (x *ClosuresState) GetTonneauState() vcsec.ClosureState_E {
	if x, ok := x.GetOptionalTonneauState().(*ClosuresState_TonneauState); ok {
		return x.TonneauState
	}
	return vcsec.ClosureState_E(0)
}

func (m *ClosuresState) GetOptionalTonneauPercentOpen() isClosuresState_OptionalTonneauPercentOpen {
	if m != nil {
		return m.OptionalTonneauPercentOpen
	}
	return nil
}

func (x *ClosuresState) GetTonneauPercentOpen() uint32 {
	if x, ok := x.GetOptionalTonneauPercentOpen().(*ClosuresState_TonneauPercentOpen); ok {
		return x.TonneauPercentOpen
	}
	return 0
}

func (m *ClosuresState) GetOptionalTonneauInMotion() isClosuresState_OptionalTonneauInMotion {
	if m != nil {
		return m.OptionalTonneauInMotion
	}
	return nil
}

func (x *ClosuresState) GetTonneauInMotion() bool {
	if x, ok := x.GetOptionalTonneauInMotion().(*ClosuresState_TonneauInMotion); ok {
		return x.TonneauInMotion
	}
	return false
}

func (x *ClosuresState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

type isClosuresState_OptionalDoorOpenDriverFront interface {
	isClosuresState_OptionalDoorOpenDriverFront()
}

type ClosuresState_DoorOpenDriverFront struct {
	DoorOpenDriverFront bool `protobuf:"varint,101,opt,name=door_open_driver_front,json=doorOpenDriverFront,proto3,oneof"`
}

func (*ClosuresState_DoorOpenDriverFront) isClosuresState_OptionalDoorOpenDriverFront() {}

type isClosuresState_OptionalDoorOpenDriverRear interface {
	isClosuresState_OptionalDoorOpenDriverRear()
}

type ClosuresState_DoorOpenDriverRear struct {
	DoorOpenDriverRear bool `protobuf:"varint,102,opt,name=door_open_driver_rear,json=doorOpenDriverRear,proto3,oneof"`
}

func (*ClosuresState_DoorOpenDriverRear) isClosuresState_OptionalDoorOpenDriverRear() {}

type isClosuresState_OptionalDoorOpenPassengerFront interface {
	isClosuresState_OptionalDoorOpenPassengerFront()
}

type ClosuresState_DoorOpenPassengerFront struct {
	DoorOpenPassengerFront bool `protobuf:"varint,103,opt,name=door_open_passenger_front,json=doorOpenPassengerFront,proto3,oneof"`
}

func (*ClosuresState_DoorOpenPassengerFront) isClosuresState_OptionalDoorOpenPassengerFront() {}

type isClosuresState_OptionalDoorOpenPassengerRear interface {
	isClosuresState_OptionalDoorOpenPassengerRear()
}

type ClosuresState_DoorOpenPassengerRear struct {
	DoorOpenPassengerRear bool `protobuf:"varint,104,opt,name=door_open_passenger_rear,json=doorOpenPassengerRear,proto3,oneof"`
}

func (*ClosuresState_DoorOpenPassengerRear) isClosuresState_OptionalDoorOpenPassengerRear() {}

type isClosuresState_OptionalDoorOpenTrunkFront interface {
	isClosuresState_OptionalDoorOpenTrunkFront()
}

type ClosuresState_DoorOpenTrunkFront struct {
	DoorOpenTrunkFront bool `protobuf:"varint,105,opt,name=door_open_trunk_front,json=doorOpenTrunkFront,proto3,oneof"`
}

func (*ClosuresState_DoorOpenTrunkFront) isClosuresState_OptionalDoorOpenTrunkFront() {}

type isClosuresState_OptionalDoorOpenTrunkRear interface {
	isClosuresState_OptionalDoorOpenTrunkRear()
}

type ClosuresState_DoorOpenTrunkRear struct {
	DoorOpenTrunkRear bool `protobuf:"varint,106,opt,name=door_open_trunk_rear,json=doorOpenTrunkRear,proto3,oneof"`
}

func (*ClosuresState_DoorOpenTrunkRear) isClosuresState_OptionalDoorOpenTrunkRear() {}

type isClosuresState_OptionalWindowOpenDriverFront interface {
	isClosuresState_OptionalWindowOpenDriverFront()
}

type ClosuresState_WindowOpenDriverFront struct {
	WindowOpenDriverFront bool `protobuf:"varint,107,opt,name=window_open_driver_front,json=windowOpenDriverFront,proto3,oneof"`
}

func (*ClosuresState_WindowOpenDriverFront) isClosuresState_OptionalWindowOpenDriverFront() {}

type isClosuresState_OptionalWindowOpenPassengerFront interface {
	isClosuresState_OptionalWindowOpenPassengerFront()
}

type ClosuresState_WindowOpenPassengerFront struct {
	WindowOpenPassengerFront bool `protobuf:"varint,108,opt,name=window_open_passenger_front,json=windowOpenPassengerFront,proto3,oneof"`
}

func (*ClosuresState_WindowOpenPassengerFront) isClosuresState_OptionalWindowOpenPassengerFront() {}

type isClosuresState_OptionalWindowOpenDriverRear interface {
	isClosuresState_OptionalWindowOpenDriverRear()
}

type ClosuresState_WindowOpenDriverRear struct {
	WindowOpenDriverRear bool `protobuf:"varint,109,opt,name=window_open_driver_rear,json=windowOpenDriverRear,proto3,oneof"`
}

func (*ClosuresState_WindowOpenDriverRear) isClosuresState_OptionalWindowOpenDriverRear() {}

type isClosuresState_OptionalWindowOpenPassengerRear interface {
	isClosuresState_OptionalWindowOpenPassengerRear()
}

type ClosuresState_WindowOpenPassengerRear struct {
	WindowOpenPassengerRear bool `protobuf:"varint,110,opt,name=window_open_passenger_rear,json=windowOpenPassengerRear,proto3,oneof"`
}

func (*ClosuresState_WindowOpenPassengerRear) isClosuresState_OptionalWindowOpenPassengerRear() {}

type isClosuresState_OptionalSunRoofPercentOpen interface {
	isClosuresState_OptionalSunRoofPercentOpen()
}

type ClosuresState_SunRoofPercentOpen struct {
	SunRoofPercentOpen int32 `protobuf:"varint,112,opt,name=sun_roof_percent_open,json=sunRoofPercentOpen,proto3,oneof"`
}

func (*ClosuresState_SunRoofPercentOpen) isClosuresState_OptionalSunRoofPercentOpen() {}

type isClosuresState_OptionalLocked interface {
	isClosuresState_OptionalLocked()
}

type ClosuresState_Locked struct {
	Locked bool `protobuf:"varint,113,opt,name=locked,proto3,oneof"`
}

func (*ClosuresState_Locked) isClosuresState_OptionalLocked() {}

type isClosuresState_OptionalIsUserPresent interface {
	isClosuresState_OptionalIsUserPresent()
}

type ClosuresState_IsUserPresent struct {
	IsUserPresent bool `protobuf:"varint,114,opt,name=is_user_present,json=isUserPresent,proto3,oneof"`
}

func (*ClosuresState_IsUserPresent) isClosuresState_OptionalIsUserPresent() {}

type isClosuresState_OptionalRemoteStart interface {
	isClosuresState_OptionalRemoteStart()
}

type ClosuresState_RemoteStart struct {
	RemoteStart bool `protobuf:"varint,116,opt,name=remote_start,json=remoteStart,proto3,oneof"`
}

func (*ClosuresState_RemoteStart) isClosuresState_OptionalRemoteStart() {}

type isClosuresState_OptionalValetMode interface {
	isClosuresState_OptionalValetMode()
}

type ClosuresState_ValetMode struct {
	ValetMode bool `protobuf:"varint,117,opt,name=valet_mode,json=valetMode,proto3,oneof"`
}

func (*ClosuresState_ValetMode) isClosuresState_OptionalValetMode() {}

type isClosuresState_OptionalValetPinNeeded interface {
	isClosuresState_OptionalValetPinNeeded()
}

type ClosuresState_ValetPinNeeded struct {
	ValetPinNeeded bool `protobuf:"varint,118,opt,name=valet_pin_needed,json=valetPinNeeded,proto3,oneof"`
}

func (*ClosuresState_ValetPinNeeded) isClosuresState_OptionalValetPinNeeded() {}

type isClosuresState_OptionalSentryModeAvailable interface {
	isClosuresState_OptionalSentryModeAvailable()
}

type ClosuresState_SentryModeAvailable struct {
	SentryModeAvailable bool `protobuf:"varint,120,opt,name=sentry_mode_available,json=sentryModeAvailable,proto3,oneof"`
}

func (*ClosuresState_SentryModeAvailable) isClosuresState_OptionalSentryModeAvailable() {}

type isClosuresState_OptionalTonneauState interface {
	isClosuresState_OptionalTonneauState()
}

type ClosuresState_TonneauState struct {
	TonneauState vcsec.ClosureState_E `protobuf:"varint,23,opt,name=tonneau_state,json=tonneauState,proto3,enum=VCSEC.ClosureState_E,oneof"`
}

func (*ClosuresState_TonneauState) isClosuresState_OptionalTonneauState() {}

type isClosuresState_OptionalTonneauPercentOpen interface {
	isClosuresState_OptionalTonneauPercentOpen()
}

type ClosuresState_TonneauPercentOpen struct {
	TonneauPercentOpen uint32 `protobuf:"varint,24,opt,name=tonneau_percent_open,json=tonneauPercentOpen,proto3,oneof"`
}

func (*ClosuresState_TonneauPercentOpen) isClosuresState_OptionalTonneauPercentOpen() {}

type isClosuresState_OptionalTonneauInMotion interface {
	isClosuresState_OptionalTonneauInMotion()
}

type ClosuresState_TonneauInMotion struct {
	TonneauInMotion bool `protobuf:"varint,25,opt,name=tonneau_in_motion,json=tonneauInMotion,proto3,oneof"`
}

func (*ClosuresState_TonneauInMotion) isClosuresState_OptionalTonneauInMotion() {}

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

	ChargeSchedules []*ChargeSchedule `protobuf:"bytes,1,rep,name=charge_schedules,json=chargeSchedules,proto3" json:"charge_schedules,omitempty"`
	// Types that are assignable to OptionalChargeScheduleWindow:
	//	*ChargeScheduleState_ChargeScheduleWindow
	OptionalChargeScheduleWindow isChargeScheduleState_OptionalChargeScheduleWindow `protobuf_oneof:"optional_charge_schedule_window"`
	// Types that are assignable to OptionalChargeBuffer:
	//	*ChargeScheduleState_ChargeBuffer
	OptionalChargeBuffer isChargeScheduleState_OptionalChargeBuffer `protobuf_oneof:"optional_charge_buffer"`
	// Types that are assignable to OptionalMaxNumChargeSchedules:
	//	*ChargeScheduleState_MaxNumChargeSchedules
	OptionalMaxNumChargeSchedules isChargeScheduleState_OptionalMaxNumChargeSchedules `protobuf_oneof:"optional_max_num_charge_schedules"`
	// Types that are assignable to OptionalNextSchedule:
	//	*ChargeScheduleState_NextSchedule
	OptionalNextSchedule isChargeScheduleState_OptionalNextSchedule `protobuf_oneof:"optional_next_schedule"`
	// Types that are assignable to OptionalShowScheduleCompleteState:
	//	*ChargeScheduleState_ShowScheduleCompleteState
	OptionalShowScheduleCompleteState isChargeScheduleState_OptionalShowScheduleCompleteState `protobuf_oneof:"optional_show_schedule_complete_state"`
	Timestamp                         *timestamppb.Timestamp                                  `protobuf:"bytes,2000,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*ChargeScheduleState) ProtoMessage() {}

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

func (x *ChargeScheduleState) GetChargeSchedules() []*ChargeSchedule {
	if x != nil {
		return x.ChargeSchedules
	}
	return nil
}

func (m *ChargeScheduleState) GetOptionalChargeScheduleWindow() isChargeScheduleState_OptionalChargeScheduleWindow {
	if m != nil {
		return m.OptionalChargeScheduleWindow
	}
	return nil
}

func (x *ChargeScheduleState) GetChargeScheduleWindow() *ChargeSchedule {
	if x, ok := x.GetOptionalChargeScheduleWindow().(*ChargeScheduleState_ChargeScheduleWindow); ok {
		return x.ChargeScheduleWindow
	}
	return nil
}

func (m *ChargeScheduleState) GetOptionalChargeBuffer() isChargeScheduleState_OptionalChargeBuffer {
	if m != nil {
		return m.OptionalChargeBuffer
	}
	return nil
}

func (x *ChargeScheduleState) GetChargeBuffer() int32 {
	if x, ok := x.GetOptionalChargeBuffer().(*ChargeScheduleState_ChargeBuffer); ok {
		return x.ChargeBuffer
	}
	return 0
}

func (m *ChargeScheduleState) GetOptionalMaxNumChargeSchedules() isChargeScheduleState_OptionalMaxNumChargeSchedules {
	if m != nil {
		return m.OptionalMaxNumChargeSchedules
	}
	return nil
}

func (x *ChargeScheduleState) GetMaxNumChargeSchedules() uint32 {
	if x, ok := x.GetOptionalMaxNumChargeSchedules().(*ChargeScheduleState_MaxNumChargeSchedules); ok {
		return x.MaxNumChargeSchedules
	}
	return 0
}

func (m *ChargeScheduleState) GetOptionalNextSchedule() isChargeScheduleState_OptionalNextSchedule {
	if m != nil {
		return m.OptionalNextSchedule
	}
	return nil
}

func (x *ChargeScheduleState) GetNextSchedule() bool {
	if x, ok := x.GetOptionalNextSchedule().(*ChargeScheduleState_NextSchedule); ok {
		return x.NextSchedule
	}
	return false
}

func (m *ChargeScheduleState) GetOptionalShowScheduleCompleteState() isChargeScheduleState_OptionalShowScheduleCompleteState {
	if m != nil {
		return m.OptionalShowScheduleCompleteState
	}
	return nil
}

func (x *ChargeScheduleState) GetShowScheduleCompleteState() bool {
	if x, ok := x.GetOptionalShowScheduleCompleteState().(*ChargeScheduleState_ShowScheduleCompleteState); ok {
		return x.ShowScheduleCompleteState
	}
	return false
}

func (x *ChargeScheduleState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

type isChargeScheduleState_OptionalChargeScheduleWindow interface {
	isChargeScheduleState_OptionalChargeScheduleWindow()
}

type ChargeScheduleState_ChargeScheduleWindow struct {
	ChargeScheduleWindow *ChargeSchedule `protobuf:"bytes,2,opt,name=charge_schedule_window,json=chargeScheduleWindow,proto3,oneof"`
}

func (*ChargeScheduleState_ChargeScheduleWindow) isChargeScheduleState_OptionalChargeScheduleWindow() {
}

type isChargeScheduleState_OptionalChargeBuffer interface {
	isChargeScheduleState_OptionalChargeBuffer()
}

type ChargeScheduleState_ChargeBuffer struct {
	ChargeBuffer int32 `protobuf:"varint,3,opt,name=charge_buffer,json=chargeBuffer,proto3,oneof"`
}

func (*ChargeScheduleState_ChargeBuffer) isChargeScheduleState_OptionalChargeBuffer() {}

type isChargeScheduleState_OptionalMaxNumChargeSchedules interface {
	isChargeScheduleState_OptionalMaxNumChargeSchedules()
}

type ChargeScheduleState_MaxNumChargeSchedules struct {
	MaxNumChargeSchedules uint32 `protobuf:"varint,4,opt,name=max_num_charge_schedules,json=maxNumChargeSchedules,proto3,oneof"`
}

func (*ChargeScheduleState_MaxNumChargeSchedules) isChargeScheduleState_OptionalMaxNumChargeSchedules() {
}

type isChargeScheduleState_OptionalNextSchedule interface {
	isChargeScheduleState_OptionalNextSchedule()
}

type ChargeScheduleState_NextSchedule struct {
	NextSchedule bool `protobuf:"varint,5,opt,name=next_schedule,json=nextSchedule,proto3,oneof"`
}

func (*ChargeScheduleState_NextSchedule) isChargeScheduleState_OptionalNextSchedule() {}

type isChargeScheduleState_OptionalShowScheduleCompleteState interface {
	isChargeScheduleState_OptionalShowScheduleCompleteState()
}

type ChargeScheduleState_ShowScheduleCompleteState struct {
	ShowScheduleCompleteState bool `protobuf:"varint,6,opt,name=show_schedule_complete_state,json=showScheduleCompleteState,proto3,oneof"`
}

func (*ChargeScheduleState_ShowScheduleCompleteState) isChargeScheduleState_OptionalShowScheduleCompleteState() {
}

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

	PreconditionSchedules []*PreconditionSchedule `protobuf:"bytes,1,rep,name=precondition_schedules,json=preconditionSchedules,proto3" json:"precondition_schedules,omitempty"`
	// Types that are assignable to OptionalPreconditioningScheduleWindow:
	//	*PreconditioningScheduleState_PreconditioningScheduleWindow
	OptionalPreconditioningScheduleWindow isPreconditioningScheduleState_OptionalPreconditioningScheduleWindow `protobuf_oneof:"optional_preconditioning_schedule_window"`
	// Types that are assignable to OptionalMaxNumPreconditionSchedules:
	//	*PreconditioningScheduleState_MaxNumPreconditionSchedules
	OptionalMaxNumPreconditionSchedules isPreconditioningScheduleState_OptionalMaxNumPreconditionSchedules `protobuf_oneof:"optional_max_num_precondition_schedules"`
	// Types that are assignable to OptionalNextSchedule:
	//	*PreconditioningScheduleState_NextSchedule
	OptionalNextSchedule isPreconditioningScheduleState_OptionalNextSchedule `protobuf_oneof:"optional_next_schedule"`
	Timestamp            *timestamppb.Timestamp                              `protobuf:"bytes,2000,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*PreconditioningScheduleState) ProtoMessage() {}

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

func (x *PreconditioningScheduleState) GetPreconditionSchedules() []*PreconditionSchedule {
	if x != nil {
		return x.PreconditionSchedules
	}
	return nil
}

func (m *PreconditioningScheduleState) GetOptionalPreconditioningScheduleWindow() isPreconditioningScheduleState_OptionalPreconditioningScheduleWindow {
	if m != nil {
		return m.OptionalPreconditioningScheduleWindow
	}
	return nil
}

func (x *PreconditioningScheduleState) GetPreconditioningScheduleWindow() *PreconditionSchedule {
	if x, ok := x.GetOptionalPreconditioningScheduleWindow().(*PreconditioningScheduleState_PreconditioningScheduleWindow); ok {
		return x.PreconditioningScheduleWindow
	}
	return nil
}

func (m *PreconditioningScheduleState) GetOptionalMaxNumPreconditionSchedules() isPreconditioningScheduleState_OptionalMaxNumPreconditionSchedules {
	if m != nil {
		return m.OptionalMaxNumPreconditionSchedules
	}
	return nil
}

func (x *PreconditioningScheduleState) GetMaxNumPreconditionSchedules() uint32 {
	if x, ok := x.GetOptionalMaxNumPreconditionSchedules().(*PreconditioningScheduleState_MaxNumPreconditionSchedules); ok {
		return x.MaxNumPreconditionSchedules
	}
	return 0
}

func (m *PreconditioningScheduleState) GetOptionalNextSchedule() isPreconditioningScheduleState_OptionalNextSchedule {
	if m != nil {
		return m.OptionalNextSchedule
	}
	return nil
}

func (x *PreconditioningScheduleState) GetNextSchedule() bool {
	if x, ok := x.GetOptionalNextSchedule().(*PreconditioningScheduleState_NextSchedule); ok {
		return x.NextSchedule
	}
	return false
}

func (x *PreconditioningScheduleState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

type isPreconditioningScheduleState_OptionalPreconditioningScheduleWindow interface {
	isPreconditioningScheduleState_OptionalPreconditioningScheduleWindow()
}

type PreconditioningScheduleState_PreconditioningScheduleWindow struct {
	PreconditioningScheduleWindow *PreconditionSchedule `protobuf:"bytes,2,opt,name=preconditioning_schedule_window,json=preconditioningScheduleWindow,proto3,oneof"`
}

func (*PreconditioningScheduleState_PreconditioningScheduleWindow) isPreconditioningScheduleState_OptionalPreconditioningScheduleWindow() {
}

type isPreconditioningScheduleState_OptionalMaxNumPreconditionSchedules interface {
	isPreconditioningScheduleState_OptionalMaxNumPreconditionSchedules()
}

type PreconditioningScheduleState_MaxNumPreconditionSchedules struct {
	MaxNumPreconditionSchedules uint32 `protobuf:"varint,3,opt,name=max_num_precondition_schedules,json=maxNumPreconditionSchedules,proto3,oneof"`
}

func (*PreconditioningScheduleState_MaxNumPreconditionSchedules) isPreconditioningScheduleState_OptionalMaxNumPreconditionSchedules() {
}

type isPreconditioningScheduleState_OptionalNextSchedule interface {
	isPreconditioningScheduleState_OptionalNextSchedule()
}

type PreconditioningScheduleState_NextSchedule struct {
	NextSchedule bool `protobuf:"varint,4,opt,name=next_schedule,json=nextSchedule,proto3,oneof"`
}

func (*PreconditioningScheduleState_NextSchedule) isPreconditioningScheduleState_OptionalNextSchedule() {
}

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

	// Types that are assignable to OptionalActive:
	//	*SpeedLimitMode_Active
	OptionalActive isSpeedLimitMode_OptionalActive `protobuf_oneof:"optional_active"`
	// Types that are assignable to OptionalPinCodeSet:
	//	*SpeedLimitMode_PinCodeSet
	OptionalPinCodeSet isSpeedLimitMode_OptionalPinCodeSet `protobuf_oneof:"optional_pin_code_set"`
	// Types that are assignable to OptionalMaxLimitMph:
	//	*SpeedLimitMode_MaxLimitMph
	OptionalMaxLimitMph isSpeedLimitMode_OptionalMaxLimitMph `protobuf_oneof:"optional_max_limit_mph"`
	// Types that are assignable to OptionalMinLimitMph:
	//	*SpeedLimitMode_MinLimitMph
	OptionalMinLimitMph isSpeedLimitMode_OptionalMinLimitMph `protobuf_oneof:"optional_min_limit_mph"`
	// Types that are assignable to OptionalCurrentLimitMph:
	//	*SpeedLimitMode_CurrentLimitMph
	OptionalCurrentLimitMph isSpeedLimitMode_OptionalCurrentLimitMph `protobuf_oneof:"optional_current_limit_mph"`
}

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

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

func (*SpeedLimitMode) ProtoMessage() {}

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

func (m *SpeedLimitMode) GetOptionalActive() isSpeedLimitMode_OptionalActive {
	if m != nil {
		return m.OptionalActive
	}
	return nil
}

func (x *SpeedLimitMode) GetActive() bool {
	if x, ok := x.GetOptionalActive().(*SpeedLimitMode_Active); ok {
		return x.Active
	}
	return false
}

func (m *SpeedLimitMode) GetOptionalPinCodeSet() isSpeedLimitMode_OptionalPinCodeSet {
	if m != nil {
		return m.OptionalPinCodeSet
	}
	return nil
}

func (x *SpeedLimitMode) GetPinCodeSet() bool {
	if x, ok := x.GetOptionalPinCodeSet().(*SpeedLimitMode_PinCodeSet); ok {
		return x.PinCodeSet
	}
	return false
}

func (m *SpeedLimitMode) GetOptionalMaxLimitMph() isSpeedLimitMode_OptionalMaxLimitMph {
	if m != nil {
		return m.OptionalMaxLimitMph
	}
	return nil
}

func (x *SpeedLimitMode) GetMaxLimitMph() float32 {
	if x, ok := x.GetOptionalMaxLimitMph().(*SpeedLimitMode_MaxLimitMph); ok {
		return x.MaxLimitMph
	}
	return 0
}

func (m *SpeedLimitMode) GetOptionalMinLimitMph() isSpeedLimitMode_OptionalMinLimitMph {
	if m != nil {
		return m.OptionalMinLimitMph
	}
	return nil
}

func (x *SpeedLimitMode) GetMinLimitMph() float32 {
	if x, ok := x.GetOptionalMinLimitMph().(*SpeedLimitMode_MinLimitMph); ok {
		return x.MinLimitMph
	}
	return 0
}

func (m *SpeedLimitMode) GetOptionalCurrentLimitMph() isSpeedLimitMode_OptionalCurrentLimitMph {
	if m != nil {
		return m.OptionalCurrentLimitMph
	}
	return nil
}

func (x *SpeedLimitMode) GetCurrentLimitMph() float32 {
	if x, ok := x.GetOptionalCurrentLimitMph().(*SpeedLimitMode_CurrentLimitMph); ok {
		return x.CurrentLimitMph
	}
	return 0
}

type isSpeedLimitMode_OptionalActive interface {
	isSpeedLimitMode_OptionalActive()
}

type SpeedLimitMode_Active struct {
	Active bool `protobuf:"varint,103,opt,name=active,proto3,oneof"`
}

func (*SpeedLimitMode_Active) isSpeedLimitMode_OptionalActive() {}

type isSpeedLimitMode_OptionalPinCodeSet interface {
	isSpeedLimitMode_OptionalPinCodeSet()
}

type SpeedLimitMode_PinCodeSet struct {
	PinCodeSet bool `protobuf:"varint,104,opt,name=pin_code_set,json=pinCodeSet,proto3,oneof"`
}

func (*SpeedLimitMode_PinCodeSet) isSpeedLimitMode_OptionalPinCodeSet() {}

type isSpeedLimitMode_OptionalMaxLimitMph interface {
	isSpeedLimitMode_OptionalMaxLimitMph()
}

type SpeedLimitMode_MaxLimitMph struct {
	MaxLimitMph float32 `protobuf:"fixed32,106,opt,name=max_limit_mph,json=maxLimitMph,proto3,oneof"`
}

func (*SpeedLimitMode_MaxLimitMph) isSpeedLimitMode_OptionalMaxLimitMph() {}

type isSpeedLimitMode_OptionalMinLimitMph interface {
	isSpeedLimitMode_OptionalMinLimitMph()
}

type SpeedLimitMode_MinLimitMph struct {
	MinLimitMph float32 `protobuf:"fixed32,107,opt,name=min_limit_mph,json=minLimitMph,proto3,oneof"`
}

func (*SpeedLimitMode_MinLimitMph) isSpeedLimitMode_OptionalMinLimitMph() {}

type isSpeedLimitMode_OptionalCurrentLimitMph interface {
	isSpeedLimitMode_OptionalCurrentLimitMph()
}

type SpeedLimitMode_CurrentLimitMph struct {
	CurrentLimitMph float32 `protobuf:"fixed32,108,opt,name=current_limit_mph,json=currentLimitMph,proto3,oneof"`
}

func (*SpeedLimitMode_CurrentLimitMph) isSpeedLimitMode_OptionalCurrentLimitMph() {}

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

	// Types that are assignable to OptionalSpeedLimitEnabled:
	//	*ParentalControlsSettings_SpeedLimitEnabled
	OptionalSpeedLimitEnabled isParentalControlsSettings_OptionalSpeedLimitEnabled `protobuf_oneof:"optional_speed_limit_enabled"`
	// Types that are assignable to OptionalMaxLimitMph:
	//	*ParentalControlsSettings_MaxLimitMph
	OptionalMaxLimitMph isParentalControlsSettings_OptionalMaxLimitMph `protobuf_oneof:"optional_max_limit_mph"`
	// Types that are assignable to OptionalMinLimitMph:
	//	*ParentalControlsSettings_MinLimitMph
	OptionalMinLimitMph isParentalControlsSettings_OptionalMinLimitMph `protobuf_oneof:"optional_min_limit_mph"`
	// Types that are assignable to OptionalCurrentLimitMph:
	//	*ParentalControlsSettings_CurrentLimitMph
	OptionalCurrentLimitMph isParentalControlsSettings_OptionalCurrentLimitMph `protobuf_oneof:"optional_current_limit_mph"`
	// Types that are assignable to OptionalChillAccelerationEnabled:
	//	*ParentalControlsSettings_ChillAccelerationEnabled
	OptionalChillAccelerationEnabled isParentalControlsSettings_OptionalChillAccelerationEnabled `protobuf_oneof:"optional_chill_acceleration_enabled"`
	// Types that are assignable to OptionalRequireSafetySettingsEnabled:
	//	*ParentalControlsSettings_RequireSafetySettingsEnabled
	OptionalRequireSafetySettingsEnabled isParentalControlsSettings_OptionalRequireSafetySettingsEnabled `protobuf_oneof:"optional_require_safety_settings_enabled"`
	// Types that are assignable to OptionalCurfewEnabled:
	//	*ParentalControlsSettings_CurfewEnabled
	OptionalCurfewEnabled isParentalControlsSettings_OptionalCurfewEnabled `protobuf_oneof:"optional_curfew_enabled"`
	// Types that are assignable to OptionalCurfewStartTime:
	//	*ParentalControlsSettings_CurfewStartTime
	OptionalCurfewStartTime isParentalControlsSettings_OptionalCurfewStartTime `protobuf_oneof:"optional_curfew_start_time"`
	// Types that are assignable to OptionalCurfewEndTime:
	//	*ParentalControlsSettings_CurfewEndTime
	OptionalCurfewEndTime isParentalControlsSettings_OptionalCurfewEndTime `protobuf_oneof:"optional_curfew_end_time"`
}

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

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

func (*ParentalControlsSettings) ProtoMessage() {}

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

func (m *ParentalControlsSettings) GetOptionalSpeedLimitEnabled() isParentalControlsSettings_OptionalSpeedLimitEnabled {
	if m != nil {
		return m.OptionalSpeedLimitEnabled
	}
	return nil
}

func (x *ParentalControlsSettings) GetSpeedLimitEnabled() bool {
	if x, ok := x.GetOptionalSpeedLimitEnabled().(*ParentalControlsSettings_SpeedLimitEnabled); ok {
		return x.SpeedLimitEnabled
	}
	return false
}

func (m *ParentalControlsSettings) GetOptionalMaxLimitMph() isParentalControlsSettings_OptionalMaxLimitMph {
	if m != nil {
		return m.OptionalMaxLimitMph
	}
	return nil
}

func (x *ParentalControlsSettings) GetMaxLimitMph() float32 {
	if x, ok := x.GetOptionalMaxLimitMph().(*ParentalControlsSettings_MaxLimitMph); ok {
		return x.MaxLimitMph
	}
	return 0
}

func (m *ParentalControlsSettings) GetOptionalMinLimitMph() isParentalControlsSettings_OptionalMinLimitMph {
	if m != nil {
		return m.OptionalMinLimitMph
	}
	return nil
}

func (x *ParentalControlsSettings) GetMinLimitMph() float32 {
	if x, ok := x.GetOptionalMinLimitMph().(*ParentalControlsSettings_MinLimitMph); ok {
		return x.MinLimitMph
	}
	return 0
}

func (m *ParentalControlsSettings) GetOptionalCurrentLimitMph() isParentalControlsSettings_OptionalCurrentLimitMph {
	if m != nil {
		return m.OptionalCurrentLimitMph
	}
	return nil
}

func (x *ParentalControlsSettings) GetCurrentLimitMph() float32 {
	if x, ok := x.GetOptionalCurrentLimitMph().(*ParentalControlsSettings_CurrentLimitMph); ok {
		return x.CurrentLimitMph
	}
	return 0
}

func (m *ParentalControlsSettings) GetOptionalChillAccelerationEnabled() isParentalControlsSettings_OptionalChillAccelerationEnabled {
	if m != nil {
		return m.OptionalChillAccelerationEnabled
	}
	return nil
}

func (x *ParentalControlsSettings) GetChillAccelerationEnabled() bool {
	if x, ok := x.GetOptionalChillAccelerationEnabled().(*ParentalControlsSettings_ChillAccelerationEnabled); ok {
		return x.ChillAccelerationEnabled
	}
	return false
}

func (m *ParentalControlsSettings) GetOptionalRequireSafetySettingsEnabled() isParentalControlsSettings_OptionalRequireSafetySettingsEnabled {
	if m != nil {
		return m.OptionalRequireSafetySettingsEnabled
	}
	return nil
}

func (x *ParentalControlsSettings) GetRequireSafetySettingsEnabled() bool {
	if x, ok := x.GetOptionalRequireSafetySettingsEnabled().(*ParentalControlsSettings_RequireSafetySettingsEnabled); ok {
		return x.RequireSafetySettingsEnabled
	}
	return false
}

func (m *ParentalControlsSettings) GetOptionalCurfewEnabled() isParentalControlsSettings_OptionalCurfewEnabled {
	if m != nil {
		return m.OptionalCurfewEnabled
	}
	return nil
}

func (x *ParentalControlsSettings) GetCurfewEnabled() bool {
	if x, ok := x.GetOptionalCurfewEnabled().(*ParentalControlsSettings_CurfewEnabled); ok {
		return x.CurfewEnabled
	}
	return false
}

func (m *ParentalControlsSettings) GetOptionalCurfewStartTime() isParentalControlsSettings_OptionalCurfewStartTime {
	if m != nil {
		return m.OptionalCurfewStartTime
	}
	return nil
}

func (x *ParentalControlsSettings) GetCurfewStartTime() int32 {
	if x, ok := x.GetOptionalCurfewStartTime().(*ParentalControlsSettings_CurfewStartTime); ok {
		return x.CurfewStartTime
	}
	return 0
}

func (m *ParentalControlsSettings) GetOptionalCurfewEndTime() isParentalControlsSettings_OptionalCurfewEndTime {
	if m != nil {
		return m.OptionalCurfewEndTime
	}
	return nil
}

func (x *ParentalControlsSettings) GetCurfewEndTime() int32 {
	if x, ok := x.GetOptionalCurfewEndTime().(*ParentalControlsSettings_CurfewEndTime); ok {
		return x.CurfewEndTime
	}
	return 0
}

type isParentalControlsSettings_OptionalSpeedLimitEnabled interface {
	isParentalControlsSettings_OptionalSpeedLimitEnabled()
}

type ParentalControlsSettings_SpeedLimitEnabled struct {
	SpeedLimitEnabled bool `protobuf:"varint,1,opt,name=speed_limit_enabled,json=speedLimitEnabled,proto3,oneof"`
}

func (*ParentalControlsSettings_SpeedLimitEnabled) isParentalControlsSettings_OptionalSpeedLimitEnabled() {
}

type isParentalControlsSettings_OptionalMaxLimitMph interface {
	isParentalControlsSettings_OptionalMaxLimitMph()
}

type ParentalControlsSettings_MaxLimitMph struct {
	MaxLimitMph float32 `protobuf:"fixed32,2,opt,name=max_limit_mph,json=maxLimitMph,proto3,oneof"`
}

func (*ParentalControlsSettings_MaxLimitMph) isParentalControlsSettings_OptionalMaxLimitMph() {}

type isParentalControlsSettings_OptionalMinLimitMph interface {
	isParentalControlsSettings_OptionalMinLimitMph()
}

type ParentalControlsSettings_MinLimitMph struct {
	MinLimitMph float32 `protobuf:"fixed32,3,opt,name=min_limit_mph,json=minLimitMph,proto3,oneof"`
}

func (*ParentalControlsSettings_MinLimitMph) isParentalControlsSettings_OptionalMinLimitMph() {}

type isParentalControlsSettings_OptionalCurrentLimitMph interface {
	isParentalControlsSettings_OptionalCurrentLimitMph()
}

type ParentalControlsSettings_CurrentLimitMph struct {
	CurrentLimitMph float32 `protobuf:"fixed32,4,opt,name=current_limit_mph,json=currentLimitMph,proto3,oneof"`
}

func (*ParentalControlsSettings_CurrentLimitMph) isParentalControlsSettings_OptionalCurrentLimitMph() {
}

type isParentalControlsSettings_OptionalChillAccelerationEnabled interface {
	isParentalControlsSettings_OptionalChillAccelerationEnabled()
}

type ParentalControlsSettings_ChillAccelerationEnabled struct {
	ChillAccelerationEnabled bool `protobuf:"varint,5,opt,name=chill_acceleration_enabled,json=chillAccelerationEnabled,proto3,oneof"`
}

func (*ParentalControlsSettings_ChillAccelerationEnabled) isParentalControlsSettings_OptionalChillAccelerationEnabled() {
}

type isParentalControlsSettings_OptionalRequireSafetySettingsEnabled interface {
	isParentalControlsSettings_OptionalRequireSafetySettingsEnabled()
}

type ParentalControlsSettings_RequireSafetySettingsEnabled struct {
	RequireSafetySettingsEnabled bool `protobuf:"varint,6,opt,name=require_safety_settings_enabled,json=requireSafetySettingsEnabled,proto3,oneof"`
}

func (*ParentalControlsSettings_RequireSafetySettingsEnabled) isParentalControlsSettings_OptionalRequireSafetySettingsEnabled() {
}

type isParentalControlsSettings_OptionalCurfewEnabled interface {
	isParentalControlsSettings_OptionalCurfewEnabled()
}

type ParentalControlsSettings_CurfewEnabled struct {
	CurfewEnabled bool `protobuf:"varint,7,opt,name=curfew_enabled,json=curfewEnabled,proto3,oneof"`
}

func (*ParentalControlsSettings_CurfewEnabled) isParentalControlsSettings_OptionalCurfewEnabled() {}

type isParentalControlsSettings_OptionalCurfewStartTime interface {
	isParentalControlsSettings_OptionalCurfewStartTime()
}

type ParentalControlsSettings_CurfewStartTime struct {
	CurfewStartTime int32 `protobuf:"varint,8,opt,name=curfew_start_time,json=curfewStartTime,proto3,oneof"`
}

func (*ParentalControlsSettings_CurfewStartTime) isParentalControlsSettings_OptionalCurfewStartTime() {
}

type isParentalControlsSettings_OptionalCurfewEndTime interface {
	isParentalControlsSettings_OptionalCurfewEndTime()
}

type ParentalControlsSettings_CurfewEndTime struct {
	CurfewEndTime int32 `protobuf:"varint,9,opt,name=curfew_end_time,json=curfewEndTime,proto3,oneof"`
}

func (*ParentalControlsSettings_CurfewEndTime) isParentalControlsSettings_OptionalCurfewEndTime() {}

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

	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalParentalControlsActive:
	//	*ParentalControlsState_ParentalControlsActive
	OptionalParentalControlsActive isParentalControlsState_OptionalParentalControlsActive `protobuf_oneof:"optional_parental_controls_active"`
	// Types that are assignable to OptionalParentalControlsPinSet:
	//	*ParentalControlsState_ParentalControlsPinSet
	OptionalParentalControlsPinSet isParentalControlsState_OptionalParentalControlsPinSet `protobuf_oneof:"optional_parental_controls_pin_set"`
	ParentalControlsSettings       *ParentalControlsSettings                              `protobuf:"bytes,4,opt,name=parental_controls_settings,json=parentalControlsSettings,proto3" json:"parental_controls_settings,omitempty"`
}

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

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

func (*ParentalControlsState) ProtoMessage() {}

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

func (x *ParentalControlsState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *ParentalControlsState) GetOptionalParentalControlsActive() isParentalControlsState_OptionalParentalControlsActive {
	if m != nil {
		return m.OptionalParentalControlsActive
	}
	return nil
}

func (x *ParentalControlsState) GetParentalControlsActive() bool {
	if x, ok := x.GetOptionalParentalControlsActive().(*ParentalControlsState_ParentalControlsActive); ok {
		return x.ParentalControlsActive
	}
	return false
}

func (m *ParentalControlsState) GetOptionalParentalControlsPinSet() isParentalControlsState_OptionalParentalControlsPinSet {
	if m != nil {
		return m.OptionalParentalControlsPinSet
	}
	return nil
}

func (x *ParentalControlsState) GetParentalControlsPinSet() bool {
	if x, ok := x.GetOptionalParentalControlsPinSet().(*ParentalControlsState_ParentalControlsPinSet); ok {
		return x.ParentalControlsPinSet
	}
	return false
}

func (x *ParentalControlsState) GetParentalControlsSettings() *ParentalControlsSettings {
	if x != nil {
		return x.ParentalControlsSettings
	}
	return nil
}

type isParentalControlsState_OptionalParentalControlsActive interface {
	isParentalControlsState_OptionalParentalControlsActive()
}

type ParentalControlsState_ParentalControlsActive struct {
	ParentalControlsActive bool `protobuf:"varint,2,opt,name=parental_controls_active,json=parentalControlsActive,proto3,oneof"`
}

func (*ParentalControlsState_ParentalControlsActive) isParentalControlsState_OptionalParentalControlsActive() {
}

type isParentalControlsState_OptionalParentalControlsPinSet interface {
	isParentalControlsState_OptionalParentalControlsPinSet()
}

type ParentalControlsState_ParentalControlsPinSet struct {
	ParentalControlsPinSet bool `protobuf:"varint,3,opt,name=parental_controls_pin_set,json=parentalControlsPinSet,proto3,oneof"`
}

func (*ParentalControlsState_ParentalControlsPinSet) isParentalControlsState_OptionalParentalControlsPinSet() {
}

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

	Status *SoftwareUpdateState_SoftwareUpdateStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	// Types that are assignable to OptionalScheduledTimeMs:
	//	*SoftwareUpdateState_ScheduledTimeMs
	OptionalScheduledTimeMs isSoftwareUpdateState_OptionalScheduledTimeMs `protobuf_oneof:"optional_scheduled_time_ms"`
	// Types that are assignable to OptionalWarningTimeRemainingMs:
	//	*SoftwareUpdateState_WarningTimeRemainingMs
	OptionalWarningTimeRemainingMs isSoftwareUpdateState_OptionalWarningTimeRemainingMs `protobuf_oneof:"optional_warning_time_remaining_ms"`
	// Types that are assignable to OptionalExpectedDurationSec:
	//	*SoftwareUpdateState_ExpectedDurationSec
	OptionalExpectedDurationSec isSoftwareUpdateState_OptionalExpectedDurationSec `protobuf_oneof:"optional_expected_duration_sec"`
	// Types that are assignable to OptionalDownloadPerc:
	//	*SoftwareUpdateState_DownloadPerc
	OptionalDownloadPerc isSoftwareUpdateState_OptionalDownloadPerc `protobuf_oneof:"optional_download_perc"`
	// Types that are assignable to OptionalInstallPerc:
	//	*SoftwareUpdateState_InstallPerc
	OptionalInstallPerc isSoftwareUpdateState_OptionalInstallPerc `protobuf_oneof:"optional_install_perc"`
	// Types that are assignable to OptionalVersion:
	//	*SoftwareUpdateState_Version
	OptionalVersion isSoftwareUpdateState_OptionalVersion `protobuf_oneof:"optional_version"`
	Timestamp       *timestamppb.Timestamp                `protobuf:"bytes,108,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
}

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

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

func (*SoftwareUpdateState) ProtoMessage() {}

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

func (x *SoftwareUpdateState) GetStatus() *SoftwareUpdateState_SoftwareUpdateStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

func (m *SoftwareUpdateState) GetOptionalScheduledTimeMs() isSoftwareUpdateState_OptionalScheduledTimeMs {
	if m != nil {
		return m.OptionalScheduledTimeMs
	}
	return nil
}

func (x *SoftwareUpdateState) GetScheduledTimeMs() uint64 {
	if x, ok := x.GetOptionalScheduledTimeMs().(*SoftwareUpdateState_ScheduledTimeMs); ok {
		return x.ScheduledTimeMs
	}
	return 0
}

func (m *SoftwareUpdateState) GetOptionalWarningTimeRemainingMs() isSoftwareUpdateState_OptionalWarningTimeRemainingMs {
	if m != nil {
		return m.OptionalWarningTimeRemainingMs
	}
	return nil
}

func (x *SoftwareUpdateState) GetWarningTimeRemainingMs() uint64 {
	if x, ok := x.GetOptionalWarningTimeRemainingMs().(*SoftwareUpdateState_WarningTimeRemainingMs); ok {
		return x.WarningTimeRemainingMs
	}
	return 0
}

func (m *SoftwareUpdateState) GetOptionalExpectedDurationSec() isSoftwareUpdateState_OptionalExpectedDurationSec {
	if m != nil {
		return m.OptionalExpectedDurationSec
	}
	return nil
}

func (x *SoftwareUpdateState) GetExpectedDurationSec() uint32 {
	if x, ok := x.GetOptionalExpectedDurationSec().(*SoftwareUpdateState_ExpectedDurationSec); ok {
		return x.ExpectedDurationSec
	}
	return 0
}

func (m *SoftwareUpdateState) GetOptionalDownloadPerc() isSoftwareUpdateState_OptionalDownloadPerc {
	if m != nil {
		return m.OptionalDownloadPerc
	}
	return nil
}

func (x *SoftwareUpdateState) GetDownloadPerc() uint32 {
	if x, ok := x.GetOptionalDownloadPerc().(*SoftwareUpdateState_DownloadPerc); ok {
		return x.DownloadPerc
	}
	return 0
}

func (m *SoftwareUpdateState) GetOptionalInstallPerc() isSoftwareUpdateState_OptionalInstallPerc {
	if m != nil {
		return m.OptionalInstallPerc
	}
	return nil
}

func (x *SoftwareUpdateState) GetInstallPerc() uint32 {
	if x, ok := x.GetOptionalInstallPerc().(*SoftwareUpdateState_InstallPerc); ok {
		return x.InstallPerc
	}
	return 0
}

func (m *SoftwareUpdateState) GetOptionalVersion() isSoftwareUpdateState_OptionalVersion {
	if m != nil {
		return m.OptionalVersion
	}
	return nil
}

func (x *SoftwareUpdateState) GetVersion() string {
	if x, ok := x.GetOptionalVersion().(*SoftwareUpdateState_Version); ok {
		return x.Version
	}
	return ""
}

func (x *SoftwareUpdateState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

type isSoftwareUpdateState_OptionalScheduledTimeMs interface {
	isSoftwareUpdateState_OptionalScheduledTimeMs()
}

type SoftwareUpdateState_ScheduledTimeMs struct {
	ScheduledTimeMs uint64 `protobuf:"varint,102,opt,name=scheduled_time_ms,json=scheduledTimeMs,proto3,oneof"`
}

func (*SoftwareUpdateState_ScheduledTimeMs) isSoftwareUpdateState_OptionalScheduledTimeMs() {}

type isSoftwareUpdateState_OptionalWarningTimeRemainingMs interface {
	isSoftwareUpdateState_OptionalWarningTimeRemainingMs()
}

type SoftwareUpdateState_WarningTimeRemainingMs struct {
	WarningTimeRemainingMs uint64 `protobuf:"varint,103,opt,name=warning_time_remaining_ms,json=warningTimeRemainingMs,proto3,oneof"`
}

func (*SoftwareUpdateState_WarningTimeRemainingMs) isSoftwareUpdateState_OptionalWarningTimeRemainingMs() {
}

type isSoftwareUpdateState_OptionalExpectedDurationSec interface {
	isSoftwareUpdateState_OptionalExpectedDurationSec()
}

type SoftwareUpdateState_ExpectedDurationSec struct {
	ExpectedDurationSec uint32 `protobuf:"varint,104,opt,name=expected_duration_sec,json=expectedDurationSec,proto3,oneof"`
}

func (*SoftwareUpdateState_ExpectedDurationSec) isSoftwareUpdateState_OptionalExpectedDurationSec() {}

type isSoftwareUpdateState_OptionalDownloadPerc interface {
	isSoftwareUpdateState_OptionalDownloadPerc()
}

type SoftwareUpdateState_DownloadPerc struct {
	DownloadPerc uint32 `protobuf:"varint,105,opt,name=download_perc,json=downloadPerc,proto3,oneof"`
}

func (*SoftwareUpdateState_DownloadPerc) isSoftwareUpdateState_OptionalDownloadPerc() {}

type isSoftwareUpdateState_OptionalInstallPerc interface {
	isSoftwareUpdateState_OptionalInstallPerc()
}

type SoftwareUpdateState_InstallPerc struct {
	InstallPerc uint32 `protobuf:"varint,106,opt,name=install_perc,json=installPerc,proto3,oneof"`
}

func (*SoftwareUpdateState_InstallPerc) isSoftwareUpdateState_OptionalInstallPerc() {}

type isSoftwareUpdateState_OptionalVersion interface {
	isSoftwareUpdateState_OptionalVersion()
}

type SoftwareUpdateState_Version struct {
	Version string `protobuf:"bytes,107,opt,name=version,proto3,oneof"`
}

func (*SoftwareUpdateState_Version) isSoftwareUpdateState_OptionalVersion() {}

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

	ShiftState *ShiftState `protobuf:"bytes,1,opt,name=shift_state,json=shiftState,proto3" json:"shift_state,omitempty"`
	// Types that are assignable to OptionalSpeed:
	//	*DriveState_Speed
	OptionalSpeed isDriveState_OptionalSpeed `protobuf_oneof:"optional_speed"`
	// Types that are assignable to OptionalPower:
	//	*DriveState_Power
	OptionalPower isDriveState_OptionalPower `protobuf_oneof:"optional_power"`
	Timestamp     *timestamppb.Timestamp     `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalOdometerInHundredthsOfAMile:
	//	*DriveState_OdometerInHundredthsOfAMile
	OptionalOdometerInHundredthsOfAMile isDriveState_OptionalOdometerInHundredthsOfAMile `protobuf_oneof:"optional_odometer_in_hundredths_of_a_mile"`
	// Types that are assignable to OptionalSpeedFloat:
	//	*DriveState_SpeedFloat
	OptionalSpeedFloat isDriveState_OptionalSpeedFloat `protobuf_oneof:"optional_speed_float"`
	// Types that are assignable to OptionalActiveRouteDestination:
	//	*DriveState_ActiveRouteDestination
	OptionalActiveRouteDestination isDriveState_OptionalActiveRouteDestination `protobuf_oneof:"optional_active_route_destination"`
	// Types that are assignable to OptionalActiveRouteMinutesToArrival:
	//	*DriveState_ActiveRouteMinutesToArrival
	OptionalActiveRouteMinutesToArrival isDriveState_OptionalActiveRouteMinutesToArrival `protobuf_oneof:"optional_active_route_minutes_to_arrival"`
	// Types that are assignable to OptionalActiveRouteMilesToArrival:
	//	*DriveState_ActiveRouteMilesToArrival
	OptionalActiveRouteMilesToArrival isDriveState_OptionalActiveRouteMilesToArrival `protobuf_oneof:"optional_active_route_miles_to_arrival"`
	// Types that are assignable to OptionalActiveRouteTrafficMinutesDelay:
	//	*DriveState_ActiveRouteTrafficMinutesDelay
	OptionalActiveRouteTrafficMinutesDelay isDriveState_OptionalActiveRouteTrafficMinutesDelay `protobuf_oneof:"optional_active_route_traffic_minutes_delay"`
	// Types that are assignable to OptionalActiveRouteEnergyAtArrival:
	//	*DriveState_ActiveRouteEnergyAtArrival
	OptionalActiveRouteEnergyAtArrival isDriveState_OptionalActiveRouteEnergyAtArrival `protobuf_oneof:"optional_active_route_energy_at_arrival"`
	// Types that are assignable to OptionalLastRouteUpdate:
	//	*DriveState_LastRouteUpdate
	OptionalLastRouteUpdate isDriveState_OptionalLastRouteUpdate `protobuf_oneof:"optional_last_route_update"`
	LastTrafficUpdate       *timestamppb.Timestamp               `protobuf:"bytes,15,opt,name=last_traffic_update,json=lastTrafficUpdate,proto3" json:"last_traffic_update,omitempty"`
	ActiveRouteCoordinates  *LatLong                             `protobuf:"bytes,12,opt,name=active_route_coordinates,json=activeRouteCoordinates,proto3" json:"active_route_coordinates,omitempty"`
}

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

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

func (*DriveState) ProtoMessage() {}

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

func (x *DriveState) GetShiftState() *ShiftState {
	if x != nil {
		return x.ShiftState
	}
	return nil
}

func (m *DriveState) GetOptionalSpeed() isDriveState_OptionalSpeed {
	if m != nil {
		return m.OptionalSpeed
	}
	return nil
}

func (x *DriveState) GetSpeed() uint32 {
	if x, ok := x.GetOptionalSpeed().(*DriveState_Speed); ok {
		return x.Speed
	}
	return 0
}

func (m *DriveState) GetOptionalPower() isDriveState_OptionalPower {
	if m != nil {
		return m.OptionalPower
	}
	return nil
}

func (x *DriveState) GetPower() int32 {
	if x, ok := x.GetOptionalPower().(*DriveState_Power); ok {
		return x.Power
	}
	return 0
}

func (x *DriveState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *DriveState) GetOptionalOdometerInHundredthsOfAMile() isDriveState_OptionalOdometerInHundredthsOfAMile {
	if m != nil {
		return m.OptionalOdometerInHundredthsOfAMile
	}
	return nil
}

func (x *DriveState) GetOdometerInHundredthsOfAMile() int32 {
	if x, ok := x.GetOptionalOdometerInHundredthsOfAMile().(*DriveState_OdometerInHundredthsOfAMile); ok {
		return x.OdometerInHundredthsOfAMile
	}
	return 0
}

func (m *DriveState) GetOptionalSpeedFloat() isDriveState_OptionalSpeedFloat {
	if m != nil {
		return m.OptionalSpeedFloat
	}
	return nil
}

func (x *DriveState) GetSpeedFloat() float32 {
	if x, ok := x.GetOptionalSpeedFloat().(*DriveState_SpeedFloat); ok {
		return x.SpeedFloat
	}
	return 0
}

func (m *DriveState) GetOptionalActiveRouteDestination() isDriveState_OptionalActiveRouteDestination {
	if m != nil {
		return m.OptionalActiveRouteDestination
	}
	return nil
}

func (x *DriveState) GetActiveRouteDestination() string {
	if x, ok := x.GetOptionalActiveRouteDestination().(*DriveState_ActiveRouteDestination); ok {
		return x.ActiveRouteDestination
	}
	return ""
}

func (m *DriveState) GetOptionalActiveRouteMinutesToArrival() isDriveState_OptionalActiveRouteMinutesToArrival {
	if m != nil {
		return m.OptionalActiveRouteMinutesToArrival
	}
	return nil
}

func (x *DriveState) GetActiveRouteMinutesToArrival() float32 {
	if x, ok := x.GetOptionalActiveRouteMinutesToArrival().(*DriveState_ActiveRouteMinutesToArrival); ok {
		return x.ActiveRouteMinutesToArrival
	}
	return 0
}

func (m *DriveState) GetOptionalActiveRouteMilesToArrival() isDriveState_OptionalActiveRouteMilesToArrival {
	if m != nil {
		return m.OptionalActiveRouteMilesToArrival
	}
	return nil
}

func (x *DriveState) GetActiveRouteMilesToArrival() float32 {
	if x, ok := x.GetOptionalActiveRouteMilesToArrival().(*DriveState_ActiveRouteMilesToArrival); ok {
		return x.ActiveRouteMilesToArrival
	}
	return 0
}

func (m *DriveState) GetOptionalActiveRouteTrafficMinutesDelay() isDriveState_OptionalActiveRouteTrafficMinutesDelay {
	if m != nil {
		return m.OptionalActiveRouteTrafficMinutesDelay
	}
	return nil
}

func (x *DriveState) GetActiveRouteTrafficMinutesDelay() float32 {
	if x, ok := x.GetOptionalActiveRouteTrafficMinutesDelay().(*DriveState_ActiveRouteTrafficMinutesDelay); ok {
		return x.ActiveRouteTrafficMinutesDelay
	}
	return 0
}

func (m *DriveState) GetOptionalActiveRouteEnergyAtArrival() isDriveState_OptionalActiveRouteEnergyAtArrival {
	if m != nil {
		return m.OptionalActiveRouteEnergyAtArrival
	}
	return nil
}

func (x *DriveState) GetActiveRouteEnergyAtArrival() float32 {
	if x, ok := x.GetOptionalActiveRouteEnergyAtArrival().(*DriveState_ActiveRouteEnergyAtArrival); ok {
		return x.ActiveRouteEnergyAtArrival
	}
	return 0
}

func (m *DriveState) GetOptionalLastRouteUpdate() isDriveState_OptionalLastRouteUpdate {
	if m != nil {
		return m.OptionalLastRouteUpdate
	}
	return nil
}

func (x *DriveState) GetLastRouteUpdate() uint32 {
	if x, ok := x.GetOptionalLastRouteUpdate().(*DriveState_LastRouteUpdate); ok {
		return x.LastRouteUpdate
	}
	return 0
}

func (x *DriveState) GetLastTrafficUpdate() *timestamppb.Timestamp {
	if x != nil {
		return x.LastTrafficUpdate
	}
	return nil
}

func (x *DriveState) GetActiveRouteCoordinates() *LatLong {
	if x != nil {
		return x.ActiveRouteCoordinates
	}
	return nil
}

type isDriveState_OptionalSpeed interface {
	isDriveState_OptionalSpeed()
}

type DriveState_Speed struct {
	Speed uint32 `protobuf:"varint,102,opt,name=speed,proto3,oneof"`
}

func (*DriveState_Speed) isDriveState_OptionalSpeed() {}

type isDriveState_OptionalPower interface {
	isDriveState_OptionalPower()
}

type DriveState_Power struct {
	Power int32 `protobuf:"varint,103,opt,name=power,proto3,oneof"`
}

func (*DriveState_Power) isDriveState_OptionalPower() {}

type isDriveState_OptionalOdometerInHundredthsOfAMile interface {
	isDriveState_OptionalOdometerInHundredthsOfAMile()
}

type DriveState_OdometerInHundredthsOfAMile struct {
	OdometerInHundredthsOfAMile int32 `protobuf:"varint,105,opt,name=odometer_in_hundredths_of_a_mile,json=odometerInHundredthsOfAMile,proto3,oneof"`
}

func (*DriveState_OdometerInHundredthsOfAMile) isDriveState_OptionalOdometerInHundredthsOfAMile() {}

type isDriveState_OptionalSpeedFloat interface {
	isDriveState_OptionalSpeedFloat()
}

type DriveState_SpeedFloat struct {
	SpeedFloat float32 `protobuf:"fixed32,106,opt,name=speed_float,json=speedFloat,proto3,oneof"`
}

func (*DriveState_SpeedFloat) isDriveState_OptionalSpeedFloat() {}

type isDriveState_OptionalActiveRouteDestination interface {
	isDriveState_OptionalActiveRouteDestination()
}

type DriveState_ActiveRouteDestination struct {
	ActiveRouteDestination string `protobuf:"bytes,7,opt,name=active_route_destination,json=activeRouteDestination,proto3,oneof"`
}

func (*DriveState_ActiveRouteDestination) isDriveState_OptionalActiveRouteDestination() {}

type isDriveState_OptionalActiveRouteMinutesToArrival interface {
	isDriveState_OptionalActiveRouteMinutesToArrival()
}

type DriveState_ActiveRouteMinutesToArrival struct {
	ActiveRouteMinutesToArrival float32 `protobuf:"fixed32,8,opt,name=active_route_minutes_to_arrival,json=activeRouteMinutesToArrival,proto3,oneof"`
}

func (*DriveState_ActiveRouteMinutesToArrival) isDriveState_OptionalActiveRouteMinutesToArrival() {}

type isDriveState_OptionalActiveRouteMilesToArrival interface {
	isDriveState_OptionalActiveRouteMilesToArrival()
}

type DriveState_ActiveRouteMilesToArrival struct {
	ActiveRouteMilesToArrival float32 `protobuf:"fixed32,9,opt,name=active_route_miles_to_arrival,json=activeRouteMilesToArrival,proto3,oneof"`
}

func (*DriveState_ActiveRouteMilesToArrival) isDriveState_OptionalActiveRouteMilesToArrival() {}

type isDriveState_OptionalActiveRouteTrafficMinutesDelay interface {
	isDriveState_OptionalActiveRouteTrafficMinutesDelay()
}

type DriveState_ActiveRouteTrafficMinutesDelay struct {
	ActiveRouteTrafficMinutesDelay float32 `protobuf:"fixed32,10,opt,name=active_route_traffic_minutes_delay,json=activeRouteTrafficMinutesDelay,proto3,oneof"`
}

func (*DriveState_ActiveRouteTrafficMinutesDelay) isDriveState_OptionalActiveRouteTrafficMinutesDelay() {
}

type isDriveState_OptionalActiveRouteEnergyAtArrival interface {
	isDriveState_OptionalActiveRouteEnergyAtArrival()
}

type DriveState_ActiveRouteEnergyAtArrival struct {
	ActiveRouteEnergyAtArrival float32 `protobuf:"fixed32,11,opt,name=active_route_energy_at_arrival,json=activeRouteEnergyAtArrival,proto3,oneof"`
}

func (*DriveState_ActiveRouteEnergyAtArrival) isDriveState_OptionalActiveRouteEnergyAtArrival() {}

type isDriveState_OptionalLastRouteUpdate interface {
	isDriveState_OptionalLastRouteUpdate()
}

type DriveState_LastRouteUpdate struct {
	LastRouteUpdate uint32 `protobuf:"varint,14,opt,name=last_route_update,json=lastRouteUpdate,proto3,oneof"`
}

func (*DriveState_LastRouteUpdate) isDriveState_OptionalLastRouteUpdate() {}

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

	ChargingState    *ChargeState_ChargingState `protobuf:"bytes,1,opt,name=charging_state,json=chargingState,proto3" json:"charging_state,omitempty"`
	FastChargerType  *ChargeState_ChargerType   `protobuf:"bytes,2,opt,name=fast_charger_type,json=fastChargerType,proto3" json:"fast_charger_type,omitempty"`
	FastChargerBrand *ChargeState_ChargerBrand  `protobuf:"bytes,3,opt,name=fast_charger_brand,json=fastChargerBrand,proto3" json:"fast_charger_brand,omitempty"`
	// Types that are assignable to OptionalChargeLimitSoc:
	//	*ChargeState_ChargeLimitSoc
	OptionalChargeLimitSoc isChargeState_OptionalChargeLimitSoc `protobuf_oneof:"optional_charge_limit_soc"`
	// Types that are assignable to OptionalChargeLimitSocStd:
	//	*ChargeState_ChargeLimitSocStd
	OptionalChargeLimitSocStd isChargeState_OptionalChargeLimitSocStd `protobuf_oneof:"optional_charge_limit_soc_std"`
	// Types that are assignable to OptionalChargeLimitSocMin:
	//	*ChargeState_ChargeLimitSocMin
	OptionalChargeLimitSocMin isChargeState_OptionalChargeLimitSocMin `protobuf_oneof:"optional_charge_limit_soc_min"`
	// Types that are assignable to OptionalChargeLimitSocMax:
	//	*ChargeState_ChargeLimitSocMax
	OptionalChargeLimitSocMax isChargeState_OptionalChargeLimitSocMax `protobuf_oneof:"optional_charge_limit_soc_max"`
	// Types that are assignable to OptionalMaxRangeChargeCounter:
	//	*ChargeState_MaxRangeChargeCounter
	OptionalMaxRangeChargeCounter isChargeState_OptionalMaxRangeChargeCounter `protobuf_oneof:"optional_max_range_charge_counter"`
	// Types that are assignable to OptionalFastChargerPresent:
	//	*ChargeState_FastChargerPresent
	OptionalFastChargerPresent isChargeState_OptionalFastChargerPresent `protobuf_oneof:"optional_fast_charger_present"`
	// 2 decimals
	//
	// Types that are assignable to OptionalBatteryRange:
	//	*ChargeState_BatteryRange
	OptionalBatteryRange isChargeState_OptionalBatteryRange `protobuf_oneof:"optional_battery_range"`
	// Types that are assignable to OptionalEstBatteryRange:
	//	*ChargeState_EstBatteryRange
	OptionalEstBatteryRange isChargeState_OptionalEstBatteryRange `protobuf_oneof:"optional_est_battery_range"`
	// Types that are assignable to OptionalIdealBatteryRange:
	//	*ChargeState_IdealBatteryRange
	OptionalIdealBatteryRange isChargeState_OptionalIdealBatteryRange `protobuf_oneof:"optional_ideal_battery_range"`
	// Types that are assignable to OptionalBatteryLevel:
	//	*ChargeState_BatteryLevel
	OptionalBatteryLevel isChargeState_OptionalBatteryLevel `protobuf_oneof:"optional_battery_level"`
	// Types that are assignable to OptionalUsableBatteryLevel:
	//	*ChargeState_UsableBatteryLevel
	OptionalUsableBatteryLevel isChargeState_OptionalUsableBatteryLevel `protobuf_oneof:"optional_usable_battery_level"`
	// 1 decimal
	//
	// Types that are assignable to OptionalChargeEnergyAdded:
	//	*ChargeState_ChargeEnergyAdded
	OptionalChargeEnergyAdded isChargeState_OptionalChargeEnergyAdded `protobuf_oneof:"optional_charge_energy_added"`
	// Types that are assignable to OptionalChargeMilesAddedRated:
	//	*ChargeState_ChargeMilesAddedRated
	OptionalChargeMilesAddedRated isChargeState_OptionalChargeMilesAddedRated `protobuf_oneof:"optional_charge_miles_added_rated"`
	// Types that are assignable to OptionalChargeMilesAddedIdeal:
	//	*ChargeState_ChargeMilesAddedIdeal
	OptionalChargeMilesAddedIdeal isChargeState_OptionalChargeMilesAddedIdeal `protobuf_oneof:"optional_charge_miles_added_ideal"`
	// Types that are assignable to OptionalChargerVoltage:
	//	*ChargeState_ChargerVoltage
	OptionalChargerVoltage isChargeState_OptionalChargerVoltage `protobuf_oneof:"optional_charger_voltage"`
	// Types that are assignable to OptionalChargerPilotCurrent:
	//	*ChargeState_ChargerPilotCurrent
	OptionalChargerPilotCurrent isChargeState_OptionalChargerPilotCurrent `protobuf_oneof:"optional_charger_pilot_current"`
	// Types that are assignable to OptionalChargerActualCurrent:
	//	*ChargeState_ChargerActualCurrent
	OptionalChargerActualCurrent isChargeState_OptionalChargerActualCurrent `protobuf_oneof:"optional_charger_actual_current"`
	// Types that are assignable to OptionalChargerPower:
	//	*ChargeState_ChargerPower
	OptionalChargerPower isChargeState_OptionalChargerPower `protobuf_oneof:"optional_charger_power"`
	// Types that are assignable to OptionalMinutesToFullCharge:
	//	*ChargeState_MinutesToFullCharge
	OptionalMinutesToFullCharge isChargeState_OptionalMinutesToFullCharge `protobuf_oneof:"optional_minutes_to_full_charge"`
	// Types that are assignable to OptionalMinutesToChargeLimit:
	//	*ChargeState_MinutesToChargeLimit
	OptionalMinutesToChargeLimit isChargeState_OptionalMinutesToChargeLimit `protobuf_oneof:"optional_minutes_to_charge_limit"`
	// Types that are assignable to OptionalTripCharging:
	//	*ChargeState_TripCharging
	OptionalTripCharging isChargeState_OptionalTripCharging `protobuf_oneof:"optional_trip_charging"`
	// Types that are assignable to OptionalChargeRateMph:
	//	*ChargeState_ChargeRateMph
	OptionalChargeRateMph isChargeState_OptionalChargeRateMph `protobuf_oneof:"optional_charge_rate_mph"`
	// Types that are assignable to OptionalChargePortDoorOpen:
	//	*ChargeState_ChargePortDoorOpen
	OptionalChargePortDoorOpen isChargeState_OptionalChargePortDoorOpen `protobuf_oneof:"optional_charge_port_door_open"`
	ConnChargeCable            *ChargeState_CableType                   `protobuf:"bytes,28,opt,name=conn_charge_cable,json=connChargeCable,proto3" json:"conn_charge_cable,omitempty"`
	// seconds / datetime
	//
	// Types that are assignable to OptionalScheduledChargingStartTime:
	//	*ChargeState_ScheduledChargingStartTime
	OptionalScheduledChargingStartTime isChargeState_OptionalScheduledChargingStartTime `protobuf_oneof:"optional_scheduled_charging_start_time"`
	// Types that are assignable to OptionalScheduledChargingPending:
	//	*ChargeState_ScheduledChargingPending
	OptionalScheduledChargingPending isChargeState_OptionalScheduledChargingPending `protobuf_oneof:"optional_scheduled_charging_pending"`
	ScheduledDepartureTime           *timestamppb.Timestamp                         `protobuf:"bytes,31,opt,name=scheduled_departure_time,json=scheduledDepartureTime,proto3" json:"scheduled_departure_time,omitempty"`
	// Types that are assignable to OptionalUserChargeEnableRequest:
	//	*ChargeState_UserChargeEnableRequest
	OptionalUserChargeEnableRequest isChargeState_OptionalUserChargeEnableRequest `protobuf_oneof:"optional_user_charge_enable_request"`
	// Types that are assignable to OptionalChargeEnableRequest:
	//	*ChargeState_ChargeEnableRequest
	OptionalChargeEnableRequest isChargeState_OptionalChargeEnableRequest `protobuf_oneof:"optional_charge_enable_request"`
	// Types that are assignable to OptionalChargerPhases:
	//	*ChargeState_ChargerPhases
	OptionalChargerPhases isChargeState_OptionalChargerPhases `protobuf_oneof:"optional_charger_phases"`
	ChargePortLatch       *ChargePortLatchState               `protobuf:"bytes,35,opt,name=charge_port_latch,json=chargePortLatch,proto3" json:"charge_port_latch,omitempty"`
	// Types that are assignable to OptionalChargePortColdWeatherMode:
	//	*ChargeState_ChargePortColdWeatherMode
	OptionalChargePortColdWeatherMode isChargeState_OptionalChargePortColdWeatherMode `protobuf_oneof:"optional_charge_port_cold_weather_mode"`
	// Types that are assignable to OptionalChargeCurrentRequest:
	//	*ChargeState_ChargeCurrentRequest
	OptionalChargeCurrentRequest isChargeState_OptionalChargeCurrentRequest `protobuf_oneof:"optional_charge_current_request"`
	// Types that are assignable to OptionalChargeCurrentRequestMax:
	//	*ChargeState_ChargeCurrentRequestMax
	OptionalChargeCurrentRequestMax isChargeState_OptionalChargeCurrentRequestMax `protobuf_oneof:"optional_charge_current_request_max"`
	// Types that are assignable to OptionalManagedChargingActive:
	//	*ChargeState_ManagedChargingActive
	OptionalManagedChargingActive isChargeState_OptionalManagedChargingActive `protobuf_oneof:"optional_managed_charging_active"`
	// Types that are assignable to OptionalManagedChargingUserCanceled:
	//	*ChargeState_ManagedChargingUserCanceled
	OptionalManagedChargingUserCanceled isChargeState_OptionalManagedChargingUserCanceled `protobuf_oneof:"optional_managed_charging_user_canceled"`
	// Types that are assignable to OptionalManagedChargingStartTime:
	//	*ChargeState_ManagedChargingStartTime
	OptionalManagedChargingStartTime isChargeState_OptionalManagedChargingStartTime `protobuf_oneof:"optional_managed_charging_start_time"`
	Timestamp                        *timestamppb.Timestamp                         `protobuf:"bytes,44,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	PreconditioningTimes             *PreconditioningTimes                          `protobuf:"bytes,45,opt,name=preconditioning_times,json=preconditioningTimes,proto3" json:"preconditioning_times,omitempty"`
	OffPeakChargingTimes             *OffPeakChargingTimes                          `protobuf:"bytes,46,opt,name=off_peak_charging_times,json=offPeakChargingTimes,proto3" json:"off_peak_charging_times,omitempty"`
	// Types that are assignable to OptionalOffPeakHoursEndTime:
	//	*ChargeState_OffPeakHoursEndTime
	OptionalOffPeakHoursEndTime isChargeState_OptionalOffPeakHoursEndTime `protobuf_oneof:"optional_off_peak_hours_end_time"`
	// Types that are assignable to OptionalScheduledChargingMode:
	//	*ChargeState_ScheduledChargingMode_
	OptionalScheduledChargingMode isChargeState_OptionalScheduledChargingMode `protobuf_oneof:"optional_scheduled_charging_mode"`
	// Types that are assignable to OptionalChargingAmps:
	//	*ChargeState_ChargingAmps
	OptionalChargingAmps isChargeState_OptionalChargingAmps `protobuf_oneof:"optional_charging_amps"`
	// Types that are assignable to OptionalScheduledChargingStartTimeMinutes:
	//	*ChargeState_ScheduledChargingStartTimeMinutes
	OptionalScheduledChargingStartTimeMinutes isChargeState_OptionalScheduledChargingStartTimeMinutes `protobuf_oneof:"optional_scheduled_charging_start_time_minutes"`
	// Types that are assignable to OptionalScheduledDepartureTimeMinutes:
	//	*ChargeState_ScheduledDepartureTimeMinutes
	OptionalScheduledDepartureTimeMinutes isChargeState_OptionalScheduledDepartureTimeMinutes `protobuf_oneof:"optional_scheduled_departure_time_minutes"`
	// Types that are assignable to OptionalPreconditioningEnabled:
	//	*ChargeState_PreconditioningEnabled
	OptionalPreconditioningEnabled isChargeState_OptionalPreconditioningEnabled `protobuf_oneof:"optional_preconditioning_enabled"`
	// Types that are assignable to OptionalScheduledChargingStartTimeApp:
	//	*ChargeState_ScheduledChargingStartTimeApp
	OptionalScheduledChargingStartTimeApp isChargeState_OptionalScheduledChargingStartTimeApp `protobuf_oneof:"optional_scheduled_charging_start_time_app"`
	// Types that are assignable to OptionalSuperchargerSessionTripPlanner:
	//	*ChargeState_SuperchargerSessionTripPlanner
	OptionalSuperchargerSessionTripPlanner isChargeState_OptionalSuperchargerSessionTripPlanner `protobuf_oneof:"optional_supercharger_session_trip_planner"`
	// Types that are assignable to OptionalChargePortColor:
	//	*ChargeState_ChargePortColor
	OptionalChargePortColor isChargeState_OptionalChargePortColor `protobuf_oneof:"optional_charge_port_color"`
	// Types that are assignable to OptionalChargeRateMphFloat:
	//	*ChargeState_ChargeRateMphFloat
	OptionalChargeRateMphFloat isChargeState_OptionalChargeRateMphFloat `protobuf_oneof:"optional_charge_rate_mph_float"`
	// Types that are assignable to OptionalChargeLimitReason:
	//	*ChargeState_ChargeLimitReason_
	OptionalChargeLimitReason isChargeState_OptionalChargeLimitReason `protobuf_oneof:"optional_charge_limit_reason"`
	ManagedChargingState      *ManagedChargingState                   `protobuf:"bytes,158,opt,name=managed_charging_state,json=managedChargingState,proto3" json:"managed_charging_state,omitempty"`
	// Types that are assignable to OptionalChargeCableUnlatched:
	//	*ChargeState_ChargeCableUnlatched
	OptionalChargeCableUnlatched isChargeState_OptionalChargeCableUnlatched `protobuf_oneof:"optional_charge_cable_unlatched"`
	// Types that are assignable to OptionalOutletState:
	//	*ChargeState_OutletState_
	OptionalOutletState isChargeState_OptionalOutletState `protobuf_oneof:"optional_outlet_state"`
	// Types that are assignable to OptionalPowerFeedState:
	//	*ChargeState_PowerFeedState_
	OptionalPowerFeedState isChargeState_OptionalPowerFeedState `protobuf_oneof:"optional_power_feed_state"`
	// Types that are assignable to OptionOutletSocLimit:
	//	*ChargeState_OutletSocLimit
	OptionOutletSocLimit isChargeState_OptionOutletSocLimit `protobuf_oneof:"option_outlet_soc_limit"`
	// Types that are assignable to OptionPowerFeedSocLimit:
	//	*ChargeState_PowerFeedSocLimit
	OptionPowerFeedSocLimit isChargeState_OptionPowerFeedSocLimit `protobuf_oneof:"option_power_feed_soc_limit"`
	// Types that are assignable to OptionOutletTimeRemaining:
	//	*ChargeState_OutletTimeRemaining
	OptionOutletTimeRemaining isChargeState_OptionOutletTimeRemaining `protobuf_oneof:"option_outlet_time_remaining"`
	// Types that are assignable to OptionPowerFeedTimeRemaining:
	//	*ChargeState_PowerFeedTimeRemaining
	OptionPowerFeedTimeRemaining isChargeState_OptionPowerFeedTimeRemaining `protobuf_oneof:"option_power_feed_time_remaining"`
	// Types that are assignable to OptionalPowershareFeatureAllowed:
	//	*ChargeState_PowershareFeatureAllowed
	OptionalPowershareFeatureAllowed isChargeState_OptionalPowershareFeatureAllowed `protobuf_oneof:"optional_powershare_feature_allowed"`
	// Types that are assignable to OptionalPowershareFeatureEnabled:
	//	*ChargeState_PowershareFeatureEnabled
	OptionalPowershareFeatureEnabled isChargeState_OptionalPowershareFeatureEnabled `protobuf_oneof:"optional_powershare_feature_enabled"`
	// Types that are assignable to OptionalPowershareRequest:
	//	*ChargeState_PowershareRequest
	OptionalPowershareRequest isChargeState_OptionalPowershareRequest `protobuf_oneof:"optional_powershare_request"`
	// Types that are assignable to OptionalPowershareType:
	//	*ChargeState_PowershareType_
	OptionalPowershareType isChargeState_OptionalPowershareType `protobuf_oneof:"optional_powershare_type"`
	// Types that are assignable to OptionalPowershareStatus:
	//	*ChargeState_PowershareStatus_
	OptionalPowershareStatus isChargeState_OptionalPowershareStatus `protobuf_oneof:"optional_powershare_status"`
	// Types that are assignable to OptionalPowershareStopReason:
	//	*ChargeState_PowershareStopReason_
	OptionalPowershareStopReason isChargeState_OptionalPowershareStopReason `protobuf_oneof:"optional_powershare_stop_reason"`
	// Types that are assignable to OptionalPowershareInstantaneousLoadKw:
	//	*ChargeState_PowershareInstantaneousLoadKw
	OptionalPowershareInstantaneousLoadKw isChargeState_OptionalPowershareInstantaneousLoadKw `protobuf_oneof:"optional_powershare_instantaneous_load_kw"`
	// Types that are assignable to OptionalPowershareVehicleEnergyLeftHr:
	//	*ChargeState_PowershareVehicleEnergyLeftHr
	OptionalPowershareVehicleEnergyLeftHr isChargeState_OptionalPowershareVehicleEnergyLeftHr `protobuf_oneof:"optional_powershare_vehicle_energy_left_hr"`
	// Types that are assignable to OptionalPowershareSocLimit:
	//	*ChargeState_PowershareSocLimit
	OptionalPowershareSocLimit isChargeState_OptionalPowershareSocLimit `protobuf_oneof:"optional_powershare_soc_limit"`
	// Types that are assignable to OptionalOneTimeSocLimit:
	//	*ChargeState_OneTimeSocLimit
	OptionalOneTimeSocLimit isChargeState_OptionalOneTimeSocLimit `protobuf_oneof:"optional_one_time_soc_limit"`
	// Types that are assignable to OptionalHomeLocation:
	//	*ChargeState_HomeLocation
	OptionalHomeLocation isChargeState_OptionalHomeLocation `protobuf_oneof:"optional_home_location"`
	// Types that are assignable to OptionalWorkLocation:
	//	*ChargeState_WorkLocation
	OptionalWorkLocation isChargeState_OptionalWorkLocation `protobuf_oneof:"optional_work_location"`
	// Types that are assignable to OptionalOutletMaxTimerMinutes:
	//	*ChargeState_OutletMaxTimerMinutes
	OptionalOutletMaxTimerMinutes isChargeState_OptionalOutletMaxTimerMinutes `protobuf_oneof:"optional_outlet_max_timer_minutes"`
}

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

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

func (*ChargeState) ProtoMessage() {}

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

func (x *ChargeState) GetChargingState() *ChargeState_ChargingState {
	if x != nil {
		return x.ChargingState
	}
	return nil
}

func (x *ChargeState) GetFastChargerType() *ChargeState_ChargerType {
	if x != nil {
		return x.FastChargerType
	}
	return nil
}

func (x *ChargeState) GetFastChargerBrand() *ChargeState_ChargerBrand {
	if x != nil {
		return x.FastChargerBrand
	}
	return nil
}

func (m *ChargeState) GetOptionalChargeLimitSoc() isChargeState_OptionalChargeLimitSoc {
	if m != nil {
		return m.OptionalChargeLimitSoc
	}
	return nil
}

func (x *ChargeState) GetChargeLimitSoc() int32 {
	if x, ok := x.GetOptionalChargeLimitSoc().(*ChargeState_ChargeLimitSoc); ok {
		return x.ChargeLimitSoc
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeLimitSocStd() isChargeState_OptionalChargeLimitSocStd {
	if m != nil {
		return m.OptionalChargeLimitSocStd
	}
	return nil
}

func (x *ChargeState) GetChargeLimitSocStd() int32 {
	if x, ok := x.GetOptionalChargeLimitSocStd().(*ChargeState_ChargeLimitSocStd); ok {
		return x.ChargeLimitSocStd
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeLimitSocMin() isChargeState_OptionalChargeLimitSocMin {
	if m != nil {
		return m.OptionalChargeLimitSocMin
	}
	return nil
}

func (x *ChargeState) GetChargeLimitSocMin() int32 {
	if x, ok := x.GetOptionalChargeLimitSocMin().(*ChargeState_ChargeLimitSocMin); ok {
		return x.ChargeLimitSocMin
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeLimitSocMax() isChargeState_OptionalChargeLimitSocMax {
	if m != nil {
		return m.OptionalChargeLimitSocMax
	}
	return nil
}

func (x *ChargeState) GetChargeLimitSocMax() int32 {
	if x, ok := x.GetOptionalChargeLimitSocMax().(*ChargeState_ChargeLimitSocMax); ok {
		return x.ChargeLimitSocMax
	}
	return 0
}

func (m *ChargeState) GetOptionalMaxRangeChargeCounter() isChargeState_OptionalMaxRangeChargeCounter {
	if m != nil {
		return m.OptionalMaxRangeChargeCounter
	}
	return nil
}

func (x *ChargeState) GetMaxRangeChargeCounter() int32 {
	if x, ok := x.GetOptionalMaxRangeChargeCounter().(*ChargeState_MaxRangeChargeCounter); ok {
		return x.MaxRangeChargeCounter
	}
	return 0
}

func (m *ChargeState) GetOptionalFastChargerPresent() isChargeState_OptionalFastChargerPresent {
	if m != nil {
		return m.OptionalFastChargerPresent
	}
	return nil
}

func (x *ChargeState) GetFastChargerPresent() bool {
	if x, ok := x.GetOptionalFastChargerPresent().(*ChargeState_FastChargerPresent); ok {
		return x.FastChargerPresent
	}
	return false
}

func (m *ChargeState) GetOptionalBatteryRange() isChargeState_OptionalBatteryRange {
	if m != nil {
		return m.OptionalBatteryRange
	}
	return nil
}

func (x *ChargeState) GetBatteryRange() float32 {
	if x, ok := x.GetOptionalBatteryRange().(*ChargeState_BatteryRange); ok {
		return x.BatteryRange
	}
	return 0
}

func (m *ChargeState) GetOptionalEstBatteryRange() isChargeState_OptionalEstBatteryRange {
	if m != nil {
		return m.OptionalEstBatteryRange
	}
	return nil
}

func (x *ChargeState) GetEstBatteryRange() float32 {
	if x, ok := x.GetOptionalEstBatteryRange().(*ChargeState_EstBatteryRange); ok {
		return x.EstBatteryRange
	}
	return 0
}

func (m *ChargeState) GetOptionalIdealBatteryRange() isChargeState_OptionalIdealBatteryRange {
	if m != nil {
		return m.OptionalIdealBatteryRange
	}
	return nil
}

func (x *ChargeState) GetIdealBatteryRange() float32 {
	if x, ok := x.GetOptionalIdealBatteryRange().(*ChargeState_IdealBatteryRange); ok {
		return x.IdealBatteryRange
	}
	return 0
}

func (m *ChargeState) GetOptionalBatteryLevel() isChargeState_OptionalBatteryLevel {
	if m != nil {
		return m.OptionalBatteryLevel
	}
	return nil
}

func (x *ChargeState) GetBatteryLevel() int32 {
	if x, ok := x.GetOptionalBatteryLevel().(*ChargeState_BatteryLevel); ok {
		return x.BatteryLevel
	}
	return 0
}

func (m *ChargeState) GetOptionalUsableBatteryLevel() isChargeState_OptionalUsableBatteryLevel {
	if m != nil {
		return m.OptionalUsableBatteryLevel
	}
	return nil
}

func (x *ChargeState) GetUsableBatteryLevel() int32 {
	if x, ok := x.GetOptionalUsableBatteryLevel().(*ChargeState_UsableBatteryLevel); ok {
		return x.UsableBatteryLevel
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeEnergyAdded() isChargeState_OptionalChargeEnergyAdded {
	if m != nil {
		return m.OptionalChargeEnergyAdded
	}
	return nil
}

func (x *ChargeState) GetChargeEnergyAdded() float32 {
	if x, ok := x.GetOptionalChargeEnergyAdded().(*ChargeState_ChargeEnergyAdded); ok {
		return x.ChargeEnergyAdded
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeMilesAddedRated() isChargeState_OptionalChargeMilesAddedRated {
	if m != nil {
		return m.OptionalChargeMilesAddedRated
	}
	return nil
}

func (x *ChargeState) GetChargeMilesAddedRated() float32 {
	if x, ok := x.GetOptionalChargeMilesAddedRated().(*ChargeState_ChargeMilesAddedRated); ok {
		return x.ChargeMilesAddedRated
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeMilesAddedIdeal() isChargeState_OptionalChargeMilesAddedIdeal {
	if m != nil {
		return m.OptionalChargeMilesAddedIdeal
	}
	return nil
}

func (x *ChargeState) GetChargeMilesAddedIdeal() float32 {
	if x, ok := x.GetOptionalChargeMilesAddedIdeal().(*ChargeState_ChargeMilesAddedIdeal); ok {
		return x.ChargeMilesAddedIdeal
	}
	return 0
}

func (m *ChargeState) GetOptionalChargerVoltage() isChargeState_OptionalChargerVoltage {
	if m != nil {
		return m.OptionalChargerVoltage
	}
	return nil
}

func (x *ChargeState) GetChargerVoltage() int32 {
	if x, ok := x.GetOptionalChargerVoltage().(*ChargeState_ChargerVoltage); ok {
		return x.ChargerVoltage
	}
	return 0
}

func (m *ChargeState) GetOptionalChargerPilotCurrent() isChargeState_OptionalChargerPilotCurrent {
	if m != nil {
		return m.OptionalChargerPilotCurrent
	}
	return nil
}

func (x *ChargeState) GetChargerPilotCurrent() int32 {
	if x, ok := x.GetOptionalChargerPilotCurrent().(*ChargeState_ChargerPilotCurrent); ok {
		return x.ChargerPilotCurrent
	}
	return 0
}

func (m *ChargeState) GetOptionalChargerActualCurrent() isChargeState_OptionalChargerActualCurrent {
	if m != nil {
		return m.OptionalChargerActualCurrent
	}
	return nil
}

func (x *ChargeState) GetChargerActualCurrent() int32 {
	if x, ok := x.GetOptionalChargerActualCurrent().(*ChargeState_ChargerActualCurrent); ok {
		return x.ChargerActualCurrent
	}
	return 0
}

func (m *ChargeState) GetOptionalChargerPower() isChargeState_OptionalChargerPower {
	if m != nil {
		return m.OptionalChargerPower
	}
	return nil
}

func (x *ChargeState) GetChargerPower() int32 {
	if x, ok := x.GetOptionalChargerPower().(*ChargeState_ChargerPower); ok {
		return x.ChargerPower
	}
	return 0
}

func (m *ChargeState) GetOptionalMinutesToFullCharge() isChargeState_OptionalMinutesToFullCharge {
	if m != nil {
		return m.OptionalMinutesToFullCharge
	}
	return nil
}

func (x *ChargeState) GetMinutesToFullCharge() int32 {
	if x, ok := x.GetOptionalMinutesToFullCharge().(*ChargeState_MinutesToFullCharge); ok {
		return x.MinutesToFullCharge
	}
	return 0
}

func (m *ChargeState) GetOptionalMinutesToChargeLimit() isChargeState_OptionalMinutesToChargeLimit {
	if m != nil {
		return m.OptionalMinutesToChargeLimit
	}
	return nil
}

func (x *ChargeState) GetMinutesToChargeLimit() int32 {
	if x, ok := x.GetOptionalMinutesToChargeLimit().(*ChargeState_MinutesToChargeLimit); ok {
		return x.MinutesToChargeLimit
	}
	return 0
}

func (m *ChargeState) GetOptionalTripCharging() isChargeState_OptionalTripCharging {
	if m != nil {
		return m.OptionalTripCharging
	}
	return nil
}

func (x *ChargeState) GetTripCharging() bool {
	if x, ok := x.GetOptionalTripCharging().(*ChargeState_TripCharging); ok {
		return x.TripCharging
	}
	return false
}

func (m *ChargeState) GetOptionalChargeRateMph() isChargeState_OptionalChargeRateMph {
	if m != nil {
		return m.OptionalChargeRateMph
	}
	return nil
}

func (x *ChargeState) GetChargeRateMph() int32 {
	if x, ok := x.GetOptionalChargeRateMph().(*ChargeState_ChargeRateMph); ok {
		return x.ChargeRateMph
	}
	return 0
}

func (m *ChargeState) GetOptionalChargePortDoorOpen() isChargeState_OptionalChargePortDoorOpen {
	if m != nil {
		return m.OptionalChargePortDoorOpen
	}
	return nil
}

func (x *ChargeState) GetChargePortDoorOpen() bool {
	if x, ok := x.GetOptionalChargePortDoorOpen().(*ChargeState_ChargePortDoorOpen); ok {
		return x.ChargePortDoorOpen
	}
	return false
}

func (x *ChargeState) GetConnChargeCable() *ChargeState_CableType {
	if x != nil {
		return x.ConnChargeCable
	}
	return nil
}

func (m *ChargeState) GetOptionalScheduledChargingStartTime() isChargeState_OptionalScheduledChargingStartTime {
	if m != nil {
		return m.OptionalScheduledChargingStartTime
	}
	return nil
}

func (x *ChargeState) GetScheduledChargingStartTime() uint64 {
	if x, ok := x.GetOptionalScheduledChargingStartTime().(*ChargeState_ScheduledChargingStartTime); ok {
		return x.ScheduledChargingStartTime
	}
	return 0
}

func (m *ChargeState) GetOptionalScheduledChargingPending() isChargeState_OptionalScheduledChargingPending {
	if m != nil {
		return m.OptionalScheduledChargingPending
	}
	return nil
}

func (x *ChargeState) GetScheduledChargingPending() bool {
	if x, ok := x.GetOptionalScheduledChargingPending().(*ChargeState_ScheduledChargingPending); ok {
		return x.ScheduledChargingPending
	}
	return false
}

func (x *ChargeState) GetScheduledDepartureTime() *timestamppb.Timestamp {
	if x != nil {
		return x.ScheduledDepartureTime
	}
	return nil
}

func (m *ChargeState) GetOptionalUserChargeEnableRequest() isChargeState_OptionalUserChargeEnableRequest {
	if m != nil {
		return m.OptionalUserChargeEnableRequest
	}
	return nil
}

func (x *ChargeState) GetUserChargeEnableRequest() bool {
	if x, ok := x.GetOptionalUserChargeEnableRequest().(*ChargeState_UserChargeEnableRequest); ok {
		return x.UserChargeEnableRequest
	}
	return false
}

func (m *ChargeState) GetOptionalChargeEnableRequest() isChargeState_OptionalChargeEnableRequest {
	if m != nil {
		return m.OptionalChargeEnableRequest
	}
	return nil
}

func (x *ChargeState) GetChargeEnableRequest() bool {
	if x, ok := x.GetOptionalChargeEnableRequest().(*ChargeState_ChargeEnableRequest); ok {
		return x.ChargeEnableRequest
	}
	return false
}

func (m *ChargeState) GetOptionalChargerPhases() isChargeState_OptionalChargerPhases {
	if m != nil {
		return m.OptionalChargerPhases
	}
	return nil
}

func (x *ChargeState) GetChargerPhases() int32 {
	if x, ok := x.GetOptionalChargerPhases().(*ChargeState_ChargerPhases); ok {
		return x.ChargerPhases
	}
	return 0
}

func (x *ChargeState) GetChargePortLatch() *ChargePortLatchState {
	if x != nil {
		return x.ChargePortLatch
	}
	return nil
}

func (m *ChargeState) GetOptionalChargePortColdWeatherMode() isChargeState_OptionalChargePortColdWeatherMode {
	if m != nil {
		return m.OptionalChargePortColdWeatherMode
	}
	return nil
}

func (x *ChargeState) GetChargePortColdWeatherMode() bool {
	if x, ok := x.GetOptionalChargePortColdWeatherMode().(*ChargeState_ChargePortColdWeatherMode); ok {
		return x.ChargePortColdWeatherMode
	}
	return false
}

func (m *ChargeState) GetOptionalChargeCurrentRequest() isChargeState_OptionalChargeCurrentRequest {
	if m != nil {
		return m.OptionalChargeCurrentRequest
	}
	return nil
}

func (x *ChargeState) GetChargeCurrentRequest() int32 {
	if x, ok := x.GetOptionalChargeCurrentRequest().(*ChargeState_ChargeCurrentRequest); ok {
		return x.ChargeCurrentRequest
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeCurrentRequestMax() isChargeState_OptionalChargeCurrentRequestMax {
	if m != nil {
		return m.OptionalChargeCurrentRequestMax
	}
	return nil
}

func (x *ChargeState) GetChargeCurrentRequestMax() int32 {
	if x, ok := x.GetOptionalChargeCurrentRequestMax().(*ChargeState_ChargeCurrentRequestMax); ok {
		return x.ChargeCurrentRequestMax
	}
	return 0
}

func (m *ChargeState) GetOptionalManagedChargingActive() isChargeState_OptionalManagedChargingActive {
	if m != nil {
		return m.OptionalManagedChargingActive
	}
	return nil
}

func (x *ChargeState) GetManagedChargingActive() bool {
	if x, ok := x.GetOptionalManagedChargingActive().(*ChargeState_ManagedChargingActive); ok {
		return x.ManagedChargingActive
	}
	return false
}

func (m *ChargeState) GetOptionalManagedChargingUserCanceled() isChargeState_OptionalManagedChargingUserCanceled {
	if m != nil {
		return m.OptionalManagedChargingUserCanceled
	}
	return nil
}

func (x *ChargeState) GetManagedChargingUserCanceled() bool {
	if x, ok := x.GetOptionalManagedChargingUserCanceled().(*ChargeState_ManagedChargingUserCanceled); ok {
		return x.ManagedChargingUserCanceled
	}
	return false
}

func (m *ChargeState) GetOptionalManagedChargingStartTime() isChargeState_OptionalManagedChargingStartTime {
	if m != nil {
		return m.OptionalManagedChargingStartTime
	}
	return nil
}

func (x *ChargeState) GetManagedChargingStartTime() uint64 {
	if x, ok := x.GetOptionalManagedChargingStartTime().(*ChargeState_ManagedChargingStartTime); ok {
		return x.ManagedChargingStartTime
	}
	return 0
}

func (x *ChargeState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (x *ChargeState) GetPreconditioningTimes() *PreconditioningTimes {
	if x != nil {
		return x.PreconditioningTimes
	}
	return nil
}

func (x *ChargeState) GetOffPeakChargingTimes() *OffPeakChargingTimes {
	if x != nil {
		return x.OffPeakChargingTimes
	}
	return nil
}

func (m *ChargeState) GetOptionalOffPeakHoursEndTime() isChargeState_OptionalOffPeakHoursEndTime {
	if m != nil {
		return m.OptionalOffPeakHoursEndTime
	}
	return nil
}

func (x *ChargeState) GetOffPeakHoursEndTime() uint32 {
	if x, ok := x.GetOptionalOffPeakHoursEndTime().(*ChargeState_OffPeakHoursEndTime); ok {
		return x.OffPeakHoursEndTime
	}
	return 0
}

func (m *ChargeState) GetOptionalScheduledChargingMode() isChargeState_OptionalScheduledChargingMode {
	if m != nil {
		return m.OptionalScheduledChargingMode
	}
	return nil
}

func (x *ChargeState) GetScheduledChargingMode() ChargeState_ScheduledChargingMode {
	if x, ok := x.GetOptionalScheduledChargingMode().(*ChargeState_ScheduledChargingMode_); ok {
		return x.ScheduledChargingMode
	}
	return ChargeState_ScheduledChargingModeOff
}

func (m *ChargeState) GetOptionalChargingAmps() isChargeState_OptionalChargingAmps {
	if m != nil {
		return m.OptionalChargingAmps
	}
	return nil
}

func (x *ChargeState) GetChargingAmps() int32 {
	if x, ok := x.GetOptionalChargingAmps().(*ChargeState_ChargingAmps); ok {
		return x.ChargingAmps
	}
	return 0
}

func (m *ChargeState) GetOptionalScheduledChargingStartTimeMinutes() isChargeState_OptionalScheduledChargingStartTimeMinutes {
	if m != nil {
		return m.OptionalScheduledChargingStartTimeMinutes
	}
	return nil
}

func (x *ChargeState) GetScheduledChargingStartTimeMinutes() uint32 {
	if x, ok := x.GetOptionalScheduledChargingStartTimeMinutes().(*ChargeState_ScheduledChargingStartTimeMinutes); ok {
		return x.ScheduledChargingStartTimeMinutes
	}
	return 0
}

func (m *ChargeState) GetOptionalScheduledDepartureTimeMinutes() isChargeState_OptionalScheduledDepartureTimeMinutes {
	if m != nil {
		return m.OptionalScheduledDepartureTimeMinutes
	}
	return nil
}

func (x *ChargeState) GetScheduledDepartureTimeMinutes() uint32 {
	if x, ok := x.GetOptionalScheduledDepartureTimeMinutes().(*ChargeState_ScheduledDepartureTimeMinutes); ok {
		return x.ScheduledDepartureTimeMinutes
	}
	return 0
}

func (m *ChargeState) GetOptionalPreconditioningEnabled() isChargeState_OptionalPreconditioningEnabled {
	if m != nil {
		return m.OptionalPreconditioningEnabled
	}
	return nil
}

func (x *ChargeState) GetPreconditioningEnabled() bool {
	if x, ok := x.GetOptionalPreconditioningEnabled().(*ChargeState_PreconditioningEnabled); ok {
		return x.PreconditioningEnabled
	}
	return false
}

func (m *ChargeState) GetOptionalScheduledChargingStartTimeApp() isChargeState_OptionalScheduledChargingStartTimeApp {
	if m != nil {
		return m.OptionalScheduledChargingStartTimeApp
	}
	return nil
}

func (x *ChargeState) GetScheduledChargingStartTimeApp() int32 {
	if x, ok := x.GetOptionalScheduledChargingStartTimeApp().(*ChargeState_ScheduledChargingStartTimeApp); ok {
		return x.ScheduledChargingStartTimeApp
	}
	return 0
}

func (m *ChargeState) GetOptionalSuperchargerSessionTripPlanner() isChargeState_OptionalSuperchargerSessionTripPlanner {
	if m != nil {
		return m.OptionalSuperchargerSessionTripPlanner
	}
	return nil
}

func (x *ChargeState) GetSuperchargerSessionTripPlanner() bool {
	if x, ok := x.GetOptionalSuperchargerSessionTripPlanner().(*ChargeState_SuperchargerSessionTripPlanner); ok {
		return x.SuperchargerSessionTripPlanner
	}
	return false
}

func (m *ChargeState) GetOptionalChargePortColor() isChargeState_OptionalChargePortColor {
	if m != nil {
		return m.OptionalChargePortColor
	}
	return nil
}

func (x *ChargeState) GetChargePortColor() ChargeState_ChargePortColor_E {
	if x, ok := x.GetOptionalChargePortColor().(*ChargeState_ChargePortColor); ok {
		return x.ChargePortColor
	}
	return ChargeState_ChargePortColorOff
}

func (m *ChargeState) GetOptionalChargeRateMphFloat() isChargeState_OptionalChargeRateMphFloat {
	if m != nil {
		return m.OptionalChargeRateMphFloat
	}
	return nil
}

func (x *ChargeState) GetChargeRateMphFloat() float32 {
	if x, ok := x.GetOptionalChargeRateMphFloat().(*ChargeState_ChargeRateMphFloat); ok {
		return x.ChargeRateMphFloat
	}
	return 0
}

func (m *ChargeState) GetOptionalChargeLimitReason() isChargeState_OptionalChargeLimitReason {
	if m != nil {
		return m.OptionalChargeLimitReason
	}
	return nil
}

func (x *ChargeState) GetChargeLimitReason() ChargeState_ChargeLimitReason {
	if x, ok := x.GetOptionalChargeLimitReason().(*ChargeState_ChargeLimitReason_); ok {
		return x.ChargeLimitReason
	}
	return ChargeState_ChargeLimitReasonUnknown
}

func (x *ChargeState) GetManagedChargingState() *ManagedChargingState {
	if x != nil {
		return x.ManagedChargingState
	}
	return nil
}

func (m *ChargeState) GetOptionalChargeCableUnlatched() isChargeState_OptionalChargeCableUnlatched {
	if m != nil {
		return m.OptionalChargeCableUnlatched
	}
	return nil
}

func (x *ChargeState) GetChargeCableUnlatched() bool {
	if x, ok := x.GetOptionalChargeCableUnlatched().(*ChargeState_ChargeCableUnlatched); ok {
		return x.ChargeCableUnlatched
	}
	return false
}

func (m *ChargeState) GetOptionalOutletState() isChargeState_OptionalOutletState {
	if m != nil {
		return m.OptionalOutletState
	}
	return nil
}

func (x *ChargeState) GetOutletState() ChargeState_OutletState {
	if x, ok := x.GetOptionalOutletState().(*ChargeState_OutletState_); ok {
		return x.OutletState
	}
	return ChargeState_OutletStateOff
}

func (m *ChargeState) GetOptionalPowerFeedState() isChargeState_OptionalPowerFeedState {
	if m != nil {
		return m.OptionalPowerFeedState
	}
	return nil
}

func (x *ChargeState) GetPowerFeedState() ChargeState_PowerFeedState {
	if x, ok := x.GetOptionalPowerFeedState().(*ChargeState_PowerFeedState_); ok {
		return x.PowerFeedState
	}
	return ChargeState_PowerFeedStateOff
}

func (m *ChargeState) GetOptionOutletSocLimit() isChargeState_OptionOutletSocLimit {
	if m != nil {
		return m.OptionOutletSocLimit
	}
	return nil
}

func (x *ChargeState) GetOutletSocLimit() int32 {
	if x, ok := x.GetOptionOutletSocLimit().(*ChargeState_OutletSocLimit); ok {
		return x.OutletSocLimit
	}
	return 0
}

func (m *ChargeState) GetOptionPowerFeedSocLimit() isChargeState_OptionPowerFeedSocLimit {
	if m != nil {
		return m.OptionPowerFeedSocLimit
	}
	return nil
}

func (x *ChargeState) GetPowerFeedSocLimit() int32 {
	if x, ok := x.GetOptionPowerFeedSocLimit().(*ChargeState_PowerFeedSocLimit); ok {
		return x.PowerFeedSocLimit
	}
	return 0
}

func (m *ChargeState) GetOptionOutletTimeRemaining() isChargeState_OptionOutletTimeRemaining {
	if m != nil {
		return m.OptionOutletTimeRemaining
	}
	return nil
}

func (x *ChargeState) GetOutletTimeRemaining() int64 {
	if x, ok := x.GetOptionOutletTimeRemaining().(*ChargeState_OutletTimeRemaining); ok {
		return x.OutletTimeRemaining
	}
	return 0
}

func (m *ChargeState) GetOptionPowerFeedTimeRemaining() isChargeState_OptionPowerFeedTimeRemaining {
	if m != nil {
		return m.OptionPowerFeedTimeRemaining
	}
	return nil
}

func (x *ChargeState) GetPowerFeedTimeRemaining() int64 {
	if x, ok := x.GetOptionPowerFeedTimeRemaining().(*ChargeState_PowerFeedTimeRemaining); ok {
		return x.PowerFeedTimeRemaining
	}
	return 0
}

func (m *ChargeState) GetOptionalPowershareFeatureAllowed() isChargeState_OptionalPowershareFeatureAllowed {
	if m != nil {
		return m.OptionalPowershareFeatureAllowed
	}
	return nil
}

func (x *ChargeState) GetPowershareFeatureAllowed() bool {
	if x, ok := x.GetOptionalPowershareFeatureAllowed().(*ChargeState_PowershareFeatureAllowed); ok {
		return x.PowershareFeatureAllowed
	}
	return false
}

func (m *ChargeState) GetOptionalPowershareFeatureEnabled() isChargeState_OptionalPowershareFeatureEnabled {
	if m != nil {
		return m.OptionalPowershareFeatureEnabled
	}
	return nil
}

func (x *ChargeState) GetPowershareFeatureEnabled() bool {
	if x, ok := x.GetOptionalPowershareFeatureEnabled().(*ChargeState_PowershareFeatureEnabled); ok {
		return x.PowershareFeatureEnabled
	}
	return false
}

func (m *ChargeState) GetOptionalPowershareRequest() isChargeState_OptionalPowershareRequest {
	if m != nil {
		return m.OptionalPowershareRequest
	}
	return nil
}

func (x *ChargeState) GetPowershareRequest() bool {
	if x, ok := x.GetOptionalPowershareRequest().(*ChargeState_PowershareRequest); ok {
		return x.PowershareRequest
	}
	return false
}

func (m *ChargeState) GetOptionalPowershareType() isChargeState_OptionalPowershareType {
	if m != nil {
		return m.OptionalPowershareType
	}
	return nil
}

func (x *ChargeState) GetPowershareType() ChargeState_PowershareType {
	if x, ok := x.GetOptionalPowershareType().(*ChargeState_PowershareType_); ok {
		return x.PowershareType
	}
	return ChargeState_PowershareTypeNone
}

func (m *ChargeState) GetOptionalPowershareStatus() isChargeState_OptionalPowershareStatus {
	if m != nil {
		return m.OptionalPowershareStatus
	}
	return nil
}

func (x *ChargeState) GetPowershareStatus() ChargeState_PowershareStatus {
	if x, ok := x.GetOptionalPowershareStatus().(*ChargeState_PowershareStatus_); ok {
		return x.PowershareStatus
	}
	return ChargeState_PowershareStatusInactive
}

func (m *ChargeState) GetOptionalPowershareStopReason() isChargeState_OptionalPowershareStopReason {
	if m != nil {
		return m.OptionalPowershareStopReason
	}
	return nil
}

func (x *ChargeState) GetPowershareStopReason() ChargeState_PowershareStopReason {
	if x, ok := x.GetOptionalPowershareStopReason().(*ChargeState_PowershareStopReason_); ok {
		return x.PowershareStopReason
	}
	return ChargeState_PowershareStopReasonNone
}

func (m *ChargeState) GetOptionalPowershareInstantaneousLoadKw() isChargeState_OptionalPowershareInstantaneousLoadKw {
	if m != nil {
		return m.OptionalPowershareInstantaneousLoadKw
	}
	return nil
}

func (x *ChargeState) GetPowershareInstantaneousLoadKw() float32 {
	if x, ok := x.GetOptionalPowershareInstantaneousLoadKw().(*ChargeState_PowershareInstantaneousLoadKw); ok {
		return x.PowershareInstantaneousLoadKw
	}
	return 0
}

func (m *ChargeState) GetOptionalPowershareVehicleEnergyLeftHr() isChargeState_OptionalPowershareVehicleEnergyLeftHr {
	if m != nil {
		return m.OptionalPowershareVehicleEnergyLeftHr
	}
	return nil
}

func (x *ChargeState) GetPowershareVehicleEnergyLeftHr() int32 {
	if x, ok := x.GetOptionalPowershareVehicleEnergyLeftHr().(*ChargeState_PowershareVehicleEnergyLeftHr); ok {
		return x.PowershareVehicleEnergyLeftHr
	}
	return 0
}

func (m *ChargeState) GetOptionalPowershareSocLimit() isChargeState_OptionalPowershareSocLimit {
	if m != nil {
		return m.OptionalPowershareSocLimit
	}
	return nil
}

func (x *ChargeState) GetPowershareSocLimit() int32 {
	if x, ok := x.GetOptionalPowershareSocLimit().(*ChargeState_PowershareSocLimit); ok {
		return x.PowershareSocLimit
	}
	return 0
}

func (m *ChargeState) GetOptionalOneTimeSocLimit() isChargeState_OptionalOneTimeSocLimit {
	if m != nil {
		return m.OptionalOneTimeSocLimit
	}
	return nil
}

func (x *ChargeState) GetOneTimeSocLimit() int32 {
	if x, ok := x.GetOptionalOneTimeSocLimit().(*ChargeState_OneTimeSocLimit); ok {
		return x.OneTimeSocLimit
	}
	return 0
}

func (m *ChargeState) GetOptionalHomeLocation() isChargeState_OptionalHomeLocation {
	if m != nil {
		return m.OptionalHomeLocation
	}
	return nil
}

func (x *ChargeState) GetHomeLocation() *LatLong {
	if x, ok := x.GetOptionalHomeLocation().(*ChargeState_HomeLocation); ok {
		return x.HomeLocation
	}
	return nil
}

func (m *ChargeState) GetOptionalWorkLocation() isChargeState_OptionalWorkLocation {
	if m != nil {
		return m.OptionalWorkLocation
	}
	return nil
}

func (x *ChargeState) GetWorkLocation() *LatLong {
	if x, ok := x.GetOptionalWorkLocation().(*ChargeState_WorkLocation); ok {
		return x.WorkLocation
	}
	return nil
}

func (m *ChargeState) GetOptionalOutletMaxTimerMinutes() isChargeState_OptionalOutletMaxTimerMinutes {
	if m != nil {
		return m.OptionalOutletMaxTimerMinutes
	}
	return nil
}

func (x *ChargeState) GetOutletMaxTimerMinutes() int32 {
	if x, ok := x.GetOptionalOutletMaxTimerMinutes().(*ChargeState_OutletMaxTimerMinutes); ok {
		return x.OutletMaxTimerMinutes
	}
	return 0
}

type isChargeState_OptionalChargeLimitSoc interface {
	isChargeState_OptionalChargeLimitSoc()
}

type ChargeState_ChargeLimitSoc struct {
	ChargeLimitSoc int32 `protobuf:"varint,104,opt,name=charge_limit_soc,json=chargeLimitSoc,proto3,oneof"`
}

func (*ChargeState_ChargeLimitSoc) isChargeState_OptionalChargeLimitSoc() {}

type isChargeState_OptionalChargeLimitSocStd interface {
	isChargeState_OptionalChargeLimitSocStd()
}

type ChargeState_ChargeLimitSocStd struct {
	ChargeLimitSocStd int32 `protobuf:"varint,105,opt,name=charge_limit_soc_std,json=chargeLimitSocStd,proto3,oneof"`
}

func (*ChargeState_ChargeLimitSocStd) isChargeState_OptionalChargeLimitSocStd() {}

type isChargeState_OptionalChargeLimitSocMin interface {
	isChargeState_OptionalChargeLimitSocMin()
}

type ChargeState_ChargeLimitSocMin struct {
	ChargeLimitSocMin int32 `protobuf:"varint,106,opt,name=charge_limit_soc_min,json=chargeLimitSocMin,proto3,oneof"`
}

func (*ChargeState_ChargeLimitSocMin) isChargeState_OptionalChargeLimitSocMin() {}

type isChargeState_OptionalChargeLimitSocMax interface {
	isChargeState_OptionalChargeLimitSocMax()
}

type ChargeState_ChargeLimitSocMax struct {
	ChargeLimitSocMax int32 `protobuf:"varint,107,opt,name=charge_limit_soc_max,json=chargeLimitSocMax,proto3,oneof"`
}

func (*ChargeState_ChargeLimitSocMax) isChargeState_OptionalChargeLimitSocMax() {}

type isChargeState_OptionalMaxRangeChargeCounter interface {
	isChargeState_OptionalMaxRangeChargeCounter()
}

type ChargeState_MaxRangeChargeCounter struct {
	MaxRangeChargeCounter int32 `protobuf:"varint,109,opt,name=max_range_charge_counter,json=maxRangeChargeCounter,proto3,oneof"`
}

func (*ChargeState_MaxRangeChargeCounter) isChargeState_OptionalMaxRangeChargeCounter() {}

type isChargeState_OptionalFastChargerPresent interface {
	isChargeState_OptionalFastChargerPresent()
}

type ChargeState_FastChargerPresent struct {
	FastChargerPresent bool `protobuf:"varint,110,opt,name=fast_charger_present,json=fastChargerPresent,proto3,oneof"`
}

func (*ChargeState_FastChargerPresent) isChargeState_OptionalFastChargerPresent() {}

type isChargeState_OptionalBatteryRange interface {
	isChargeState_OptionalBatteryRange()
}

type ChargeState_BatteryRange struct {
	BatteryRange float32 `protobuf:"fixed32,111,opt,name=battery_range,json=batteryRange,proto3,oneof"`
}

func (*ChargeState_BatteryRange) isChargeState_OptionalBatteryRange() {}

type isChargeState_OptionalEstBatteryRange interface {
	isChargeState_OptionalEstBatteryRange()
}

type ChargeState_EstBatteryRange struct {
	EstBatteryRange float32 `protobuf:"fixed32,112,opt,name=est_battery_range,json=estBatteryRange,proto3,oneof"`
}

func (*ChargeState_EstBatteryRange) isChargeState_OptionalEstBatteryRange() {}

type isChargeState_OptionalIdealBatteryRange interface {
	isChargeState_OptionalIdealBatteryRange()
}

type ChargeState_IdealBatteryRange struct {
	IdealBatteryRange float32 `protobuf:"fixed32,113,opt,name=ideal_battery_range,json=idealBatteryRange,proto3,oneof"`
}

func (*ChargeState_IdealBatteryRange) isChargeState_OptionalIdealBatteryRange() {}

type isChargeState_OptionalBatteryLevel interface {
	isChargeState_OptionalBatteryLevel()
}

type ChargeState_BatteryLevel struct {
	BatteryLevel int32 `protobuf:"varint,114,opt,name=battery_level,json=batteryLevel,proto3,oneof"`
}

func (*ChargeState_BatteryLevel) isChargeState_OptionalBatteryLevel() {}

type isChargeState_OptionalUsableBatteryLevel interface {
	isChargeState_OptionalUsableBatteryLevel()
}

type ChargeState_UsableBatteryLevel struct {
	UsableBatteryLevel int32 `protobuf:"varint,115,opt,name=usable_battery_level,json=usableBatteryLevel,proto3,oneof"`
}

func (*ChargeState_UsableBatteryLevel) isChargeState_OptionalUsableBatteryLevel() {}

type isChargeState_OptionalChargeEnergyAdded interface {
	isChargeState_OptionalChargeEnergyAdded()
}

type ChargeState_ChargeEnergyAdded struct {
	ChargeEnergyAdded float32 `protobuf:"fixed32,116,opt,name=charge_energy_added,json=chargeEnergyAdded,proto3,oneof"`
}

func (*ChargeState_ChargeEnergyAdded) isChargeState_OptionalChargeEnergyAdded() {}

type isChargeState_OptionalChargeMilesAddedRated interface {
	isChargeState_OptionalChargeMilesAddedRated()
}

type ChargeState_ChargeMilesAddedRated struct {
	ChargeMilesAddedRated float32 `protobuf:"fixed32,117,opt,name=charge_miles_added_rated,json=chargeMilesAddedRated,proto3,oneof"`
}

func (*ChargeState_ChargeMilesAddedRated) isChargeState_OptionalChargeMilesAddedRated() {}

type isChargeState_OptionalChargeMilesAddedIdeal interface {
	isChargeState_OptionalChargeMilesAddedIdeal()
}

type ChargeState_ChargeMilesAddedIdeal struct {
	ChargeMilesAddedIdeal float32 `protobuf:"fixed32,118,opt,name=charge_miles_added_ideal,json=chargeMilesAddedIdeal,proto3,oneof"`
}

func (*ChargeState_ChargeMilesAddedIdeal) isChargeState_OptionalChargeMilesAddedIdeal() {}

type isChargeState_OptionalChargerVoltage interface {
	isChargeState_OptionalChargerVoltage()
}

type ChargeState_ChargerVoltage struct {
	ChargerVoltage int32 `protobuf:"varint,119,opt,name=charger_voltage,json=chargerVoltage,proto3,oneof"`
}

func (*ChargeState_ChargerVoltage) isChargeState_OptionalChargerVoltage() {}

type isChargeState_OptionalChargerPilotCurrent interface {
	isChargeState_OptionalChargerPilotCurrent()
}

type ChargeState_ChargerPilotCurrent struct {
	ChargerPilotCurrent int32 `protobuf:"varint,120,opt,name=charger_pilot_current,json=chargerPilotCurrent,proto3,oneof"`
}

func (*ChargeState_ChargerPilotCurrent) isChargeState_OptionalChargerPilotCurrent() {}

type isChargeState_OptionalChargerActualCurrent interface {
	isChargeState_OptionalChargerActualCurrent()
}

type ChargeState_ChargerActualCurrent struct {
	ChargerActualCurrent int32 `protobuf:"varint,121,opt,name=charger_actual_current,json=chargerActualCurrent,proto3,oneof"`
}

func (*ChargeState_ChargerActualCurrent) isChargeState_OptionalChargerActualCurrent() {}

type isChargeState_OptionalChargerPower interface {
	isChargeState_OptionalChargerPower()
}

type ChargeState_ChargerPower struct {
	ChargerPower int32 `protobuf:"varint,122,opt,name=charger_power,json=chargerPower,proto3,oneof"`
}

func (*ChargeState_ChargerPower) isChargeState_OptionalChargerPower() {}

type isChargeState_OptionalMinutesToFullCharge interface {
	isChargeState_OptionalMinutesToFullCharge()
}

type ChargeState_MinutesToFullCharge struct {
	MinutesToFullCharge int32 `protobuf:"varint,123,opt,name=minutes_to_full_charge,json=minutesToFullCharge,proto3,oneof"`
}

func (*ChargeState_MinutesToFullCharge) isChargeState_OptionalMinutesToFullCharge() {}

type isChargeState_OptionalMinutesToChargeLimit interface {
	isChargeState_OptionalMinutesToChargeLimit()
}

type ChargeState_MinutesToChargeLimit struct {
	MinutesToChargeLimit int32 `protobuf:"varint,142,opt,name=minutes_to_charge_limit,json=minutesToChargeLimit,proto3,oneof"`
}

func (*ChargeState_MinutesToChargeLimit) isChargeState_OptionalMinutesToChargeLimit() {}

type isChargeState_OptionalTripCharging interface {
	isChargeState_OptionalTripCharging()
}

type ChargeState_TripCharging struct {
	TripCharging bool `protobuf:"varint,125,opt,name=trip_charging,json=tripCharging,proto3,oneof"`
}

func (*ChargeState_TripCharging) isChargeState_OptionalTripCharging() {}

type isChargeState_OptionalChargeRateMph interface {
	isChargeState_OptionalChargeRateMph()
}

type ChargeState_ChargeRateMph struct {
	ChargeRateMph int32 `protobuf:"varint,126,opt,name=charge_rate_mph,json=chargeRateMph,proto3,oneof"`
}

func (*ChargeState_ChargeRateMph) isChargeState_OptionalChargeRateMph() {}

type isChargeState_OptionalChargePortDoorOpen interface {
	isChargeState_OptionalChargePortDoorOpen()
}

type ChargeState_ChargePortDoorOpen struct {
	ChargePortDoorOpen bool `protobuf:"varint,127,opt,name=charge_port_door_open,json=chargePortDoorOpen,proto3,oneof"`
}

func (*ChargeState_ChargePortDoorOpen) isChargeState_OptionalChargePortDoorOpen() {}

type isChargeState_OptionalScheduledChargingStartTime interface {
	isChargeState_OptionalScheduledChargingStartTime()
}

type ChargeState_ScheduledChargingStartTime struct {
	ScheduledChargingStartTime uint64 `protobuf:"varint,129,opt,name=scheduled_charging_start_time,json=scheduledChargingStartTime,proto3,oneof"`
}

func (*ChargeState_ScheduledChargingStartTime) isChargeState_OptionalScheduledChargingStartTime() {}

type isChargeState_OptionalScheduledChargingPending interface {
	isChargeState_OptionalScheduledChargingPending()
}

type ChargeState_ScheduledChargingPending struct {
	ScheduledChargingPending bool `protobuf:"varint,130,opt,name=scheduled_charging_pending,json=scheduledChargingPending,proto3,oneof"`
}

func (*ChargeState_ScheduledChargingPending) isChargeState_OptionalScheduledChargingPending() {}

type isChargeState_OptionalUserChargeEnableRequest interface {
	isChargeState_OptionalUserChargeEnableRequest()
}

type ChargeState_UserChargeEnableRequest struct {
	UserChargeEnableRequest bool `protobuf:"varint,132,opt,name=user_charge_enable_request,json=userChargeEnableRequest,proto3,oneof"`
}

func (*ChargeState_UserChargeEnableRequest) isChargeState_OptionalUserChargeEnableRequest() {}

type isChargeState_OptionalChargeEnableRequest interface {
	isChargeState_OptionalChargeEnableRequest()
}

type ChargeState_ChargeEnableRequest struct {
	ChargeEnableRequest bool `protobuf:"varint,133,opt,name=charge_enable_request,json=chargeEnableRequest,proto3,oneof"`
}

func (*ChargeState_ChargeEnableRequest) isChargeState_OptionalChargeEnableRequest() {}

type isChargeState_OptionalChargerPhases interface {
	isChargeState_OptionalChargerPhases()
}

type ChargeState_ChargerPhases struct {
	ChargerPhases int32 `protobuf:"varint,134,opt,name=charger_phases,json=chargerPhases,proto3,oneof"`
}

func (*ChargeState_ChargerPhases) isChargeState_OptionalChargerPhases() {}

type isChargeState_OptionalChargePortColdWeatherMode interface {
	isChargeState_OptionalChargePortColdWeatherMode()
}

type ChargeState_ChargePortColdWeatherMode struct {
	ChargePortColdWeatherMode bool `protobuf:"varint,136,opt,name=charge_port_cold_weather_mode,json=chargePortColdWeatherMode,proto3,oneof"`
}

func (*ChargeState_ChargePortColdWeatherMode) isChargeState_OptionalChargePortColdWeatherMode() {}

type isChargeState_OptionalChargeCurrentRequest interface {
	isChargeState_OptionalChargeCurrentRequest()
}

type ChargeState_ChargeCurrentRequest struct {
	ChargeCurrentRequest int32 `protobuf:"varint,137,opt,name=charge_current_request,json=chargeCurrentRequest,proto3,oneof"`
}

func (*ChargeState_ChargeCurrentRequest) isChargeState_OptionalChargeCurrentRequest() {}

type isChargeState_OptionalChargeCurrentRequestMax interface {
	isChargeState_OptionalChargeCurrentRequestMax()
}

type ChargeState_ChargeCurrentRequestMax struct {
	ChargeCurrentRequestMax int32 `protobuf:"varint,138,opt,name=charge_current_request_max,json=chargeCurrentRequestMax,proto3,oneof"`
}

func (*ChargeState_ChargeCurrentRequestMax) isChargeState_OptionalChargeCurrentRequestMax() {}

type isChargeState_OptionalManagedChargingActive interface {
	isChargeState_OptionalManagedChargingActive()
}

type ChargeState_ManagedChargingActive struct {
	ManagedChargingActive bool `protobuf:"varint,139,opt,name=managed_charging_active,json=managedChargingActive,proto3,oneof"`
}

func (*ChargeState_ManagedChargingActive) isChargeState_OptionalManagedChargingActive() {}

type isChargeState_OptionalManagedChargingUserCanceled interface {
	isChargeState_OptionalManagedChargingUserCanceled()
}

type ChargeState_ManagedChargingUserCanceled struct {
	ManagedChargingUserCanceled bool `protobuf:"varint,140,opt,name=managed_charging_user_canceled,json=managedChargingUserCanceled,proto3,oneof"`
}

func (*ChargeState_ManagedChargingUserCanceled) isChargeState_OptionalManagedChargingUserCanceled() {}

type isChargeState_OptionalManagedChargingStartTime interface {
	isChargeState_OptionalManagedChargingStartTime()
}

type ChargeState_ManagedChargingStartTime struct {
	ManagedChargingStartTime uint64 `protobuf:"varint,141,opt,name=managed_charging_start_time,json=managedChargingStartTime,proto3,oneof"`
}

func (*ChargeState_ManagedChargingStartTime) isChargeState_OptionalManagedChargingStartTime() {}

type isChargeState_OptionalOffPeakHoursEndTime interface {
	isChargeState_OptionalOffPeakHoursEndTime()
}

type ChargeState_OffPeakHoursEndTime struct {
	OffPeakHoursEndTime uint32 `protobuf:"varint,147,opt,name=off_peak_hours_end_time,json=offPeakHoursEndTime,proto3,oneof"`
}

func (*ChargeState_OffPeakHoursEndTime) isChargeState_OptionalOffPeakHoursEndTime() {}

type isChargeState_OptionalScheduledChargingMode interface {
	isChargeState_OptionalScheduledChargingMode()
}

type ChargeState_ScheduledChargingMode_ struct {
	ScheduledChargingMode ChargeState_ScheduledChargingMode `protobuf:"varint,148,opt,name=scheduled_charging_mode,json=scheduledChargingMode,proto3,enum=CarServer.ChargeState_ScheduledChargingMode,oneof"`
}

func (*ChargeState_ScheduledChargingMode_) isChargeState_OptionalScheduledChargingMode() {}

type isChargeState_OptionalChargingAmps interface {
	isChargeState_OptionalChargingAmps()
}

type ChargeState_ChargingAmps struct {
	ChargingAmps int32 `protobuf:"varint,149,opt,name=charging_amps,json=chargingAmps,proto3,oneof"`
}

func (*ChargeState_ChargingAmps) isChargeState_OptionalChargingAmps() {}

type isChargeState_OptionalScheduledChargingStartTimeMinutes interface {
	isChargeState_OptionalScheduledChargingStartTimeMinutes()
}

type ChargeState_ScheduledChargingStartTimeMinutes struct {
	ScheduledChargingStartTimeMinutes uint32 `protobuf:"varint,150,opt,name=scheduled_charging_start_time_minutes,json=scheduledChargingStartTimeMinutes,proto3,oneof"`
}

func (*ChargeState_ScheduledChargingStartTimeMinutes) isChargeState_OptionalScheduledChargingStartTimeMinutes() {
}

type isChargeState_OptionalScheduledDepartureTimeMinutes interface {
	isChargeState_OptionalScheduledDepartureTimeMinutes()
}

type ChargeState_ScheduledDepartureTimeMinutes struct {
	ScheduledDepartureTimeMinutes uint32 `protobuf:"varint,151,opt,name=scheduled_departure_time_minutes,json=scheduledDepartureTimeMinutes,proto3,oneof"`
}

func (*ChargeState_ScheduledDepartureTimeMinutes) isChargeState_OptionalScheduledDepartureTimeMinutes() {
}

type isChargeState_OptionalPreconditioningEnabled interface {
	isChargeState_OptionalPreconditioningEnabled()
}

type ChargeState_PreconditioningEnabled struct {
	PreconditioningEnabled bool `protobuf:"varint,152,opt,name=preconditioning_enabled,json=preconditioningEnabled,proto3,oneof"`
}

func (*ChargeState_PreconditioningEnabled) isChargeState_OptionalPreconditioningEnabled() {}

type isChargeState_OptionalScheduledChargingStartTimeApp interface {
	isChargeState_OptionalScheduledChargingStartTimeApp()
}

type ChargeState_ScheduledChargingStartTimeApp struct {
	ScheduledChargingStartTimeApp int32 `protobuf:"zigzag32,153,opt,name=scheduled_charging_start_time_app,json=scheduledChargingStartTimeApp,proto3,oneof"`
}

func (*ChargeState_ScheduledChargingStartTimeApp) isChargeState_OptionalScheduledChargingStartTimeApp() {
}

type isChargeState_OptionalSuperchargerSessionTripPlanner interface {
	isChargeState_OptionalSuperchargerSessionTripPlanner()
}

type ChargeState_SuperchargerSessionTripPlanner struct {
	SuperchargerSessionTripPlanner bool `protobuf:"varint,154,opt,name=supercharger_session_trip_planner,json=superchargerSessionTripPlanner,proto3,oneof"`
}

func (*ChargeState_SuperchargerSessionTripPlanner) isChargeState_OptionalSuperchargerSessionTripPlanner() {
}

type isChargeState_OptionalChargePortColor interface {
	isChargeState_OptionalChargePortColor()
}

type ChargeState_ChargePortColor struct {
	ChargePortColor ChargeState_ChargePortColor_E `protobuf:"varint,155,opt,name=charge_port_color,json=chargePortColor,proto3,enum=CarServer.ChargeState_ChargePortColor_E,oneof"`
}

func (*ChargeState_ChargePortColor) isChargeState_OptionalChargePortColor() {}

type isChargeState_OptionalChargeRateMphFloat interface {
	isChargeState_OptionalChargeRateMphFloat()
}

type ChargeState_ChargeRateMphFloat struct {
	ChargeRateMphFloat float32 `protobuf:"fixed32,156,opt,name=charge_rate_mph_float,json=chargeRateMphFloat,proto3,oneof"`
}

func (*ChargeState_ChargeRateMphFloat) isChargeState_OptionalChargeRateMphFloat() {}

type isChargeState_OptionalChargeLimitReason interface {
	isChargeState_OptionalChargeLimitReason()
}

type ChargeState_ChargeLimitReason_ struct {
	ChargeLimitReason ChargeState_ChargeLimitReason `protobuf:"varint,157,opt,name=charge_limit_reason,json=chargeLimitReason,proto3,enum=CarServer.ChargeState_ChargeLimitReason,oneof"`
}

func (*ChargeState_ChargeLimitReason_) isChargeState_OptionalChargeLimitReason() {}

type isChargeState_OptionalChargeCableUnlatched interface {
	isChargeState_OptionalChargeCableUnlatched()
}

type ChargeState_ChargeCableUnlatched struct {
	ChargeCableUnlatched bool `protobuf:"varint,159,opt,name=charge_cable_unlatched,json=chargeCableUnlatched,proto3,oneof"`
}

func (*ChargeState_ChargeCableUnlatched) isChargeState_OptionalChargeCableUnlatched() {}

type isChargeState_OptionalOutletState interface {
	isChargeState_OptionalOutletState()
}

type ChargeState_OutletState_ struct {
	OutletState ChargeState_OutletState `protobuf:"varint,160,opt,name=outlet_state,json=outletState,proto3,enum=CarServer.ChargeState_OutletState,oneof"`
}

func (*ChargeState_OutletState_) isChargeState_OptionalOutletState() {}

type isChargeState_OptionalPowerFeedState interface {
	isChargeState_OptionalPowerFeedState()
}

type ChargeState_PowerFeedState_ struct {
	PowerFeedState ChargeState_PowerFeedState `protobuf:"varint,161,opt,name=power_feed_state,json=powerFeedState,proto3,enum=CarServer.ChargeState_PowerFeedState,oneof"`
}

func (*ChargeState_PowerFeedState_) isChargeState_OptionalPowerFeedState() {}

type isChargeState_OptionOutletSocLimit interface {
	isChargeState_OptionOutletSocLimit()
}

type ChargeState_OutletSocLimit struct {
	OutletSocLimit int32 `protobuf:"varint,162,opt,name=outlet_soc_limit,json=outletSocLimit,proto3,oneof"`
}

func (*ChargeState_OutletSocLimit) isChargeState_OptionOutletSocLimit() {}

type isChargeState_OptionPowerFeedSocLimit interface {
	isChargeState_OptionPowerFeedSocLimit()
}

type ChargeState_PowerFeedSocLimit struct {
	PowerFeedSocLimit int32 `protobuf:"varint,163,opt,name=power_feed_soc_limit,json=powerFeedSocLimit,proto3,oneof"`
}

func (*ChargeState_PowerFeedSocLimit) isChargeState_OptionPowerFeedSocLimit() {}

type isChargeState_OptionOutletTimeRemaining interface {
	isChargeState_OptionOutletTimeRemaining()
}

type ChargeState_OutletTimeRemaining struct {
	OutletTimeRemaining int64 `protobuf:"varint,164,opt,name=outlet_time_remaining,json=outletTimeRemaining,proto3,oneof"`
}

func (*ChargeState_OutletTimeRemaining) isChargeState_OptionOutletTimeRemaining() {}

type isChargeState_OptionPowerFeedTimeRemaining interface {
	isChargeState_OptionPowerFeedTimeRemaining()
}

type ChargeState_PowerFeedTimeRemaining struct {
	PowerFeedTimeRemaining int64 `protobuf:"varint,165,opt,name=power_feed_time_remaining,json=powerFeedTimeRemaining,proto3,oneof"`
}

func (*ChargeState_PowerFeedTimeRemaining) isChargeState_OptionPowerFeedTimeRemaining() {}

type isChargeState_OptionalPowershareFeatureAllowed interface {
	isChargeState_OptionalPowershareFeatureAllowed()
}

type ChargeState_PowershareFeatureAllowed struct {
	PowershareFeatureAllowed bool `protobuf:"varint,166,opt,name=powershare_feature_allowed,json=powershareFeatureAllowed,proto3,oneof"`
}

func (*ChargeState_PowershareFeatureAllowed) isChargeState_OptionalPowershareFeatureAllowed() {}

type isChargeState_OptionalPowershareFeatureEnabled interface {
	isChargeState_OptionalPowershareFeatureEnabled()
}

type ChargeState_PowershareFeatureEnabled struct {
	PowershareFeatureEnabled bool `protobuf:"varint,167,opt,name=powershare_feature_enabled,json=powershareFeatureEnabled,proto3,oneof"`
}

func (*ChargeState_PowershareFeatureEnabled) isChargeState_OptionalPowershareFeatureEnabled() {}

type isChargeState_OptionalPowershareRequest interface {
	isChargeState_OptionalPowershareRequest()
}

type ChargeState_PowershareRequest struct {
	PowershareRequest bool `protobuf:"varint,168,opt,name=powershare_request,json=powershareRequest,proto3,oneof"`
}

func (*ChargeState_PowershareRequest) isChargeState_OptionalPowershareRequest() {}

type isChargeState_OptionalPowershareType interface {
	isChargeState_OptionalPowershareType()
}

type ChargeState_PowershareType_ struct {
	PowershareType ChargeState_PowershareType `protobuf:"varint,169,opt,name=powershare_type,json=powershareType,proto3,enum=CarServer.ChargeState_PowershareType,oneof"`
}

func (*ChargeState_PowershareType_) isChargeState_OptionalPowershareType() {}

type isChargeState_OptionalPowershareStatus interface {
	isChargeState_OptionalPowershareStatus()
}

type ChargeState_PowershareStatus_ struct {
	PowershareStatus ChargeState_PowershareStatus `protobuf:"varint,170,opt,name=powershare_status,json=powershareStatus,proto3,enum=CarServer.ChargeState_PowershareStatus,oneof"`
}

func (*ChargeState_PowershareStatus_) isChargeState_OptionalPowershareStatus() {}

type isChargeState_OptionalPowershareStopReason interface {
	isChargeState_OptionalPowershareStopReason()
}

type ChargeState_PowershareStopReason_ struct {
	PowershareStopReason ChargeState_PowershareStopReason `protobuf:"varint,171,opt,name=powershare_stop_reason,json=powershareStopReason,proto3,enum=CarServer.ChargeState_PowershareStopReason,oneof"`
}

func (*ChargeState_PowershareStopReason_) isChargeState_OptionalPowershareStopReason() {}

type isChargeState_OptionalPowershareInstantaneousLoadKw interface {
	isChargeState_OptionalPowershareInstantaneousLoadKw()
}

type ChargeState_PowershareInstantaneousLoadKw struct {
	PowershareInstantaneousLoadKw float32 `protobuf:"fixed32,172,opt,name=powershare_instantaneous_load_kw,json=powershareInstantaneousLoadKw,proto3,oneof"`
}

func (*ChargeState_PowershareInstantaneousLoadKw) isChargeState_OptionalPowershareInstantaneousLoadKw() {
}

type isChargeState_OptionalPowershareVehicleEnergyLeftHr interface {
	isChargeState_OptionalPowershareVehicleEnergyLeftHr()
}

type ChargeState_PowershareVehicleEnergyLeftHr struct {
	PowershareVehicleEnergyLeftHr int32 `protobuf:"varint,173,opt,name=powershare_vehicle_energy_left_hr,json=powershareVehicleEnergyLeftHr,proto3,oneof"`
}

func (*ChargeState_PowershareVehicleEnergyLeftHr) isChargeState_OptionalPowershareVehicleEnergyLeftHr() {
}

type isChargeState_OptionalPowershareSocLimit interface {
	isChargeState_OptionalPowershareSocLimit()
}

type ChargeState_PowershareSocLimit struct {
	PowershareSocLimit int32 `protobuf:"varint,174,opt,name=powershare_soc_limit,json=powershareSocLimit,proto3,oneof"`
}

func (*ChargeState_PowershareSocLimit) isChargeState_OptionalPowershareSocLimit() {}

type isChargeState_OptionalOneTimeSocLimit interface {
	isChargeState_OptionalOneTimeSocLimit()
}

type ChargeState_OneTimeSocLimit struct {
	OneTimeSocLimit int32 `protobuf:"varint,175,opt,name=one_time_soc_limit,json=oneTimeSocLimit,proto3,oneof"`
}

func (*ChargeState_OneTimeSocLimit) isChargeState_OptionalOneTimeSocLimit() {}

type isChargeState_OptionalHomeLocation interface {
	isChargeState_OptionalHomeLocation()
}

type ChargeState_HomeLocation struct {
	HomeLocation *LatLong `protobuf:"bytes,176,opt,name=home_location,json=homeLocation,proto3,oneof"`
}

func (*ChargeState_HomeLocation) isChargeState_OptionalHomeLocation() {}

type isChargeState_OptionalWorkLocation interface {
	isChargeState_OptionalWorkLocation()
}

type ChargeState_WorkLocation struct {
	WorkLocation *LatLong `protobuf:"bytes,177,opt,name=work_location,json=workLocation,proto3,oneof"`
}

func (*ChargeState_WorkLocation) isChargeState_OptionalWorkLocation() {}

type isChargeState_OptionalOutletMaxTimerMinutes interface {
	isChargeState_OptionalOutletMaxTimerMinutes()
}

type ChargeState_OutletMaxTimerMinutes struct {
	OutletMaxTimerMinutes int32 `protobuf:"varint,178,opt,name=outlet_max_timer_minutes,json=outletMaxTimerMinutes,proto3,oneof"`
}

func (*ChargeState_OutletMaxTimerMinutes) isChargeState_OptionalOutletMaxTimerMinutes() {}

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

	ChargeOnSolarState *ChargeOnSolarState `protobuf:"bytes,1,opt,name=charge_on_solar_state,json=chargeOnSolarState,proto3" json:"charge_on_solar_state,omitempty"`
	// Types that are assignable to OptionalChargeOnSolarGatewayDin:
	//	*ManagedChargingState_ChargeOnSolarGatewayDin
	OptionalChargeOnSolarGatewayDin isManagedChargingState_OptionalChargeOnSolarGatewayDin `protobuf_oneof:"optional_charge_on_solar_gateway_din"`
	// Types that are assignable to OptionalTeslaElectricAssetId:
	//	*ManagedChargingState_TeslaElectricAssetId
	OptionalTeslaElectricAssetId isManagedChargingState_OptionalTeslaElectricAssetId `protobuf_oneof:"optional_tesla_electric_asset_id"`
	// Types that are assignable to OptionalMinutesToLowerLimit:
	//	*ManagedChargingState_MinutesToLowerLimit
	OptionalMinutesToLowerLimit isManagedChargingState_OptionalMinutesToLowerLimit `protobuf_oneof:"optional_minutes_to_lower_limit"`
}

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

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

func (*ManagedChargingState) ProtoMessage() {}

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

func (x *ManagedChargingState) GetChargeOnSolarState() *ChargeOnSolarState {
	if x != nil {
		return x.ChargeOnSolarState
	}
	return nil
}

func (m *ManagedChargingState) GetOptionalChargeOnSolarGatewayDin() isManagedChargingState_OptionalChargeOnSolarGatewayDin {
	if m != nil {
		return m.OptionalChargeOnSolarGatewayDin
	}
	return nil
}

func (x *ManagedChargingState) GetChargeOnSolarGatewayDin() string {
	if x, ok := x.GetOptionalChargeOnSolarGatewayDin().(*ManagedChargingState_ChargeOnSolarGatewayDin); ok {
		return x.ChargeOnSolarGatewayDin
	}
	return ""
}

func (m *ManagedChargingState) GetOptionalTeslaElectricAssetId() isManagedChargingState_OptionalTeslaElectricAssetId {
	if m != nil {
		return m.OptionalTeslaElectricAssetId
	}
	return nil
}

func (x *ManagedChargingState) GetTeslaElectricAssetId() string {
	if x, ok := x.GetOptionalTeslaElectricAssetId().(*ManagedChargingState_TeslaElectricAssetId); ok {
		return x.TeslaElectricAssetId
	}
	return ""
}

func (m *ManagedChargingState) GetOptionalMinutesToLowerLimit() isManagedChargingState_OptionalMinutesToLowerLimit {
	if m != nil {
		return m.OptionalMinutesToLowerLimit
	}
	return nil
}

func (x *ManagedChargingState) GetMinutesToLowerLimit() int32 {
	if x, ok := x.GetOptionalMinutesToLowerLimit().(*ManagedChargingState_MinutesToLowerLimit); ok {
		return x.MinutesToLowerLimit
	}
	return 0
}

type isManagedChargingState_OptionalChargeOnSolarGatewayDin interface {
	isManagedChargingState_OptionalChargeOnSolarGatewayDin()
}

type ManagedChargingState_ChargeOnSolarGatewayDin struct {
	ChargeOnSolarGatewayDin string `protobuf:"bytes,2,opt,name=charge_on_solar_gateway_din,json=chargeOnSolarGatewayDin,proto3,oneof"`
}

func (*ManagedChargingState_ChargeOnSolarGatewayDin) isManagedChargingState_OptionalChargeOnSolarGatewayDin() {
}

type isManagedChargingState_OptionalTeslaElectricAssetId interface {
	isManagedChargingState_OptionalTeslaElectricAssetId()
}

type ManagedChargingState_TeslaElectricAssetId struct {
	TeslaElectricAssetId string `protobuf:"bytes,3,opt,name=tesla_electric_asset_id,json=teslaElectricAssetId,proto3,oneof"`
}

func (*ManagedChargingState_TeslaElectricAssetId) isManagedChargingState_OptionalTeslaElectricAssetId() {
}

type isManagedChargingState_OptionalMinutesToLowerLimit interface {
	isManagedChargingState_OptionalMinutesToLowerLimit()
}

type ManagedChargingState_MinutesToLowerLimit struct {
	MinutesToLowerLimit int32 `protobuf:"varint,4,opt,name=minutes_to_lower_limit,json=minutesToLowerLimit,proto3,oneof"`
}

func (*ManagedChargingState_MinutesToLowerLimit) isManagedChargingState_OptionalMinutesToLowerLimit() {
}

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

	// The state of the charge on solar managed charging feature.
	//
	// Types that are assignable to State:
	//	*ChargeOnSolarState_NotAllowed
	//	*ChargeOnSolarState_NoChargeRecommended
	//	*ChargeOnSolarState_ChargingOnExcessSolar
	//	*ChargeOnSolarState_ChargingOnAnything
	//	*ChargeOnSolarState_UserDisabled
	//	*ChargeOnSolarState_WaitingForServer
	//	*ChargeOnSolarState_Error
	//	*ChargeOnSolarState_UserStopped
	State isChargeOnSolarState_State `protobuf_oneof:"state"`
}

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

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

func (*ChargeOnSolarState) ProtoMessage() {}

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

func (m *ChargeOnSolarState) GetState() isChargeOnSolarState_State {
	if m != nil {
		return m.State
	}
	return nil
}

func (x *ChargeOnSolarState) GetNotAllowed() *ChargeOnSolarStateNotAllowed {
	if x, ok := x.GetState().(*ChargeOnSolarState_NotAllowed); ok {
		return x.NotAllowed
	}
	return nil
}

func (x *ChargeOnSolarState) GetNoChargeRecommended() *ChargeOnSolarStateNoChargeRecommended {
	if x, ok := x.GetState().(*ChargeOnSolarState_NoChargeRecommended); ok {
		return x.NoChargeRecommended
	}
	return nil
}

func (x *ChargeOnSolarState) GetChargingOnExcessSolar() *ChargeOnSolarStateChargingOnExcessSolar {
	if x, ok := x.GetState().(*ChargeOnSolarState_ChargingOnExcessSolar); ok {
		return x.ChargingOnExcessSolar
	}
	return nil
}

func (x *ChargeOnSolarState) GetChargingOnAnything() *ChargeOnSolarStateChargingOnAnything {
	if x, ok := x.GetState().(*ChargeOnSolarState_ChargingOnAnything); ok {
		return x.ChargingOnAnything
	}
	return nil
}

func (x *ChargeOnSolarState) GetUserDisabled() *ChargeOnSolarStateUserDisabled {
	if x, ok := x.GetState().(*ChargeOnSolarState_UserDisabled); ok {
		return x.UserDisabled
	}
	return nil
}

func (x *ChargeOnSolarState) GetWaitingForServer() *ChargeOnSolarStateWaitingForServer {
	if x, ok := x.GetState().(*ChargeOnSolarState_WaitingForServer); ok {
		return x.WaitingForServer
	}
	return nil
}

func (x *ChargeOnSolarState) GetError() *ChargeOnSolarStateError {
	if x, ok := x.GetState().(*ChargeOnSolarState_Error); ok {
		return x.Error
	}
	return nil
}

func (x *ChargeOnSolarState) GetUserStopped() *ChargeOnSolarStateUserStopped {
	if x, ok := x.GetState().(*ChargeOnSolarState_UserStopped); ok {
		return x.UserStopped
	}
	return nil
}

type isChargeOnSolarState_State interface {
	isChargeOnSolarState_State()
}

type ChargeOnSolarState_NotAllowed struct {
	// Conditions do not support the Charge on Solar feature. For example, the vehicle may not be located at
	// a managed charging site.
	NotAllowed *ChargeOnSolarStateNotAllowed `protobuf:"bytes,1,opt,name=not_allowed,json=notAllowed,proto3,oneof"`
}

type ChargeOnSolarState_NoChargeRecommended struct {
	// The vehicle is receiving no charge recommended commands from the site controller.
	NoChargeRecommended *ChargeOnSolarStateNoChargeRecommended `protobuf:"bytes,2,opt,name=no_charge_recommended,json=noChargeRecommended,proto3,oneof"`
}

type ChargeOnSolarState_ChargingOnExcessSolar struct {
	// The vehicle is actively following charge on solar recommended charge power.
	ChargingOnExcessSolar *ChargeOnSolarStateChargingOnExcessSolar `protobuf:"bytes,3,opt,name=charging_on_excess_solar,json=chargingOnExcessSolar,proto3,oneof"`
}

type ChargeOnSolarState_ChargingOnAnything struct {
	// The vehicle is charging at full power on any source.
	ChargingOnAnything *ChargeOnSolarStateChargingOnAnything `protobuf:"bytes,4,opt,name=charging_on_anything,json=chargingOnAnything,proto3,oneof"`
}

type ChargeOnSolarState_UserDisabled struct {
	// The user disabled the charge on solar feature.
	UserDisabled *ChargeOnSolarStateUserDisabled `protobuf:"bytes,6,opt,name=user_disabled,json=userDisabled,proto3,oneof"`
}

type ChargeOnSolarState_WaitingForServer struct {
	// The vehicle just entered a valid state for Charge on Solar and is waiting for an initial
	// response from the site controller. It will wait in this state for a configured amount of time before entering
	// the ChargeOnSolarError state if it does not receive a successful response from the site controller.
	WaitingForServer *ChargeOnSolarStateWaitingForServer `protobuf:"bytes,7,opt,name=waiting_for_server,json=waitingForServer,proto3,oneof"`
}

type ChargeOnSolarState_Error struct {
	// The managed charging service has received a sustained number of error responses and the
	// ChargingManager is no longer following the charge on solar power set points.
	Error *ChargeOnSolarStateError `protobuf:"bytes,8,opt,name=error,proto3,oneof"`
}

type ChargeOnSolarState_UserStopped struct {
	// The user pressed the Stop Charging button during a Charge on Solar session.
	UserStopped *ChargeOnSolarStateUserStopped `protobuf:"bytes,9,opt,name=user_stopped,json=userStopped,proto3,oneof"`
}

func (*ChargeOnSolarState_NotAllowed) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_NoChargeRecommended) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_ChargingOnExcessSolar) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_ChargingOnAnything) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_UserDisabled) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_WaitingForServer) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_Error) isChargeOnSolarState_State() {}

func (*ChargeOnSolarState_UserStopped) isChargeOnSolarState_State() {}

// Conditions do not support the Charge on Solar feature. For example, the vehicle may not be located at
// a managed charging site.
type ChargeOnSolarStateNotAllowed struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateNotAllowed) ProtoMessage() {}

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

// Charge on solar is enabled and the vehicle SOC is above the lower limit, however the
// vehicle is not charging off solar for one or more reasons.
// We return the highest priority reason to the mobile app.
type ChargeOnSolarStateNoChargeRecommended struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Reason managedcharging.ChargeOnSolarNoChargeReason `protobuf:"varint,1,opt,name=reason,proto3,enum=ManagedCharging.ChargeOnSolarNoChargeReason" json:"reason,omitempty"`
}

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

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

func (*ChargeOnSolarStateNoChargeRecommended) ProtoMessage() {}

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

func (x *ChargeOnSolarStateNoChargeRecommended) GetReason() managedcharging.ChargeOnSolarNoChargeReason {
	if x != nil {
		return x.Reason
	}
	return managedcharging.ChargeOnSolarNoChargeReason(0)
}

// Charge on solar is enabled and the conditions allow for charging on solar.
// The SOC may be above or below the lower left charging limit.
type ChargeOnSolarStateChargingOnExcessSolar struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateChargingOnExcessSolar) ProtoMessage() {}

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

// The vehicle is charging at full power on any source.
type ChargeOnSolarStateChargingOnAnything struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateChargingOnAnything) ProtoMessage() {}

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

// The user disabled the charge on solar feature.
type ChargeOnSolarStateUserDisabled struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateUserDisabled) ProtoMessage() {}

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

// The vehicle just entered a valid state for Charge on Solar and is waiting for an initial
// response from the site controller. It will wait in this state for 15min before entering
// the ChargeOnSolarError state if it does not receive a successful response from the site controller.
type ChargeOnSolarStateWaitingForServer struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateWaitingForServer) ProtoMessage() {}

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

// The managed charging service has received a sustained number of error responses and the
// ChargingManager is no longer following the charge on solar power set points.
type ChargeOnSolarStateError struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateError) ProtoMessage() {}

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

// The user pressed the Stop Charging button during a Charge on Solar session.
type ChargeOnSolarStateUserStopped struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

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

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

func (*ChargeOnSolarStateUserStopped) ProtoMessage() {}

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

// LocationState contains information about the vehicle's location. Typically
// clients will want to use native coordinates, which use either WGS
// (international) or GCJ (Chinese) coordinate systems depending on the
// vehicle's region. If the native fields are not provided, WGS clients should
// fall back to the plain latitude/longitude fields, and GCJ clients should
// fall back to corrected fields.
//
// The geo fields contain raw WGS GPS coordinates. They are usually less
// accurate. However, they should be used if there is a large discrepancy
// between the raw and estimated location, as determined by the
// "estimated to raw distance" field. This scenario most frequently arises when
// the vehicle has recently been transported or towed.
type LocationState struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to OptionalLatitude:
	//	*LocationState_Latitude
	OptionalLatitude isLocationState_OptionalLatitude `protobuf_oneof:"optional_latitude"`
	// Types that are assignable to OptionalLongitude:
	//	*LocationState_Longitude
	OptionalLongitude isLocationState_OptionalLongitude `protobuf_oneof:"optional_longitude"`
	// Types that are assignable to OptionalHeading:
	//	*LocationState_Heading
	OptionalHeading isLocationState_OptionalHeading `protobuf_oneof:"optional_heading"`
	// Types that are assignable to OptionalGpsAsOf:
	//	*LocationState_GpsAsOf
	OptionalGpsAsOf isLocationState_OptionalGpsAsOf `protobuf_oneof:"optional_gps_as_of"`
	// Types that are assignable to OptionalNativeLocationSupported:
	//	*LocationState_NativeLocationSupported
	OptionalNativeLocationSupported isLocationState_OptionalNativeLocationSupported `protobuf_oneof:"optional_native_location_supported"`
	// Types that are assignable to OptionalNativeLatitude:
	//	*LocationState_NativeLatitude
	OptionalNativeLatitude isLocationState_OptionalNativeLatitude `protobuf_oneof:"optional_native_latitude"`
	// Types that are assignable to OptionalNativeLongitude:
	//	*LocationState_NativeLongitude
	OptionalNativeLongitude isLocationState_OptionalNativeLongitude `protobuf_oneof:"optional_native_longitude"`
	NativeType              *LocationState_GPSCoordinateType        `protobuf:"bytes,8,opt,name=native_type,json=nativeType,proto3" json:"native_type,omitempty"`
	// Types that are assignable to OptionalCorrectedLatitude:
	//	*LocationState_CorrectedLatitude
	OptionalCorrectedLatitude isLocationState_OptionalCorrectedLatitude `protobuf_oneof:"optional_corrected_latitude"`
	// Types that are assignable to OptionalCorrectedLongitude:
	//	*LocationState_CorrectedLongitude
	OptionalCorrectedLongitude isLocationState_OptionalCorrectedLongitude `protobuf_oneof:"optional_corrected_longitude"`
	Timestamp                  *timestamppb.Timestamp                     `protobuf:"bytes,11,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalHomelinkNearby:
	//	*LocationState_HomelinkNearby
	OptionalHomelinkNearby isLocationState_OptionalHomelinkNearby `protobuf_oneof:"optional_homelink_nearby"`
	// Types that are assignable to OptionalLocationName:
	//	*LocationState_LocationName
	OptionalLocationName isLocationState_OptionalLocationName `protobuf_oneof:"optional_location_name"`
	// Types that are assignable to OptionalGeoLatitude:
	//	*LocationState_GeoLatitude
	OptionalGeoLatitude isLocationState_OptionalGeoLatitude `protobuf_oneof:"optional_geo_latitude"`
	// Types that are assignable to OptionalGeoLongitude:
	//	*LocationState_GeoLongitude
	OptionalGeoLongitude isLocationState_OptionalGeoLongitude `protobuf_oneof:"optional_geo_longitude"`
	// Types that are assignable to OptionalGeoHeading:
	//	*LocationState_GeoHeading
	OptionalGeoHeading isLocationState_OptionalGeoHeading `protobuf_oneof:"optional_geo_heading"`
	// Types that are assignable to OptionalGeoElevation:
	//	*LocationState_GeoElevation
	OptionalGeoElevation isLocationState_OptionalGeoElevation `protobuf_oneof:"optional_geo_elevation"`
	// Types that are assignable to OptionalGeoAccuracy:
	//	*LocationState_GeoAccuracy
	OptionalGeoAccuracy isLocationState_OptionalGeoAccuracy `protobuf_oneof:"optional_geo_accuracy"`
	// Types that are assignable to OptionalEstimatedGpsValid:
	//	*LocationState_EstimatedGpsValid
	OptionalEstimatedGpsValid isLocationState_OptionalEstimatedGpsValid `protobuf_oneof:"optional_estimated_gps_valid"`
	// Types that are assignable to OptionalEstimatedToRawDistance:
	//	*LocationState_EstimatedToRawDistance
	OptionalEstimatedToRawDistance isLocationState_OptionalEstimatedToRawDistance `protobuf_oneof:"optional_estimated_to_raw_distance"`
}

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

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

func (*LocationState) ProtoMessage() {}

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

func (m *LocationState) GetOptionalLatitude() isLocationState_OptionalLatitude {
	if m != nil {
		return m.OptionalLatitude
	}
	return nil
}

func (x *LocationState) GetLatitude() float32 {
	if x, ok := x.GetOptionalLatitude().(*LocationState_Latitude); ok {
		return x.Latitude
	}
	return 0
}

func (m *LocationState) GetOptionalLongitude() isLocationState_OptionalLongitude {
	if m != nil {
		return m.OptionalLongitude
	}
	return nil
}

func (x *LocationState) GetLongitude() float32 {
	if x, ok := x.GetOptionalLongitude().(*LocationState_Longitude); ok {
		return x.Longitude
	}
	return 0
}

func (m *LocationState) GetOptionalHeading() isLocationState_OptionalHeading {
	if m != nil {
		return m.OptionalHeading
	}
	return nil
}

func (x *LocationState) GetHeading() uint32 {
	if x, ok := x.GetOptionalHeading().(*LocationState_Heading); ok {
		return x.Heading
	}
	return 0
}

func (m *LocationState) GetOptionalGpsAsOf() isLocationState_OptionalGpsAsOf {
	if m != nil {
		return m.OptionalGpsAsOf
	}
	return nil
}

func (x *LocationState) GetGpsAsOf() uint64 {
	if x, ok := x.GetOptionalGpsAsOf().(*LocationState_GpsAsOf); ok {
		return x.GpsAsOf
	}
	return 0
}

func (m *LocationState) GetOptionalNativeLocationSupported() isLocationState_OptionalNativeLocationSupported {
	if m != nil {
		return m.OptionalNativeLocationSupported
	}
	return nil
}

func (x *LocationState) GetNativeLocationSupported() bool {
	if x, ok := x.GetOptionalNativeLocationSupported().(*LocationState_NativeLocationSupported); ok {
		return x.NativeLocationSupported
	}
	return false
}

func (m *LocationState) GetOptionalNativeLatitude() isLocationState_OptionalNativeLatitude {
	if m != nil {
		return m.OptionalNativeLatitude
	}
	return nil
}

func (x *LocationState) GetNativeLatitude() float32 {
	if x, ok := x.GetOptionalNativeLatitude().(*LocationState_NativeLatitude); ok {
		return x.NativeLatitude
	}
	return 0
}

func (m *LocationState) GetOptionalNativeLongitude() isLocationState_OptionalNativeLongitude {
	if m != nil {
		return m.OptionalNativeLongitude
	}
	return nil
}

func (x *LocationState) GetNativeLongitude() float32 {
	if x, ok := x.GetOptionalNativeLongitude().(*LocationState_NativeLongitude); ok {
		return x.NativeLongitude
	}
	return 0
}

func (x *LocationState) GetNativeType() *LocationState_GPSCoordinateType {
	if x != nil {
		return x.NativeType
	}
	return nil
}

func (m *LocationState) GetOptionalCorrectedLatitude() isLocationState_OptionalCorrectedLatitude {
	if m != nil {
		return m.OptionalCorrectedLatitude
	}
	return nil
}

func (x *LocationState) GetCorrectedLatitude() float32 {
	if x, ok := x.GetOptionalCorrectedLatitude().(*LocationState_CorrectedLatitude); ok {
		return x.CorrectedLatitude
	}
	return 0
}

func (m *LocationState) GetOptionalCorrectedLongitude() isLocationState_OptionalCorrectedLongitude {
	if m != nil {
		return m.OptionalCorrectedLongitude
	}
	return nil
}

func (x *LocationState) GetCorrectedLongitude() float32 {
	if x, ok := x.GetOptionalCorrectedLongitude().(*LocationState_CorrectedLongitude); ok {
		return x.CorrectedLongitude
	}
	return 0
}

func (x *LocationState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *LocationState) GetOptionalHomelinkNearby() isLocationState_OptionalHomelinkNearby {
	if m != nil {
		return m.OptionalHomelinkNearby
	}
	return nil
}

func (x *LocationState) GetHomelinkNearby() bool {
	if x, ok := x.GetOptionalHomelinkNearby().(*LocationState_HomelinkNearby); ok {
		return x.HomelinkNearby
	}
	return false
}

func (m *LocationState) GetOptionalLocationName() isLocationState_OptionalLocationName {
	if m != nil {
		return m.OptionalLocationName
	}
	return nil
}

func (x *LocationState) GetLocationName() string {
	if x, ok := x.GetOptionalLocationName().(*LocationState_LocationName); ok {
		return x.LocationName
	}
	return ""
}

func (m *LocationState) GetOptionalGeoLatitude() isLocationState_OptionalGeoLatitude {
	if m != nil {
		return m.OptionalGeoLatitude
	}
	return nil
}

func (x *LocationState) GetGeoLatitude() float32 {
	if x, ok := x.GetOptionalGeoLatitude().(*LocationState_GeoLatitude); ok {
		return x.GeoLatitude
	}
	return 0
}

func (m *LocationState) GetOptionalGeoLongitude() isLocationState_OptionalGeoLongitude {
	if m != nil {
		return m.OptionalGeoLongitude
	}
	return nil
}

func (x *LocationState) GetGeoLongitude() float32 {
	if x, ok := x.GetOptionalGeoLongitude().(*LocationState_GeoLongitude); ok {
		return x.GeoLongitude
	}
	return 0
}

func (m *LocationState) GetOptionalGeoHeading() isLocationState_OptionalGeoHeading {
	if m != nil {
		return m.OptionalGeoHeading
	}
	return nil
}

func (x *LocationState) GetGeoHeading() float32 {
	if x, ok := x.GetOptionalGeoHeading().(*LocationState_GeoHeading); ok {
		return x.GeoHeading
	}
	return 0
}

func (m *LocationState) GetOptionalGeoElevation() isLocationState_OptionalGeoElevation {
	if m != nil {
		return m.OptionalGeoElevation
	}
	return nil
}

func (x *LocationState) GetGeoElevation() float32 {
	if x, ok := x.GetOptionalGeoElevation().(*LocationState_GeoElevation); ok {
		return x.GeoElevation
	}
	return 0
}

func (m *LocationState) GetOptionalGeoAccuracy() isLocationState_OptionalGeoAccuracy {
	if m != nil {
		return m.OptionalGeoAccuracy
	}
	return nil
}

func (x *LocationState) GetGeoAccuracy() float32 {
	if x, ok := x.GetOptionalGeoAccuracy().(*LocationState_GeoAccuracy); ok {
		return x.GeoAccuracy
	}
	return 0
}

func (m *LocationState) GetOptionalEstimatedGpsValid() isLocationState_OptionalEstimatedGpsValid {
	if m != nil {
		return m.OptionalEstimatedGpsValid
	}
	return nil
}

func (x *LocationState) GetEstimatedGpsValid() bool {
	if x, ok := x.GetOptionalEstimatedGpsValid().(*LocationState_EstimatedGpsValid); ok {
		return x.EstimatedGpsValid
	}
	return false
}

func (m *LocationState) GetOptionalEstimatedToRawDistance() isLocationState_OptionalEstimatedToRawDistance {
	if m != nil {
		return m.OptionalEstimatedToRawDistance
	}
	return nil
}

func (x *LocationState) GetEstimatedToRawDistance() float32 {
	if x, ok := x.GetOptionalEstimatedToRawDistance().(*LocationState_EstimatedToRawDistance); ok {
		return x.EstimatedToRawDistance
	}
	return 0
}

type isLocationState_OptionalLatitude interface {
	isLocationState_OptionalLatitude()
}

type LocationState_Latitude struct {
	Latitude float32 `protobuf:"fixed32,101,opt,name=latitude,proto3,oneof"`
}

func (*LocationState_Latitude) isLocationState_OptionalLatitude() {}

type isLocationState_OptionalLongitude interface {
	isLocationState_OptionalLongitude()
}

type LocationState_Longitude struct {
	Longitude float32 `protobuf:"fixed32,102,opt,name=longitude,proto3,oneof"`
}

func (*LocationState_Longitude) isLocationState_OptionalLongitude() {}

type isLocationState_OptionalHeading interface {
	isLocationState_OptionalHeading()
}

type LocationState_Heading struct {
	Heading uint32 `protobuf:"varint,103,opt,name=heading,proto3,oneof"`
}

func (*LocationState_Heading) isLocationState_OptionalHeading() {}

type isLocationState_OptionalGpsAsOf interface {
	isLocationState_OptionalGpsAsOf()
}

type LocationState_GpsAsOf struct {
	GpsAsOf uint64 `protobuf:"varint,104,opt,name=gps_as_of,json=gpsAsOf,proto3,oneof"`
}

func (*LocationState_GpsAsOf) isLocationState_OptionalGpsAsOf() {}

type isLocationState_OptionalNativeLocationSupported interface {
	isLocationState_OptionalNativeLocationSupported()
}

type LocationState_NativeLocationSupported struct {
	NativeLocationSupported bool `protobuf:"varint,105,opt,name=native_location_supported,json=nativeLocationSupported,proto3,oneof"`
}

func (*LocationState_NativeLocationSupported) isLocationState_OptionalNativeLocationSupported() {}

type isLocationState_OptionalNativeLatitude interface {
	isLocationState_OptionalNativeLatitude()
}

type LocationState_NativeLatitude struct {
	NativeLatitude float32 `protobuf:"fixed32,106,opt,name=native_latitude,json=nativeLatitude,proto3,oneof"`
}

func (*LocationState_NativeLatitude) isLocationState_OptionalNativeLatitude() {}

type isLocationState_OptionalNativeLongitude interface {
	isLocationState_OptionalNativeLongitude()
}

type LocationState_NativeLongitude struct {
	NativeLongitude float32 `protobuf:"fixed32,107,opt,name=native_longitude,json=nativeLongitude,proto3,oneof"`
}

func (*LocationState_NativeLongitude) isLocationState_OptionalNativeLongitude() {}

type isLocationState_OptionalCorrectedLatitude interface {
	isLocationState_OptionalCorrectedLatitude()
}

type LocationState_CorrectedLatitude struct {
	CorrectedLatitude float32 `protobuf:"fixed32,109,opt,name=corrected_latitude,json=correctedLatitude,proto3,oneof"`
}

func (*LocationState_CorrectedLatitude) isLocationState_OptionalCorrectedLatitude() {}

type isLocationState_OptionalCorrectedLongitude interface {
	isLocationState_OptionalCorrectedLongitude()
}

type LocationState_CorrectedLongitude struct {
	CorrectedLongitude float32 `protobuf:"fixed32,110,opt,name=corrected_longitude,json=correctedLongitude,proto3,oneof"`
}

func (*LocationState_CorrectedLongitude) isLocationState_OptionalCorrectedLongitude() {}

type isLocationState_OptionalHomelinkNearby interface {
	isLocationState_OptionalHomelinkNearby()
}

type LocationState_HomelinkNearby struct {
	HomelinkNearby bool `protobuf:"varint,112,opt,name=homelink_nearby,json=homelinkNearby,proto3,oneof"`
}

func (*LocationState_HomelinkNearby) isLocationState_OptionalHomelinkNearby() {}

type isLocationState_OptionalLocationName interface {
	isLocationState_OptionalLocationName()
}

type LocationState_LocationName struct {
	LocationName string `protobuf:"bytes,113,opt,name=location_name,json=locationName,proto3,oneof"`
}

func (*LocationState_LocationName) isLocationState_OptionalLocationName() {}

type isLocationState_OptionalGeoLatitude interface {
	isLocationState_OptionalGeoLatitude()
}

type LocationState_GeoLatitude struct {
	GeoLatitude float32 `protobuf:"fixed32,114,opt,name=geo_latitude,json=geoLatitude,proto3,oneof"`
}

func (*LocationState_GeoLatitude) isLocationState_OptionalGeoLatitude() {}

type isLocationState_OptionalGeoLongitude interface {
	isLocationState_OptionalGeoLongitude()
}

type LocationState_GeoLongitude struct {
	GeoLongitude float32 `protobuf:"fixed32,115,opt,name=geo_longitude,json=geoLongitude,proto3,oneof"`
}

func (*LocationState_GeoLongitude) isLocationState_OptionalGeoLongitude() {}

type isLocationState_OptionalGeoHeading interface {
	isLocationState_OptionalGeoHeading()
}

type LocationState_GeoHeading struct {
	GeoHeading float32 `protobuf:"fixed32,116,opt,name=geo_heading,json=geoHeading,proto3,oneof"`
}

func (*LocationState_GeoHeading) isLocationState_OptionalGeoHeading() {}

type isLocationState_OptionalGeoElevation interface {
	isLocationState_OptionalGeoElevation()
}

type LocationState_GeoElevation struct {
	GeoElevation float32 `protobuf:"fixed32,117,opt,name=geo_elevation,json=geoElevation,proto3,oneof"`
}

func (*LocationState_GeoElevation) isLocationState_OptionalGeoElevation() {}

type isLocationState_OptionalGeoAccuracy interface {
	isLocationState_OptionalGeoAccuracy()
}

type LocationState_GeoAccuracy struct {
	GeoAccuracy float32 `protobuf:"fixed32,118,opt,name=geo_accuracy,json=geoAccuracy,proto3,oneof"`
}

func (*LocationState_GeoAccuracy) isLocationState_OptionalGeoAccuracy() {}

type isLocationState_OptionalEstimatedGpsValid interface {
	isLocationState_OptionalEstimatedGpsValid()
}

type LocationState_EstimatedGpsValid struct {
	EstimatedGpsValid bool `protobuf:"varint,119,opt,name=estimated_gps_valid,json=estimatedGpsValid,proto3,oneof"`
}

func (*LocationState_EstimatedGpsValid) isLocationState_OptionalEstimatedGpsValid() {}

type isLocationState_OptionalEstimatedToRawDistance interface {
	isLocationState_OptionalEstimatedToRawDistance()
}

type LocationState_EstimatedToRawDistance struct {
	EstimatedToRawDistance float32 `protobuf:"fixed32,120,opt,name=estimated_to_raw_distance,json=estimatedToRawDistance,proto3,oneof"`
}

func (*LocationState_EstimatedToRawDistance) isLocationState_OptionalEstimatedToRawDistance() {}

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

	GuestMode *VehicleState_GuestMode `protobuf:"bytes,74,opt,name=guestMode,proto3" json:"guestMode,omitempty"`
}

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

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

func (*VehicleState) ProtoMessage() {}

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

func (x *VehicleState) GetGuestMode() *VehicleState_GuestMode {
	if x != nil {
		return x.GuestMode
	}
	return nil
}

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

	// Types that are assignable to OptionalInsideTempCelsius:
	//	*ClimateState_InsideTempCelsius
	OptionalInsideTempCelsius isClimateState_OptionalInsideTempCelsius `protobuf_oneof:"optional_inside_temp_celsius"`
	// Types that are assignable to OptionalOutsideTempCelsius:
	//	*ClimateState_OutsideTempCelsius
	OptionalOutsideTempCelsius isClimateState_OptionalOutsideTempCelsius `protobuf_oneof:"optional_outside_temp_celsius"`
	// Types that are assignable to OptionalDriverTempSetting:
	//	*ClimateState_DriverTempSetting
	OptionalDriverTempSetting isClimateState_OptionalDriverTempSetting `protobuf_oneof:"optional_driver_temp_setting"`
	// Types that are assignable to OptionalPassengerTempSetting:
	//	*ClimateState_PassengerTempSetting
	OptionalPassengerTempSetting isClimateState_OptionalPassengerTempSetting `protobuf_oneof:"optional_passenger_temp_setting"`
	// Types that are assignable to OptionalLeftTempDirection:
	//	*ClimateState_LeftTempDirection
	OptionalLeftTempDirection isClimateState_OptionalLeftTempDirection `protobuf_oneof:"optional_left_temp_direction"`
	// Types that are assignable to OptionalRightTempDirection:
	//	*ClimateState_RightTempDirection
	OptionalRightTempDirection isClimateState_OptionalRightTempDirection `protobuf_oneof:"optional_right_temp_direction"`
	// Types that are assignable to OptionalIsFrontDefrosterOn:
	//	*ClimateState_IsFrontDefrosterOn
	OptionalIsFrontDefrosterOn isClimateState_OptionalIsFrontDefrosterOn `protobuf_oneof:"optional_is_front_defroster_on"`
	// Types that are assignable to OptionalIsRearDefrosterOn:
	//	*ClimateState_IsRearDefrosterOn
	OptionalIsRearDefrosterOn isClimateState_OptionalIsRearDefrosterOn `protobuf_oneof:"optional_is_rear_defroster_on"`
	// Types that are assignable to OptionalFanStatus:
	//	*ClimateState_FanStatus
	OptionalFanStatus isClimateState_OptionalFanStatus `protobuf_oneof:"optional_fan_status"`
	// Types that are assignable to OptionalIsClimateOn:
	//	*ClimateState_IsClimateOn
	OptionalIsClimateOn isClimateState_OptionalIsClimateOn `protobuf_oneof:"optional_is_climate_on"`
	// Types that are assignable to OptionalMinAvailTempCelsius:
	//	*ClimateState_MinAvailTempCelsius
	OptionalMinAvailTempCelsius isClimateState_OptionalMinAvailTempCelsius `protobuf_oneof:"optional_min_avail_temp_celsius"`
	// Types that are assignable to OptionalMaxAvailTempCelsius:
	//	*ClimateState_MaxAvailTempCelsius
	OptionalMaxAvailTempCelsius isClimateState_OptionalMaxAvailTempCelsius `protobuf_oneof:"optional_max_avail_temp_celsius"`
	// Types that are assignable to OptionalSeatHeaterLeft:
	//	*ClimateState_SeatHeaterLeft
	OptionalSeatHeaterLeft isClimateState_OptionalSeatHeaterLeft `protobuf_oneof:"optional_seat_heater_left"`
	// Types that are assignable to OptionalSeatHeaterRight:
	//	*ClimateState_SeatHeaterRight
	OptionalSeatHeaterRight isClimateState_OptionalSeatHeaterRight `protobuf_oneof:"optional_seat_heater_right"`
	// Types that are assignable to OptionalSeatHeaterRearLeft:
	//	*ClimateState_SeatHeaterRearLeft
	OptionalSeatHeaterRearLeft isClimateState_OptionalSeatHeaterRearLeft `protobuf_oneof:"optional_seat_heater_rear_left"`
	// Types that are assignable to OptionalSeatHeaterRearRight:
	//	*ClimateState_SeatHeaterRearRight
	OptionalSeatHeaterRearRight isClimateState_OptionalSeatHeaterRearRight `protobuf_oneof:"optional_seat_heater_rear_right"`
	// Types that are assignable to OptionalSeatHeaterRearCenter:
	//	*ClimateState_SeatHeaterRearCenter
	OptionalSeatHeaterRearCenter isClimateState_OptionalSeatHeaterRearCenter `protobuf_oneof:"optional_seat_heater_rear_center"`
	// Types that are assignable to OptionalSeatHeaterRearRightBack:
	//	*ClimateState_SeatHeaterRearRightBack
	OptionalSeatHeaterRearRightBack isClimateState_OptionalSeatHeaterRearRightBack `protobuf_oneof:"optional_seat_heater_rear_right_back"`
	// Types that are assignable to OptionalSeatHeaterRearLeftBack:
	//	*ClimateState_SeatHeaterRearLeftBack
	OptionalSeatHeaterRearLeftBack isClimateState_OptionalSeatHeaterRearLeftBack `protobuf_oneof:"optional_seat_heater_rear_left_back"`
	// Types that are assignable to OptionalSeatHeaterThirdRowRight:
	//	*ClimateState_SeatHeaterThirdRowRight
	OptionalSeatHeaterThirdRowRight isClimateState_OptionalSeatHeaterThirdRowRight `protobuf_oneof:"optional_seat_heater_third_row_right"`
	// Types that are assignable to OptionalSeatHeaterThirdRowLeft:
	//	*ClimateState_SeatHeaterThirdRowLeft
	OptionalSeatHeaterThirdRowLeft isClimateState_OptionalSeatHeaterThirdRowLeft `protobuf_oneof:"optional_seat_heater_third_row_left"`
	// Types that are assignable to OptionalBatteryHeater:
	//	*ClimateState_BatteryHeater
	OptionalBatteryHeater isClimateState_OptionalBatteryHeater `protobuf_oneof:"optional_battery_heater"`
	// Types that are assignable to OptionalBatteryHeaterNoPower:
	//	*ClimateState_BatteryHeaterNoPower
	OptionalBatteryHeaterNoPower isClimateState_OptionalBatteryHeaterNoPower `protobuf_oneof:"optional_battery_heater_no_power"`
	// Types that are assignable to OptionalSteeringWheelHeater:
	//	*ClimateState_SteeringWheelHeater
	OptionalSteeringWheelHeater isClimateState_OptionalSteeringWheelHeater `protobuf_oneof:"optional_steering_wheel_heater"`
	// Types that are assignable to OptionalWiperBladeHeater:
	//	*ClimateState_WiperBladeHeater
	OptionalWiperBladeHeater isClimateState_OptionalWiperBladeHeater `protobuf_oneof:"optional_wiper_blade_heater"`
	// Types that are assignable to OptionalSideMirrorHeaters:
	//	*ClimateState_SideMirrorHeaters
	OptionalSideMirrorHeaters isClimateState_OptionalSideMirrorHeaters `protobuf_oneof:"optional_side_mirror_heaters"`
	// Types that are assignable to OptionalIsPreconditioning:
	//	*ClimateState_IsPreconditioning
	OptionalIsPreconditioning isClimateState_OptionalIsPreconditioning `protobuf_oneof:"optional_is_preconditioning"`
	// Types that are assignable to OptionalRemoteHeaterControlEnabled:
	//	*ClimateState_RemoteHeaterControlEnabled
	OptionalRemoteHeaterControlEnabled isClimateState_OptionalRemoteHeaterControlEnabled `protobuf_oneof:"optional_remote_heater_control_enabled"`
	ClimateKeeperMode                  *ClimateState_ClimateKeeperMode                   `protobuf:"bytes,30,opt,name=climate_keeper_mode,json=climateKeeperMode,proto3" json:"climate_keeper_mode,omitempty"`
	Timestamp                          *timestamppb.Timestamp                            `protobuf:"bytes,33,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalBioweaponModeOn:
	//	*ClimateState_BioweaponModeOn
	OptionalBioweaponModeOn isClimateState_OptionalBioweaponModeOn `protobuf_oneof:"optional_bioweapon_mode_on"`
	DefrostMode             *ClimateState_DefrostMode              `protobuf:"bytes,35,opt,name=defrost_mode,json=defrostMode,proto3" json:"defrost_mode,omitempty"`
	// Types that are assignable to OptionalIsAutoConditioningOn:
	//	*ClimateState_IsAutoConditioningOn
	OptionalIsAutoConditioningOn isClimateState_OptionalIsAutoConditioningOn `protobuf_oneof:"optional_is_auto_conditioning_on"`
	// Types that are assignable to OptionalAutoSeatClimateLeft:
	//	*ClimateState_AutoSeatClimateLeft
	OptionalAutoSeatClimateLeft isClimateState_OptionalAutoSeatClimateLeft `protobuf_oneof:"optional_auto_seat_climate_left"`
	// Types that are assignable to OptionalAutoSeatClimateRight:
	//	*ClimateState_AutoSeatClimateRight
	OptionalAutoSeatClimateRight isClimateState_OptionalAutoSeatClimateRight `protobuf_oneof:"optional_auto_seat_climate_right"`
	// Types that are assignable to OptionalSeatFanFrontLeft:
	//	*ClimateState_SeatFanFrontLeft
	OptionalSeatFanFrontLeft isClimateState_OptionalSeatFanFrontLeft `protobuf_oneof:"optional_seat_fan_front_left"`
	// Types that are assignable to OptionalSeatFanFrontRight:
	//	*ClimateState_SeatFanFrontRight
	OptionalSeatFanFrontRight isClimateState_OptionalSeatFanFrontRight `protobuf_oneof:"optional_seat_fan_front_right"`
	// Types that are assignable to OptionalAllowCabinOverheatProtection:
	//	*ClimateState_AllowCabinOverheatProtection
	OptionalAllowCabinOverheatProtection isClimateState_OptionalAllowCabinOverheatProtection `protobuf_oneof:"optional_allow_cabin_overheat_protection"`
	// Types that are assignable to OptionalSupportsFanOnlyCabinOverheatProtection:
	//	*ClimateState_SupportsFanOnlyCabinOverheatProtection
	OptionalSupportsFanOnlyCabinOverheatProtection isClimateState_OptionalSupportsFanOnlyCabinOverheatProtection `protobuf_oneof:"optional_supports_fan_only_cabin_overheat_protection"`
	// Types that are assignable to OptionalCabinOverheatProtection:
	//	*ClimateState_CabinOverheatProtection
	OptionalCabinOverheatProtection isClimateState_OptionalCabinOverheatProtection `protobuf_oneof:"optional_cabin_overheat_protection"`
	// Types that are assignable to OptionalCabinOverheatProtectionActivelyCooling:
	//	*ClimateState_CabinOverheatProtectionActivelyCooling
	OptionalCabinOverheatProtectionActivelyCooling isClimateState_OptionalCabinOverheatProtectionActivelyCooling `protobuf_oneof:"optional_cabin_overheat_protection_actively_cooling"`
	// Types that are assignable to OptionalCopActivationTemperature:
	//	*ClimateState_CopActivationTemperature
	OptionalCopActivationTemperature isClimateState_OptionalCopActivationTemperature `protobuf_oneof:"optional_cop_activation_temperature"`
	// Types that are assignable to OptionalAutoSteeringWheelHeat:
	//	*ClimateState_AutoSteeringWheelHeat
	OptionalAutoSteeringWheelHeat isClimateState_OptionalAutoSteeringWheelHeat `protobuf_oneof:"optional_auto_steering_wheel_heat"`
	// Types that are assignable to OptionalSteeringWheelHeatLevel:
	//	*ClimateState_SteeringWheelHeatLevel
	OptionalSteeringWheelHeatLevel isClimateState_OptionalSteeringWheelHeatLevel `protobuf_oneof:"optional_steering_wheel_heat_level"`
	// Types that are assignable to OptionalHvacAutoRequest:
	//	*ClimateState_HvacAutoRequest_
	OptionalHvacAutoRequest isClimateState_OptionalHvacAutoRequest `protobuf_oneof:"optional_hvac_auto_request"`
	// Types that are assignable to OptionalCopNotRunningReason:
	//	*ClimateState_CopNotRunningReason
	OptionalCopNotRunningReason isClimateState_OptionalCopNotRunningReason `protobuf_oneof:"optional_cop_not_running_reason"`
}

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

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

func (*ClimateState) ProtoMessage() {}

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

func (m *ClimateState) GetOptionalInsideTempCelsius() isClimateState_OptionalInsideTempCelsius {
	if m != nil {
		return m.OptionalInsideTempCelsius
	}
	return nil
}

func (x *ClimateState) GetInsideTempCelsius() float32 {
	if x, ok := x.GetOptionalInsideTempCelsius().(*ClimateState_InsideTempCelsius); ok {
		return x.InsideTempCelsius
	}
	return 0
}

func (m *ClimateState) GetOptionalOutsideTempCelsius() isClimateState_OptionalOutsideTempCelsius {
	if m != nil {
		return m.OptionalOutsideTempCelsius
	}
	return nil
}

func (x *ClimateState) GetOutsideTempCelsius() float32 {
	if x, ok := x.GetOptionalOutsideTempCelsius().(*ClimateState_OutsideTempCelsius); ok {
		return x.OutsideTempCelsius
	}
	return 0
}

func (m *ClimateState) GetOptionalDriverTempSetting() isClimateState_OptionalDriverTempSetting {
	if m != nil {
		return m.OptionalDriverTempSetting
	}
	return nil
}

func (x *ClimateState) GetDriverTempSetting() float32 {
	if x, ok := x.GetOptionalDriverTempSetting().(*ClimateState_DriverTempSetting); ok {
		return x.DriverTempSetting
	}
	return 0
}

func (m *ClimateState) GetOptionalPassengerTempSetting() isClimateState_OptionalPassengerTempSetting {
	if m != nil {
		return m.OptionalPassengerTempSetting
	}
	return nil
}

func (x *ClimateState) GetPassengerTempSetting() float32 {
	if x, ok := x.GetOptionalPassengerTempSetting().(*ClimateState_PassengerTempSetting); ok {
		return x.PassengerTempSetting
	}
	return 0
}

func (m *ClimateState) GetOptionalLeftTempDirection() isClimateState_OptionalLeftTempDirection {
	if m != nil {
		return m.OptionalLeftTempDirection
	}
	return nil
}

func (x *ClimateState) GetLeftTempDirection() int32 {
	if x, ok := x.GetOptionalLeftTempDirection().(*ClimateState_LeftTempDirection); ok {
		return x.LeftTempDirection
	}
	return 0
}

func (m *ClimateState) GetOptionalRightTempDirection() isClimateState_OptionalRightTempDirection {
	if m != nil {
		return m.OptionalRightTempDirection
	}
	return nil
}

func (x *ClimateState) GetRightTempDirection() int32 {
	if x, ok := x.GetOptionalRightTempDirection().(*ClimateState_RightTempDirection); ok {
		return x.RightTempDirection
	}
	return 0
}

func (m *ClimateState) GetOptionalIsFrontDefrosterOn() isClimateState_OptionalIsFrontDefrosterOn {
	if m != nil {
		return m.OptionalIsFrontDefrosterOn
	}
	return nil
}

func (x *ClimateState) GetIsFrontDefrosterOn() bool {
	if x, ok := x.GetOptionalIsFrontDefrosterOn().(*ClimateState_IsFrontDefrosterOn); ok {
		return x.IsFrontDefrosterOn
	}
	return false
}

func (m *ClimateState) GetOptionalIsRearDefrosterOn() isClimateState_OptionalIsRearDefrosterOn {
	if m != nil {
		return m.OptionalIsRearDefrosterOn
	}
	return nil
}

func (x *ClimateState) GetIsRearDefrosterOn() bool {
	if x, ok := x.GetOptionalIsRearDefrosterOn().(*ClimateState_IsRearDefrosterOn); ok {
		return x.IsRearDefrosterOn
	}
	return false
}

func (m *ClimateState) GetOptionalFanStatus() isClimateState_OptionalFanStatus {
	if m != nil {
		return m.OptionalFanStatus
	}
	return nil
}

func (x *ClimateState) GetFanStatus() int32 {
	if x, ok := x.GetOptionalFanStatus().(*ClimateState_FanStatus); ok {
		return x.FanStatus
	}
	return 0
}

func (m *ClimateState) GetOptionalIsClimateOn() isClimateState_OptionalIsClimateOn {
	if m != nil {
		return m.OptionalIsClimateOn
	}
	return nil
}

func (x *ClimateState) GetIsClimateOn() bool {
	if x, ok := x.GetOptionalIsClimateOn().(*ClimateState_IsClimateOn); ok {
		return x.IsClimateOn
	}
	return false
}

func (m *ClimateState) GetOptionalMinAvailTempCelsius() isClimateState_OptionalMinAvailTempCelsius {
	if m != nil {
		return m.OptionalMinAvailTempCelsius
	}
	return nil
}

func (x *ClimateState) GetMinAvailTempCelsius() float32 {
	if x, ok := x.GetOptionalMinAvailTempCelsius().(*ClimateState_MinAvailTempCelsius); ok {
		return x.MinAvailTempCelsius
	}
	return 0
}

func (m *ClimateState) GetOptionalMaxAvailTempCelsius() isClimateState_OptionalMaxAvailTempCelsius {
	if m != nil {
		return m.OptionalMaxAvailTempCelsius
	}
	return nil
}

func (x *ClimateState) GetMaxAvailTempCelsius() float32 {
	if x, ok := x.GetOptionalMaxAvailTempCelsius().(*ClimateState_MaxAvailTempCelsius); ok {
		return x.MaxAvailTempCelsius
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterLeft() isClimateState_OptionalSeatHeaterLeft {
	if m != nil {
		return m.OptionalSeatHeaterLeft
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterLeft() int32 {
	if x, ok := x.GetOptionalSeatHeaterLeft().(*ClimateState_SeatHeaterLeft); ok {
		return x.SeatHeaterLeft
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRight() isClimateState_OptionalSeatHeaterRight {
	if m != nil {
		return m.OptionalSeatHeaterRight
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRight() int32 {
	if x, ok := x.GetOptionalSeatHeaterRight().(*ClimateState_SeatHeaterRight); ok {
		return x.SeatHeaterRight
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRearLeft() isClimateState_OptionalSeatHeaterRearLeft {
	if m != nil {
		return m.OptionalSeatHeaterRearLeft
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRearLeft() int32 {
	if x, ok := x.GetOptionalSeatHeaterRearLeft().(*ClimateState_SeatHeaterRearLeft); ok {
		return x.SeatHeaterRearLeft
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRearRight() isClimateState_OptionalSeatHeaterRearRight {
	if m != nil {
		return m.OptionalSeatHeaterRearRight
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRearRight() int32 {
	if x, ok := x.GetOptionalSeatHeaterRearRight().(*ClimateState_SeatHeaterRearRight); ok {
		return x.SeatHeaterRearRight
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRearCenter() isClimateState_OptionalSeatHeaterRearCenter {
	if m != nil {
		return m.OptionalSeatHeaterRearCenter
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRearCenter() int32 {
	if x, ok := x.GetOptionalSeatHeaterRearCenter().(*ClimateState_SeatHeaterRearCenter); ok {
		return x.SeatHeaterRearCenter
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRearRightBack() isClimateState_OptionalSeatHeaterRearRightBack {
	if m != nil {
		return m.OptionalSeatHeaterRearRightBack
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRearRightBack() int32 {
	if x, ok := x.GetOptionalSeatHeaterRearRightBack().(*ClimateState_SeatHeaterRearRightBack); ok {
		return x.SeatHeaterRearRightBack
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterRearLeftBack() isClimateState_OptionalSeatHeaterRearLeftBack {
	if m != nil {
		return m.OptionalSeatHeaterRearLeftBack
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterRearLeftBack() int32 {
	if x, ok := x.GetOptionalSeatHeaterRearLeftBack().(*ClimateState_SeatHeaterRearLeftBack); ok {
		return x.SeatHeaterRearLeftBack
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterThirdRowRight() isClimateState_OptionalSeatHeaterThirdRowRight {
	if m != nil {
		return m.OptionalSeatHeaterThirdRowRight
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterThirdRowRight() int32 {
	if x, ok := x.GetOptionalSeatHeaterThirdRowRight().(*ClimateState_SeatHeaterThirdRowRight); ok {
		return x.SeatHeaterThirdRowRight
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatHeaterThirdRowLeft() isClimateState_OptionalSeatHeaterThirdRowLeft {
	if m != nil {
		return m.OptionalSeatHeaterThirdRowLeft
	}
	return nil
}

func (x *ClimateState) GetSeatHeaterThirdRowLeft() int32 {
	if x, ok := x.GetOptionalSeatHeaterThirdRowLeft().(*ClimateState_SeatHeaterThirdRowLeft); ok {
		return x.SeatHeaterThirdRowLeft
	}
	return 0
}

func (m *ClimateState) GetOptionalBatteryHeater() isClimateState_OptionalBatteryHeater {
	if m != nil {
		return m.OptionalBatteryHeater
	}
	return nil
}

func (x *ClimateState) GetBatteryHeater() bool {
	if x, ok := x.GetOptionalBatteryHeater().(*ClimateState_BatteryHeater); ok {
		return x.BatteryHeater
	}
	return false
}

func (m *ClimateState) GetOptionalBatteryHeaterNoPower() isClimateState_OptionalBatteryHeaterNoPower {
	if m != nil {
		return m.OptionalBatteryHeaterNoPower
	}
	return nil
}

func (x *ClimateState) GetBatteryHeaterNoPower() bool {
	if x, ok := x.GetOptionalBatteryHeaterNoPower().(*ClimateState_BatteryHeaterNoPower); ok {
		return x.BatteryHeaterNoPower
	}
	return false
}

func (m *ClimateState) GetOptionalSteeringWheelHeater() isClimateState_OptionalSteeringWheelHeater {
	if m != nil {
		return m.OptionalSteeringWheelHeater
	}
	return nil
}

func (x *ClimateState) GetSteeringWheelHeater() bool {
	if x, ok := x.GetOptionalSteeringWheelHeater().(*ClimateState_SteeringWheelHeater); ok {
		return x.SteeringWheelHeater
	}
	return false
}

func (m *ClimateState) GetOptionalWiperBladeHeater() isClimateState_OptionalWiperBladeHeater {
	if m != nil {
		return m.OptionalWiperBladeHeater
	}
	return nil
}

func (x *ClimateState) GetWiperBladeHeater() bool {
	if x, ok := x.GetOptionalWiperBladeHeater().(*ClimateState_WiperBladeHeater); ok {
		return x.WiperBladeHeater
	}
	return false
}

func (m *ClimateState) GetOptionalSideMirrorHeaters() isClimateState_OptionalSideMirrorHeaters {
	if m != nil {
		return m.OptionalSideMirrorHeaters
	}
	return nil
}

func (x *ClimateState) GetSideMirrorHeaters() bool {
	if x, ok := x.GetOptionalSideMirrorHeaters().(*ClimateState_SideMirrorHeaters); ok {
		return x.SideMirrorHeaters
	}
	return false
}

func (m *ClimateState) GetOptionalIsPreconditioning() isClimateState_OptionalIsPreconditioning {
	if m != nil {
		return m.OptionalIsPreconditioning
	}
	return nil
}

func (x *ClimateState) GetIsPreconditioning() bool {
	if x, ok := x.GetOptionalIsPreconditioning().(*ClimateState_IsPreconditioning); ok {
		return x.IsPreconditioning
	}
	return false
}

func (m *ClimateState) GetOptionalRemoteHeaterControlEnabled() isClimateState_OptionalRemoteHeaterControlEnabled {
	if m != nil {
		return m.OptionalRemoteHeaterControlEnabled
	}
	return nil
}

func (x *ClimateState) GetRemoteHeaterControlEnabled() bool {
	if x, ok := x.GetOptionalRemoteHeaterControlEnabled().(*ClimateState_RemoteHeaterControlEnabled); ok {
		return x.RemoteHeaterControlEnabled
	}
	return false
}

func (x *ClimateState) GetClimateKeeperMode() *ClimateState_ClimateKeeperMode {
	if x != nil {
		return x.ClimateKeeperMode
	}
	return nil
}

func (x *ClimateState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *ClimateState) GetOptionalBioweaponModeOn() isClimateState_OptionalBioweaponModeOn {
	if m != nil {
		return m.OptionalBioweaponModeOn
	}
	return nil
}

func (x *ClimateState) GetBioweaponModeOn() bool {
	if x, ok := x.GetOptionalBioweaponModeOn().(*ClimateState_BioweaponModeOn); ok {
		return x.BioweaponModeOn
	}
	return false
}

func (x *ClimateState) GetDefrostMode() *ClimateState_DefrostMode {
	if x != nil {
		return x.DefrostMode
	}
	return nil
}

func (m *ClimateState) GetOptionalIsAutoConditioningOn() isClimateState_OptionalIsAutoConditioningOn {
	if m != nil {
		return m.OptionalIsAutoConditioningOn
	}
	return nil
}

func (x *ClimateState) GetIsAutoConditioningOn() bool {
	if x, ok := x.GetOptionalIsAutoConditioningOn().(*ClimateState_IsAutoConditioningOn); ok {
		return x.IsAutoConditioningOn
	}
	return false
}

func (m *ClimateState) GetOptionalAutoSeatClimateLeft() isClimateState_OptionalAutoSeatClimateLeft {
	if m != nil {
		return m.OptionalAutoSeatClimateLeft
	}
	return nil
}

func (x *ClimateState) GetAutoSeatClimateLeft() bool {
	if x, ok := x.GetOptionalAutoSeatClimateLeft().(*ClimateState_AutoSeatClimateLeft); ok {
		return x.AutoSeatClimateLeft
	}
	return false
}

func (m *ClimateState) GetOptionalAutoSeatClimateRight() isClimateState_OptionalAutoSeatClimateRight {
	if m != nil {
		return m.OptionalAutoSeatClimateRight
	}
	return nil
}

func (x *ClimateState) GetAutoSeatClimateRight() bool {
	if x, ok := x.GetOptionalAutoSeatClimateRight().(*ClimateState_AutoSeatClimateRight); ok {
		return x.AutoSeatClimateRight
	}
	return false
}

func (m *ClimateState) GetOptionalSeatFanFrontLeft() isClimateState_OptionalSeatFanFrontLeft {
	if m != nil {
		return m.OptionalSeatFanFrontLeft
	}
	return nil
}

func (x *ClimateState) GetSeatFanFrontLeft() int32 {
	if x, ok := x.GetOptionalSeatFanFrontLeft().(*ClimateState_SeatFanFrontLeft); ok {
		return x.SeatFanFrontLeft
	}
	return 0
}

func (m *ClimateState) GetOptionalSeatFanFrontRight() isClimateState_OptionalSeatFanFrontRight {
	if m != nil {
		return m.OptionalSeatFanFrontRight
	}
	return nil
}

func (x *ClimateState) GetSeatFanFrontRight() int32 {
	if x, ok := x.GetOptionalSeatFanFrontRight().(*ClimateState_SeatFanFrontRight); ok {
		return x.SeatFanFrontRight
	}
	return 0
}

func (m *ClimateState) GetOptionalAllowCabinOverheatProtection() isClimateState_OptionalAllowCabinOverheatProtection {
	if m != nil {
		return m.OptionalAllowCabinOverheatProtection
	}
	return nil
}

func (x *ClimateState) GetAllowCabinOverheatProtection() bool {
	if x, ok := x.GetOptionalAllowCabinOverheatProtection().(*ClimateState_AllowCabinOverheatProtection); ok {
		return x.AllowCabinOverheatProtection
	}
	return false
}

func (m *ClimateState) GetOptionalSupportsFanOnlyCabinOverheatProtection() isClimateState_OptionalSupportsFanOnlyCabinOverheatProtection {
	if m != nil {
		return m.OptionalSupportsFanOnlyCabinOverheatProtection
	}
	return nil
}

func (x *ClimateState) GetSupportsFanOnlyCabinOverheatProtection() bool {
	if x, ok := x.GetOptionalSupportsFanOnlyCabinOverheatProtection().(*ClimateState_SupportsFanOnlyCabinOverheatProtection); ok {
		return x.SupportsFanOnlyCabinOverheatProtection
	}
	return false
}

func (m *ClimateState) GetOptionalCabinOverheatProtection() isClimateState_OptionalCabinOverheatProtection {
	if m != nil {
		return m.OptionalCabinOverheatProtection
	}
	return nil
}

func (x *ClimateState) GetCabinOverheatProtection() ClimateState_CabinOverheatProtection_E {
	if x, ok := x.GetOptionalCabinOverheatProtection().(*ClimateState_CabinOverheatProtection); ok {
		return x.CabinOverheatProtection
	}
	return ClimateState_CabinOverheatProtectionOff
}

func (m *ClimateState) GetOptionalCabinOverheatProtectionActivelyCooling() isClimateState_OptionalCabinOverheatProtectionActivelyCooling {
	if m != nil {
		return m.OptionalCabinOverheatProtectionActivelyCooling
	}
	return nil
}

func (x *ClimateState) GetCabinOverheatProtectionActivelyCooling() bool {
	if x, ok := x.GetOptionalCabinOverheatProtectionActivelyCooling().(*ClimateState_CabinOverheatProtectionActivelyCooling); ok {
		return x.CabinOverheatProtectionActivelyCooling
	}
	return false
}

func (m *ClimateState) GetOptionalCopActivationTemperature() isClimateState_OptionalCopActivationTemperature {
	if m != nil {
		return m.OptionalCopActivationTemperature
	}
	return nil
}

func (x *ClimateState) GetCopActivationTemperature() ClimateState_CopActivationTemp {
	if x, ok := x.GetOptionalCopActivationTemperature().(*ClimateState_CopActivationTemperature); ok {
		return x.CopActivationTemperature
	}
	return ClimateState_CopActivationTempUnspecified
}

func (m *ClimateState) GetOptionalAutoSteeringWheelHeat() isClimateState_OptionalAutoSteeringWheelHeat {
	if m != nil {
		return m.OptionalAutoSteeringWheelHeat
	}
	return nil
}

func (x *ClimateState) GetAutoSteeringWheelHeat() bool {
	if x, ok := x.GetOptionalAutoSteeringWheelHeat().(*ClimateState_AutoSteeringWheelHeat); ok {
		return x.AutoSteeringWheelHeat
	}
	return false
}

func (m *ClimateState) GetOptionalSteeringWheelHeatLevel() isClimateState_OptionalSteeringWheelHeatLevel {
	if m != nil {
		return m.OptionalSteeringWheelHeatLevel
	}
	return nil
}

func (x *ClimateState) GetSteeringWheelHeatLevel() StwHeatLevel {
	if x, ok := x.GetOptionalSteeringWheelHeatLevel().(*ClimateState_SteeringWheelHeatLevel); ok {
		return x.SteeringWheelHeatLevel
	}
	return StwHeatLevel_StwHeatLevel_Unknown
}

func (m *ClimateState) GetOptionalHvacAutoRequest() isClimateState_OptionalHvacAutoRequest {
	if m != nil {
		return m.OptionalHvacAutoRequest
	}
	return nil
}

func (x *ClimateState) GetHvacAutoRequest() ClimateState_HvacAutoRequest {
	if x, ok := x.GetOptionalHvacAutoRequest().(*ClimateState_HvacAutoRequest_); ok {
		return x.HvacAutoRequest
	}
	return ClimateState_HvacAutoRequestOn
}

func (m *ClimateState) GetOptionalCopNotRunningReason() isClimateState_OptionalCopNotRunningReason {
	if m != nil {
		return m.OptionalCopNotRunningReason
	}
	return nil
}

func (x *ClimateState) GetCopNotRunningReason() ClimateState_COPNotRunningReason {
	if x, ok := x.GetOptionalCopNotRunningReason().(*ClimateState_CopNotRunningReason); ok {
		return x.CopNotRunningReason
	}
	return ClimateState_COPNotRunningReasonNoReason
}

type isClimateState_OptionalInsideTempCelsius interface {
	isClimateState_OptionalInsideTempCelsius()
}

type ClimateState_InsideTempCelsius struct {
	InsideTempCelsius float32 `protobuf:"fixed32,101,opt,name=inside_temp_celsius,json=insideTempCelsius,proto3,oneof"`
}

func (*ClimateState_InsideTempCelsius) isClimateState_OptionalInsideTempCelsius() {}

type isClimateState_OptionalOutsideTempCelsius interface {
	isClimateState_OptionalOutsideTempCelsius()
}

type ClimateState_OutsideTempCelsius struct {
	OutsideTempCelsius float32 `protobuf:"fixed32,102,opt,name=outside_temp_celsius,json=outsideTempCelsius,proto3,oneof"`
}

func (*ClimateState_OutsideTempCelsius) isClimateState_OptionalOutsideTempCelsius() {}

type isClimateState_OptionalDriverTempSetting interface {
	isClimateState_OptionalDriverTempSetting()
}

type ClimateState_DriverTempSetting struct {
	DriverTempSetting float32 `protobuf:"fixed32,103,opt,name=driver_temp_setting,json=driverTempSetting,proto3,oneof"`
}

func (*ClimateState_DriverTempSetting) isClimateState_OptionalDriverTempSetting() {}

type isClimateState_OptionalPassengerTempSetting interface {
	isClimateState_OptionalPassengerTempSetting()
}

type ClimateState_PassengerTempSetting struct {
	PassengerTempSetting float32 `protobuf:"fixed32,104,opt,name=passenger_temp_setting,json=passengerTempSetting,proto3,oneof"`
}

func (*ClimateState_PassengerTempSetting) isClimateState_OptionalPassengerTempSetting() {}

type isClimateState_OptionalLeftTempDirection interface {
	isClimateState_OptionalLeftTempDirection()
}

type ClimateState_LeftTempDirection struct {
	LeftTempDirection int32 `protobuf:"varint,105,opt,name=left_temp_direction,json=leftTempDirection,proto3,oneof"`
}

func (*ClimateState_LeftTempDirection) isClimateState_OptionalLeftTempDirection() {}

type isClimateState_OptionalRightTempDirection interface {
	isClimateState_OptionalRightTempDirection()
}

type ClimateState_RightTempDirection struct {
	RightTempDirection int32 `protobuf:"varint,106,opt,name=right_temp_direction,json=rightTempDirection,proto3,oneof"`
}

func (*ClimateState_RightTempDirection) isClimateState_OptionalRightTempDirection() {}

type isClimateState_OptionalIsFrontDefrosterOn interface {
	isClimateState_OptionalIsFrontDefrosterOn()
}

type ClimateState_IsFrontDefrosterOn struct {
	IsFrontDefrosterOn bool `protobuf:"varint,107,opt,name=is_front_defroster_on,json=isFrontDefrosterOn,proto3,oneof"`
}

func (*ClimateState_IsFrontDefrosterOn) isClimateState_OptionalIsFrontDefrosterOn() {}

type isClimateState_OptionalIsRearDefrosterOn interface {
	isClimateState_OptionalIsRearDefrosterOn()
}

type ClimateState_IsRearDefrosterOn struct {
	IsRearDefrosterOn bool `protobuf:"varint,108,opt,name=is_rear_defroster_on,json=isRearDefrosterOn,proto3,oneof"`
}

func (*ClimateState_IsRearDefrosterOn) isClimateState_OptionalIsRearDefrosterOn() {}

type isClimateState_OptionalFanStatus interface {
	isClimateState_OptionalFanStatus()
}

type ClimateState_FanStatus struct {
	FanStatus int32 `protobuf:"varint,109,opt,name=fan_status,json=fanStatus,proto3,oneof"`
}

func (*ClimateState_FanStatus) isClimateState_OptionalFanStatus() {}

type isClimateState_OptionalIsClimateOn interface {
	isClimateState_OptionalIsClimateOn()
}

type ClimateState_IsClimateOn struct {
	IsClimateOn bool `protobuf:"varint,110,opt,name=is_climate_on,json=isClimateOn,proto3,oneof"`
}

func (*ClimateState_IsClimateOn) isClimateState_OptionalIsClimateOn() {}

type isClimateState_OptionalMinAvailTempCelsius interface {
	isClimateState_OptionalMinAvailTempCelsius()
}

type ClimateState_MinAvailTempCelsius struct {
	MinAvailTempCelsius float32 `protobuf:"fixed32,111,opt,name=min_avail_temp_celsius,json=minAvailTempCelsius,proto3,oneof"`
}

func (*ClimateState_MinAvailTempCelsius) isClimateState_OptionalMinAvailTempCelsius() {}

type isClimateState_OptionalMaxAvailTempCelsius interface {
	isClimateState_OptionalMaxAvailTempCelsius()
}

type ClimateState_MaxAvailTempCelsius struct {
	MaxAvailTempCelsius float32 `protobuf:"fixed32,112,opt,name=max_avail_temp_celsius,json=maxAvailTempCelsius,proto3,oneof"`
}

func (*ClimateState_MaxAvailTempCelsius) isClimateState_OptionalMaxAvailTempCelsius() {}

type isClimateState_OptionalSeatHeaterLeft interface {
	isClimateState_OptionalSeatHeaterLeft()
}

type ClimateState_SeatHeaterLeft struct {
	SeatHeaterLeft int32 `protobuf:"varint,113,opt,name=seat_heater_left,json=seatHeaterLeft,proto3,oneof"`
}

func (*ClimateState_SeatHeaterLeft) isClimateState_OptionalSeatHeaterLeft() {}

type isClimateState_OptionalSeatHeaterRight interface {
	isClimateState_OptionalSeatHeaterRight()
}

type ClimateState_SeatHeaterRight struct {
	SeatHeaterRight int32 `protobuf:"varint,114,opt,name=seat_heater_right,json=seatHeaterRight,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRight) isClimateState_OptionalSeatHeaterRight() {}

type isClimateState_OptionalSeatHeaterRearLeft interface {
	isClimateState_OptionalSeatHeaterRearLeft()
}

type ClimateState_SeatHeaterRearLeft struct {
	SeatHeaterRearLeft int32 `protobuf:"varint,115,opt,name=seat_heater_rear_left,json=seatHeaterRearLeft,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRearLeft) isClimateState_OptionalSeatHeaterRearLeft() {}

type isClimateState_OptionalSeatHeaterRearRight interface {
	isClimateState_OptionalSeatHeaterRearRight()
}

type ClimateState_SeatHeaterRearRight struct {
	SeatHeaterRearRight int32 `protobuf:"varint,116,opt,name=seat_heater_rear_right,json=seatHeaterRearRight,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRearRight) isClimateState_OptionalSeatHeaterRearRight() {}

type isClimateState_OptionalSeatHeaterRearCenter interface {
	isClimateState_OptionalSeatHeaterRearCenter()
}

type ClimateState_SeatHeaterRearCenter struct {
	SeatHeaterRearCenter int32 `protobuf:"varint,117,opt,name=seat_heater_rear_center,json=seatHeaterRearCenter,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRearCenter) isClimateState_OptionalSeatHeaterRearCenter() {}

type isClimateState_OptionalSeatHeaterRearRightBack interface {
	isClimateState_OptionalSeatHeaterRearRightBack()
}

type ClimateState_SeatHeaterRearRightBack struct {
	SeatHeaterRearRightBack int32 `protobuf:"varint,118,opt,name=seat_heater_rear_right_back,json=seatHeaterRearRightBack,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRearRightBack) isClimateState_OptionalSeatHeaterRearRightBack() {}

type isClimateState_OptionalSeatHeaterRearLeftBack interface {
	isClimateState_OptionalSeatHeaterRearLeftBack()
}

type ClimateState_SeatHeaterRearLeftBack struct {
	SeatHeaterRearLeftBack int32 `protobuf:"varint,119,opt,name=seat_heater_rear_left_back,json=seatHeaterRearLeftBack,proto3,oneof"`
}

func (*ClimateState_SeatHeaterRearLeftBack) isClimateState_OptionalSeatHeaterRearLeftBack() {}

type isClimateState_OptionalSeatHeaterThirdRowRight interface {
	isClimateState_OptionalSeatHeaterThirdRowRight()
}

type ClimateState_SeatHeaterThirdRowRight struct {
	SeatHeaterThirdRowRight int32 `protobuf:"varint,120,opt,name=seat_heater_third_row_right,json=seatHeaterThirdRowRight,proto3,oneof"`
}

func (*ClimateState_SeatHeaterThirdRowRight) isClimateState_OptionalSeatHeaterThirdRowRight() {}

type isClimateState_OptionalSeatHeaterThirdRowLeft interface {
	isClimateState_OptionalSeatHeaterThirdRowLeft()
}

type ClimateState_SeatHeaterThirdRowLeft struct {
	SeatHeaterThirdRowLeft int32 `protobuf:"varint,121,opt,name=seat_heater_third_row_left,json=seatHeaterThirdRowLeft,proto3,oneof"`
}

func (*ClimateState_SeatHeaterThirdRowLeft) isClimateState_OptionalSeatHeaterThirdRowLeft() {}

type isClimateState_OptionalBatteryHeater interface {
	isClimateState_OptionalBatteryHeater()
}

type ClimateState_BatteryHeater struct {
	BatteryHeater bool `protobuf:"varint,122,opt,name=battery_heater,json=batteryHeater,proto3,oneof"`
}

func (*ClimateState_BatteryHeater) isClimateState_OptionalBatteryHeater() {}

type isClimateState_OptionalBatteryHeaterNoPower interface {
	isClimateState_OptionalBatteryHeaterNoPower()
}

type ClimateState_BatteryHeaterNoPower struct {
	BatteryHeaterNoPower bool `protobuf:"varint,123,opt,name=battery_heater_no_power,json=batteryHeaterNoPower,proto3,oneof"`
}

func (*ClimateState_BatteryHeaterNoPower) isClimateState_OptionalBatteryHeaterNoPower() {}

type isClimateState_OptionalSteeringWheelHeater interface {
	isClimateState_OptionalSteeringWheelHeater()
}

type ClimateState_SteeringWheelHeater struct {
	SteeringWheelHeater bool `protobuf:"varint,125,opt,name=steering_wheel_heater,json=steeringWheelHeater,proto3,oneof"`
}

func (*ClimateState_SteeringWheelHeater) isClimateState_OptionalSteeringWheelHeater() {}

type isClimateState_OptionalWiperBladeHeater interface {
	isClimateState_OptionalWiperBladeHeater()
}

type ClimateState_WiperBladeHeater struct {
	WiperBladeHeater bool `protobuf:"varint,126,opt,name=wiper_blade_heater,json=wiperBladeHeater,proto3,oneof"`
}

func (*ClimateState_WiperBladeHeater) isClimateState_OptionalWiperBladeHeater() {}

type isClimateState_OptionalSideMirrorHeaters interface {
	isClimateState_OptionalSideMirrorHeaters()
}

type ClimateState_SideMirrorHeaters struct {
	SideMirrorHeaters bool `protobuf:"varint,127,opt,name=side_mirror_heaters,json=sideMirrorHeaters,proto3,oneof"`
}

func (*ClimateState_SideMirrorHeaters) isClimateState_OptionalSideMirrorHeaters() {}

type isClimateState_OptionalIsPreconditioning interface {
	isClimateState_OptionalIsPreconditioning()
}

type ClimateState_IsPreconditioning struct {
	IsPreconditioning bool `protobuf:"varint,128,opt,name=is_preconditioning,json=isPreconditioning,proto3,oneof"`
}

func (*ClimateState_IsPreconditioning) isClimateState_OptionalIsPreconditioning() {}

type isClimateState_OptionalRemoteHeaterControlEnabled interface {
	isClimateState_OptionalRemoteHeaterControlEnabled()
}

type ClimateState_RemoteHeaterControlEnabled struct {
	RemoteHeaterControlEnabled bool `protobuf:"varint,129,opt,name=remote_heater_control_enabled,json=remoteHeaterControlEnabled,proto3,oneof"`
}

func (*ClimateState_RemoteHeaterControlEnabled) isClimateState_OptionalRemoteHeaterControlEnabled() {}

type isClimateState_OptionalBioweaponModeOn interface {
	isClimateState_OptionalBioweaponModeOn()
}

type ClimateState_BioweaponModeOn struct {
	BioweaponModeOn bool `protobuf:"varint,134,opt,name=bioweapon_mode_on,json=bioweaponModeOn,proto3,oneof"`
}

func (*ClimateState_BioweaponModeOn) isClimateState_OptionalBioweaponModeOn() {}

type isClimateState_OptionalIsAutoConditioningOn interface {
	isClimateState_OptionalIsAutoConditioningOn()
}

type ClimateState_IsAutoConditioningOn struct {
	IsAutoConditioningOn bool `protobuf:"varint,136,opt,name=is_auto_conditioning_on,json=isAutoConditioningOn,proto3,oneof"`
}

func (*ClimateState_IsAutoConditioningOn) isClimateState_OptionalIsAutoConditioningOn() {}

type isClimateState_OptionalAutoSeatClimateLeft interface {
	isClimateState_OptionalAutoSeatClimateLeft()
}

type ClimateState_AutoSeatClimateLeft struct {
	AutoSeatClimateLeft bool `protobuf:"varint,137,opt,name=auto_seat_climate_left,json=autoSeatClimateLeft,proto3,oneof"`
}

func (*ClimateState_AutoSeatClimateLeft) isClimateState_OptionalAutoSeatClimateLeft() {}

type isClimateState_OptionalAutoSeatClimateRight interface {
	isClimateState_OptionalAutoSeatClimateRight()
}

type ClimateState_AutoSeatClimateRight struct {
	AutoSeatClimateRight bool `protobuf:"varint,138,opt,name=auto_seat_climate_right,json=autoSeatClimateRight,proto3,oneof"`
}

func (*ClimateState_AutoSeatClimateRight) isClimateState_OptionalAutoSeatClimateRight() {}

type isClimateState_OptionalSeatFanFrontLeft interface {
	isClimateState_OptionalSeatFanFrontLeft()
}

type ClimateState_SeatFanFrontLeft struct {
	SeatFanFrontLeft int32 `protobuf:"varint,139,opt,name=seat_fan_front_left,json=seatFanFrontLeft,proto3,oneof"`
}

func (*ClimateState_SeatFanFrontLeft) isClimateState_OptionalSeatFanFrontLeft() {}

type isClimateState_OptionalSeatFanFrontRight interface {
	isClimateState_OptionalSeatFanFrontRight()
}

type ClimateState_SeatFanFrontRight struct {
	SeatFanFrontRight int32 `protobuf:"varint,140,opt,name=seat_fan_front_right,json=seatFanFrontRight,proto3,oneof"`
}

func (*ClimateState_SeatFanFrontRight) isClimateState_OptionalSeatFanFrontRight() {}

type isClimateState_OptionalAllowCabinOverheatProtection interface {
	isClimateState_OptionalAllowCabinOverheatProtection()
}

type ClimateState_AllowCabinOverheatProtection struct {
	AllowCabinOverheatProtection bool `protobuf:"varint,141,opt,name=allow_cabin_overheat_protection,json=allowCabinOverheatProtection,proto3,oneof"`
}

func (*ClimateState_AllowCabinOverheatProtection) isClimateState_OptionalAllowCabinOverheatProtection() {
}

type isClimateState_OptionalSupportsFanOnlyCabinOverheatProtection interface {
	isClimateState_OptionalSupportsFanOnlyCabinOverheatProtection()
}

type ClimateState_SupportsFanOnlyCabinOverheatProtection struct {
	SupportsFanOnlyCabinOverheatProtection bool `protobuf:"varint,142,opt,name=supports_fan_only_cabin_overheat_protection,json=supportsFanOnlyCabinOverheatProtection,proto3,oneof"`
}

func (*ClimateState_SupportsFanOnlyCabinOverheatProtection) isClimateState_OptionalSupportsFanOnlyCabinOverheatProtection() {
}

type isClimateState_OptionalCabinOverheatProtection interface {
	isClimateState_OptionalCabinOverheatProtection()
}

type ClimateState_CabinOverheatProtection struct {
	CabinOverheatProtection ClimateState_CabinOverheatProtection_E `protobuf:"varint,143,opt,name=cabin_overheat_protection,json=cabinOverheatProtection,proto3,enum=CarServer.ClimateState_CabinOverheatProtection_E,oneof"`
}

func (*ClimateState_CabinOverheatProtection) isClimateState_OptionalCabinOverheatProtection() {}

type isClimateState_OptionalCabinOverheatProtectionActivelyCooling interface {
	isClimateState_OptionalCabinOverheatProtectionActivelyCooling()
}

type ClimateState_CabinOverheatProtectionActivelyCooling struct {
	CabinOverheatProtectionActivelyCooling bool `protobuf:"varint,144,opt,name=cabin_overheat_protection_actively_cooling,json=cabinOverheatProtectionActivelyCooling,proto3,oneof"`
}

func (*ClimateState_CabinOverheatProtectionActivelyCooling) isClimateState_OptionalCabinOverheatProtectionActivelyCooling() {
}

type isClimateState_OptionalCopActivationTemperature interface {
	isClimateState_OptionalCopActivationTemperature()
}

type ClimateState_CopActivationTemperature struct {
	CopActivationTemperature ClimateState_CopActivationTemp `protobuf:"varint,146,opt,name=cop_activation_temperature,json=copActivationTemperature,proto3,enum=CarServer.ClimateState_CopActivationTemp,oneof"`
}

func (*ClimateState_CopActivationTemperature) isClimateState_OptionalCopActivationTemperature() {}

type isClimateState_OptionalAutoSteeringWheelHeat interface {
	isClimateState_OptionalAutoSteeringWheelHeat()
}

type ClimateState_AutoSteeringWheelHeat struct {
	AutoSteeringWheelHeat bool `protobuf:"varint,147,opt,name=auto_steering_wheel_heat,json=autoSteeringWheelHeat,proto3,oneof"`
}

func (*ClimateState_AutoSteeringWheelHeat) isClimateState_OptionalAutoSteeringWheelHeat() {}

type isClimateState_OptionalSteeringWheelHeatLevel interface {
	isClimateState_OptionalSteeringWheelHeatLevel()
}

type ClimateState_SteeringWheelHeatLevel struct {
	SteeringWheelHeatLevel StwHeatLevel `protobuf:"varint,148,opt,name=steering_wheel_heat_level,json=steeringWheelHeatLevel,proto3,enum=CarServer.StwHeatLevel,oneof"`
}

func (*ClimateState_SteeringWheelHeatLevel) isClimateState_OptionalSteeringWheelHeatLevel() {}

type isClimateState_OptionalHvacAutoRequest interface {
	isClimateState_OptionalHvacAutoRequest()
}

type ClimateState_HvacAutoRequest_ struct {
	HvacAutoRequest ClimateState_HvacAutoRequest `protobuf:"varint,150,opt,name=hvac_auto_request,json=hvacAutoRequest,proto3,enum=CarServer.ClimateState_HvacAutoRequest,oneof"`
}

func (*ClimateState_HvacAutoRequest_) isClimateState_OptionalHvacAutoRequest() {}

type isClimateState_OptionalCopNotRunningReason interface {
	isClimateState_OptionalCopNotRunningReason()
}

type ClimateState_CopNotRunningReason struct {
	CopNotRunningReason ClimateState_COPNotRunningReason `protobuf:"varint,151,opt,name=cop_not_running_reason,json=copNotRunningReason,proto3,enum=CarServer.ClimateState_COPNotRunningReason,oneof"`
}

func (*ClimateState_CopNotRunningReason) isClimateState_OptionalCopNotRunningReason() {}

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

	// tpms pressure values in bar
	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalTpmsPressureFl:
	//	*TirePressureState_TpmsPressureFl
	OptionalTpmsPressureFl isTirePressureState_OptionalTpmsPressureFl `protobuf_oneof:"optional_tpms_pressure_fl"`
	// Types that are assignable to OptionalTpmsPressureFr:
	//	*TirePressureState_TpmsPressureFr
	OptionalTpmsPressureFr isTirePressureState_OptionalTpmsPressureFr `protobuf_oneof:"optional_tpms_pressure_fr"`
	// Types that are assignable to OptionalTpmsPressureRl:
	//	*TirePressureState_TpmsPressureRl
	OptionalTpmsPressureRl isTirePressureState_OptionalTpmsPressureRl `protobuf_oneof:"optional_tpms_pressure_rl"`
	// Types that are assignable to OptionalTpmsPressureRr:
	//	*TirePressureState_TpmsPressureRr
	OptionalTpmsPressureRr     isTirePressureState_OptionalTpmsPressureRr `protobuf_oneof:"optional_tpms_pressure_rr"`
	TpmsLastSeenPressureTimeFl *timestamppb.Timestamp                     `protobuf:"bytes,6,opt,name=tpms_last_seen_pressure_time_fl,json=tpmsLastSeenPressureTimeFl,proto3" json:"tpms_last_seen_pressure_time_fl,omitempty"`
	TpmsLastSeenPressureTimeFr *timestamppb.Timestamp                     `protobuf:"bytes,7,opt,name=tpms_last_seen_pressure_time_fr,json=tpmsLastSeenPressureTimeFr,proto3" json:"tpms_last_seen_pressure_time_fr,omitempty"`
	TpmsLastSeenPressureTimeRl *timestamppb.Timestamp                     `protobuf:"bytes,8,opt,name=tpms_last_seen_pressure_time_rl,json=tpmsLastSeenPressureTimeRl,proto3" json:"tpms_last_seen_pressure_time_rl,omitempty"`
	TpmsLastSeenPressureTimeRr *timestamppb.Timestamp                     `protobuf:"bytes,9,opt,name=tpms_last_seen_pressure_time_rr,json=tpmsLastSeenPressureTimeRr,proto3" json:"tpms_last_seen_pressure_time_rr,omitempty"`
	// Types that are assignable to OptionalTpmsHardWarningFl:
	//	*TirePressureState_TpmsHardWarningFl
	OptionalTpmsHardWarningFl isTirePressureState_OptionalTpmsHardWarningFl `protobuf_oneof:"optional_tpms_hard_warning_fl"`
	// Types that are assignable to OptionalTpmsHardWarningFr:
	//	*TirePressureState_TpmsHardWarningFr
	OptionalTpmsHardWarningFr isTirePressureState_OptionalTpmsHardWarningFr `protobuf_oneof:"optional_tpms_hard_warning_fr"`
	// Types that are assignable to OptionalTpmsHardWarningRl:
	//	*TirePressureState_TpmsHardWarningRl
	OptionalTpmsHardWarningRl isTirePressureState_OptionalTpmsHardWarningRl `protobuf_oneof:"optional_tpms_hard_warning_rl"`
	// Types that are assignable to OptionalTpmsHardWarningRr:
	//	*TirePressureState_TpmsHardWarningRr
	OptionalTpmsHardWarningRr isTirePressureState_OptionalTpmsHardWarningRr `protobuf_oneof:"optional_tpms_hard_warning_rr"`
	// Types that are assignable to OptionalTpmsSoftWarningFl:
	//	*TirePressureState_TpmsSoftWarningFl
	OptionalTpmsSoftWarningFl isTirePressureState_OptionalTpmsSoftWarningFl `protobuf_oneof:"optional_tpms_soft_warning_fl"`
	// Types that are assignable to OptionalTpmsSoftWarningFr:
	//	*TirePressureState_TpmsSoftWarningFr
	OptionalTpmsSoftWarningFr isTirePressureState_OptionalTpmsSoftWarningFr `protobuf_oneof:"optional_tpms_soft_warning_fr"`
	// Types that are assignable to OptionalTpmsSoftWarningRl:
	//	*TirePressureState_TpmsSoftWarningRl
	OptionalTpmsSoftWarningRl isTirePressureState_OptionalTpmsSoftWarningRl `protobuf_oneof:"optional_tpms_soft_warning_rl"`
	// Types that are assignable to OptionalTpmsSoftWarningRr:
	//	*TirePressureState_TpmsSoftWarningRr
	OptionalTpmsSoftWarningRr isTirePressureState_OptionalTpmsSoftWarningRr `protobuf_oneof:"optional_tpms_soft_warning_rr"`
	// rcp values in bar
	//
	// Types that are assignable to OptionalTpmsRcpFrontValue:
	//	*TirePressureState_TpmsRcpFrontValue
	OptionalTpmsRcpFrontValue isTirePressureState_OptionalTpmsRcpFrontValue `protobuf_oneof:"optional_tpms_rcp_front_value"`
	// Types that are assignable to OptionalTpmsRcpRearValue:
	//	*TirePressureState_TpmsRcpRearValue
	OptionalTpmsRcpRearValue isTirePressureState_OptionalTpmsRcpRearValue `protobuf_oneof:"optional_tpms_rcp_rear_value"`
}

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

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

func (*TirePressureState) ProtoMessage() {}

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

func (x *TirePressureState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *TirePressureState) GetOptionalTpmsPressureFl() isTirePressureState_OptionalTpmsPressureFl {
	if m != nil {
		return m.OptionalTpmsPressureFl
	}
	return nil
}

func (x *TirePressureState) GetTpmsPressureFl() float32 {
	if x, ok := x.GetOptionalTpmsPressureFl().(*TirePressureState_TpmsPressureFl); ok {
		return x.TpmsPressureFl
	}
	return 0
}

func (m *TirePressureState) GetOptionalTpmsPressureFr() isTirePressureState_OptionalTpmsPressureFr {
	if m != nil {
		return m.OptionalTpmsPressureFr
	}
	return nil
}

func (x *TirePressureState) GetTpmsPressureFr() float32 {
	if x, ok := x.GetOptionalTpmsPressureFr().(*TirePressureState_TpmsPressureFr); ok {
		return x.TpmsPressureFr
	}
	return 0
}

func (m *TirePressureState) GetOptionalTpmsPressureRl() isTirePressureState_OptionalTpmsPressureRl {
	if m != nil {
		return m.OptionalTpmsPressureRl
	}
	return nil
}

func (x *TirePressureState) GetTpmsPressureRl() float32 {
	if x, ok := x.GetOptionalTpmsPressureRl().(*TirePressureState_TpmsPressureRl); ok {
		return x.TpmsPressureRl
	}
	return 0
}

func (m *TirePressureState) GetOptionalTpmsPressureRr() isTirePressureState_OptionalTpmsPressureRr {
	if m != nil {
		return m.OptionalTpmsPressureRr
	}
	return nil
}

func (x *TirePressureState) GetTpmsPressureRr() float32 {
	if x, ok := x.GetOptionalTpmsPressureRr().(*TirePressureState_TpmsPressureRr); ok {
		return x.TpmsPressureRr
	}
	return 0
}

func (x *TirePressureState) GetTpmsLastSeenPressureTimeFl() *timestamppb.Timestamp {
	if x != nil {
		return x.TpmsLastSeenPressureTimeFl
	}
	return nil
}

func (x *TirePressureState) GetTpmsLastSeenPressureTimeFr() *timestamppb.Timestamp {
	if x != nil {
		return x.TpmsLastSeenPressureTimeFr
	}
	return nil
}

func (x *TirePressureState) GetTpmsLastSeenPressureTimeRl() *timestamppb.Timestamp {
	if x != nil {
		return x.TpmsLastSeenPressureTimeRl
	}
	return nil
}

func (x *TirePressureState) GetTpmsLastSeenPressureTimeRr() *timestamppb.Timestamp {
	if x != nil {
		return x.TpmsLastSeenPressureTimeRr
	}
	return nil
}

func (m *TirePressureState) GetOptionalTpmsHardWarningFl() isTirePressureState_OptionalTpmsHardWarningFl {
	if m != nil {
		return m.OptionalTpmsHardWarningFl
	}
	return nil
}

func (x *TirePressureState) GetTpmsHardWarningFl() bool {
	if x, ok := x.GetOptionalTpmsHardWarningFl().(*TirePressureState_TpmsHardWarningFl); ok {
		return x.TpmsHardWarningFl
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsHardWarningFr() isTirePressureState_OptionalTpmsHardWarningFr {
	if m != nil {
		return m.OptionalTpmsHardWarningFr
	}
	return nil
}

func (x *TirePressureState) GetTpmsHardWarningFr() bool {
	if x, ok := x.GetOptionalTpmsHardWarningFr().(*TirePressureState_TpmsHardWarningFr); ok {
		return x.TpmsHardWarningFr
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsHardWarningRl() isTirePressureState_OptionalTpmsHardWarningRl {
	if m != nil {
		return m.OptionalTpmsHardWarningRl
	}
	return nil
}

func (x *TirePressureState) GetTpmsHardWarningRl() bool {
	if x, ok := x.GetOptionalTpmsHardWarningRl().(*TirePressureState_TpmsHardWarningRl); ok {
		return x.TpmsHardWarningRl
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsHardWarningRr() isTirePressureState_OptionalTpmsHardWarningRr {
	if m != nil {
		return m.OptionalTpmsHardWarningRr
	}
	return nil
}

func (x *TirePressureState) GetTpmsHardWarningRr() bool {
	if x, ok := x.GetOptionalTpmsHardWarningRr().(*TirePressureState_TpmsHardWarningRr); ok {
		return x.TpmsHardWarningRr
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsSoftWarningFl() isTirePressureState_OptionalTpmsSoftWarningFl {
	if m != nil {
		return m.OptionalTpmsSoftWarningFl
	}
	return nil
}

func (x *TirePressureState) GetTpmsSoftWarningFl() bool {
	if x, ok := x.GetOptionalTpmsSoftWarningFl().(*TirePressureState_TpmsSoftWarningFl); ok {
		return x.TpmsSoftWarningFl
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsSoftWarningFr() isTirePressureState_OptionalTpmsSoftWarningFr {
	if m != nil {
		return m.OptionalTpmsSoftWarningFr
	}
	return nil
}

func (x *TirePressureState) GetTpmsSoftWarningFr() bool {
	if x, ok := x.GetOptionalTpmsSoftWarningFr().(*TirePressureState_TpmsSoftWarningFr); ok {
		return x.TpmsSoftWarningFr
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsSoftWarningRl() isTirePressureState_OptionalTpmsSoftWarningRl {
	if m != nil {
		return m.OptionalTpmsSoftWarningRl
	}
	return nil
}

func (x *TirePressureState) GetTpmsSoftWarningRl() bool {
	if x, ok := x.GetOptionalTpmsSoftWarningRl().(*TirePressureState_TpmsSoftWarningRl); ok {
		return x.TpmsSoftWarningRl
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsSoftWarningRr() isTirePressureState_OptionalTpmsSoftWarningRr {
	if m != nil {
		return m.OptionalTpmsSoftWarningRr
	}
	return nil
}

func (x *TirePressureState) GetTpmsSoftWarningRr() bool {
	if x, ok := x.GetOptionalTpmsSoftWarningRr().(*TirePressureState_TpmsSoftWarningRr); ok {
		return x.TpmsSoftWarningRr
	}
	return false
}

func (m *TirePressureState) GetOptionalTpmsRcpFrontValue() isTirePressureState_OptionalTpmsRcpFrontValue {
	if m != nil {
		return m.OptionalTpmsRcpFrontValue
	}
	return nil
}

func (x *TirePressureState) GetTpmsRcpFrontValue() float32 {
	if x, ok := x.GetOptionalTpmsRcpFrontValue().(*TirePressureState_TpmsRcpFrontValue); ok {
		return x.TpmsRcpFrontValue
	}
	return 0
}

func (m *TirePressureState) GetOptionalTpmsRcpRearValue() isTirePressureState_OptionalTpmsRcpRearValue {
	if m != nil {
		return m.OptionalTpmsRcpRearValue
	}
	return nil
}

func (x *TirePressureState) GetTpmsRcpRearValue() float32 {
	if x, ok := x.GetOptionalTpmsRcpRearValue().(*TirePressureState_TpmsRcpRearValue); ok {
		return x.TpmsRcpRearValue
	}
	return 0
}

type isTirePressureState_OptionalTpmsPressureFl interface {
	isTirePressureState_OptionalTpmsPressureFl()
}

type TirePressureState_TpmsPressureFl struct {
	TpmsPressureFl float32 `protobuf:"fixed32,2,opt,name=tpms_pressure_fl,json=tpmsPressureFl,proto3,oneof"`
}

func (*TirePressureState_TpmsPressureFl) isTirePressureState_OptionalTpmsPressureFl() {}

type isTirePressureState_OptionalTpmsPressureFr interface {
	isTirePressureState_OptionalTpmsPressureFr()
}

type TirePressureState_TpmsPressureFr struct {
	TpmsPressureFr float32 `protobuf:"fixed32,3,opt,name=tpms_pressure_fr,json=tpmsPressureFr,proto3,oneof"`
}

func (*TirePressureState_TpmsPressureFr) isTirePressureState_OptionalTpmsPressureFr() {}

type isTirePressureState_OptionalTpmsPressureRl interface {
	isTirePressureState_OptionalTpmsPressureRl()
}

type TirePressureState_TpmsPressureRl struct {
	TpmsPressureRl float32 `protobuf:"fixed32,4,opt,name=tpms_pressure_rl,json=tpmsPressureRl,proto3,oneof"`
}

func (*TirePressureState_TpmsPressureRl) isTirePressureState_OptionalTpmsPressureRl() {}

type isTirePressureState_OptionalTpmsPressureRr interface {
	isTirePressureState_OptionalTpmsPressureRr()
}

type TirePressureState_TpmsPressureRr struct {
	TpmsPressureRr float32 `protobuf:"fixed32,5,opt,name=tpms_pressure_rr,json=tpmsPressureRr,proto3,oneof"`
}

func (*TirePressureState_TpmsPressureRr) isTirePressureState_OptionalTpmsPressureRr() {}

type isTirePressureState_OptionalTpmsHardWarningFl interface {
	isTirePressureState_OptionalTpmsHardWarningFl()
}

type TirePressureState_TpmsHardWarningFl struct {
	TpmsHardWarningFl bool `protobuf:"varint,10,opt,name=tpms_hard_warning_fl,json=tpmsHardWarningFl,proto3,oneof"`
}

func (*TirePressureState_TpmsHardWarningFl) isTirePressureState_OptionalTpmsHardWarningFl() {}

type isTirePressureState_OptionalTpmsHardWarningFr interface {
	isTirePressureState_OptionalTpmsHardWarningFr()
}

type TirePressureState_TpmsHardWarningFr struct {
	TpmsHardWarningFr bool `protobuf:"varint,11,opt,name=tpms_hard_warning_fr,json=tpmsHardWarningFr,proto3,oneof"`
}

func (*TirePressureState_TpmsHardWarningFr) isTirePressureState_OptionalTpmsHardWarningFr() {}

type isTirePressureState_OptionalTpmsHardWarningRl interface {
	isTirePressureState_OptionalTpmsHardWarningRl()
}

type TirePressureState_TpmsHardWarningRl struct {
	TpmsHardWarningRl bool `protobuf:"varint,12,opt,name=tpms_hard_warning_rl,json=tpmsHardWarningRl,proto3,oneof"`
}

func (*TirePressureState_TpmsHardWarningRl) isTirePressureState_OptionalTpmsHardWarningRl() {}

type isTirePressureState_OptionalTpmsHardWarningRr interface {
	isTirePressureState_OptionalTpmsHardWarningRr()
}

type TirePressureState_TpmsHardWarningRr struct {
	TpmsHardWarningRr bool `protobuf:"varint,13,opt,name=tpms_hard_warning_rr,json=tpmsHardWarningRr,proto3,oneof"`
}

func (*TirePressureState_TpmsHardWarningRr) isTirePressureState_OptionalTpmsHardWarningRr() {}

type isTirePressureState_OptionalTpmsSoftWarningFl interface {
	isTirePressureState_OptionalTpmsSoftWarningFl()
}

type TirePressureState_TpmsSoftWarningFl struct {
	TpmsSoftWarningFl bool `protobuf:"varint,14,opt,name=tpms_soft_warning_fl,json=tpmsSoftWarningFl,proto3,oneof"`
}

func (*TirePressureState_TpmsSoftWarningFl) isTirePressureState_OptionalTpmsSoftWarningFl() {}

type isTirePressureState_OptionalTpmsSoftWarningFr interface {
	isTirePressureState_OptionalTpmsSoftWarningFr()
}

type TirePressureState_TpmsSoftWarningFr struct {
	TpmsSoftWarningFr bool `protobuf:"varint,15,opt,name=tpms_soft_warning_fr,json=tpmsSoftWarningFr,proto3,oneof"`
}

func (*TirePressureState_TpmsSoftWarningFr) isTirePressureState_OptionalTpmsSoftWarningFr() {}

type isTirePressureState_OptionalTpmsSoftWarningRl interface {
	isTirePressureState_OptionalTpmsSoftWarningRl()
}

type TirePressureState_TpmsSoftWarningRl struct {
	TpmsSoftWarningRl bool `protobuf:"varint,16,opt,name=tpms_soft_warning_rl,json=tpmsSoftWarningRl,proto3,oneof"`
}

func (*TirePressureState_TpmsSoftWarningRl) isTirePressureState_OptionalTpmsSoftWarningRl() {}

type isTirePressureState_OptionalTpmsSoftWarningRr interface {
	isTirePressureState_OptionalTpmsSoftWarningRr()
}

type TirePressureState_TpmsSoftWarningRr struct {
	TpmsSoftWarningRr bool `protobuf:"varint,17,opt,name=tpms_soft_warning_rr,json=tpmsSoftWarningRr,proto3,oneof"`
}

func (*TirePressureState_TpmsSoftWarningRr) isTirePressureState_OptionalTpmsSoftWarningRr() {}

type isTirePressureState_OptionalTpmsRcpFrontValue interface {
	isTirePressureState_OptionalTpmsRcpFrontValue()
}

type TirePressureState_TpmsRcpFrontValue struct {
	TpmsRcpFrontValue float32 `protobuf:"fixed32,18,opt,name=tpms_rcp_front_value,json=tpmsRcpFrontValue,proto3,oneof"`
}

func (*TirePressureState_TpmsRcpFrontValue) isTirePressureState_OptionalTpmsRcpFrontValue() {}

type isTirePressureState_OptionalTpmsRcpRearValue interface {
	isTirePressureState_OptionalTpmsRcpRearValue()
}

type TirePressureState_TpmsRcpRearValue struct {
	TpmsRcpRearValue float32 `protobuf:"fixed32,19,opt,name=tpms_rcp_rear_value,json=tpmsRcpRearValue,proto3,oneof"`
}

func (*TirePressureState_TpmsRcpRearValue) isTirePressureState_OptionalTpmsRcpRearValue() {}

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

	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalRemoteControlEnabled:
	//	*MediaState_RemoteControlEnabled
	OptionalRemoteControlEnabled isMediaState_OptionalRemoteControlEnabled `protobuf_oneof:"optional_remote_control_enabled"`
	// Types that are assignable to OptionalNowPlayingArtist:
	//	*MediaState_NowPlayingArtist
	OptionalNowPlayingArtist isMediaState_OptionalNowPlayingArtist `protobuf_oneof:"optional_now_playing_artist"`
	// Types that are assignable to OptionalNowPlayingTitle:
	//	*MediaState_NowPlayingTitle
	OptionalNowPlayingTitle isMediaState_OptionalNowPlayingTitle `protobuf_oneof:"optional_now_playing_title"`
	// Types that are assignable to OptionalAudioVolume:
	//	*MediaState_AudioVolume
	OptionalAudioVolume isMediaState_OptionalAudioVolume `protobuf_oneof:"optional_audio_volume"`
	// Types that are assignable to OptionalAudioVolumeIncrement:
	//	*MediaState_AudioVolumeIncrement
	OptionalAudioVolumeIncrement isMediaState_OptionalAudioVolumeIncrement `protobuf_oneof:"optional_audio_volume_increment"`
	// Types that are assignable to OptionalAudioVolumeMax:
	//	*MediaState_AudioVolumeMax
	OptionalAudioVolumeMax isMediaState_OptionalAudioVolumeMax `protobuf_oneof:"optional_audio_volume_max"`
	// Types that are assignable to OptionalNowPlayingSource:
	//	*MediaState_NowPlayingSource
	OptionalNowPlayingSource isMediaState_OptionalNowPlayingSource `protobuf_oneof:"optional_now_playing_source"`
	// Types that are assignable to OptionalMediaPlaybackStatus:
	//	*MediaState_MediaPlaybackStatus
	OptionalMediaPlaybackStatus isMediaState_OptionalMediaPlaybackStatus `protobuf_oneof:"optional_media_playback_status"`
}

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

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

func (*MediaState) ProtoMessage() {}

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

func (x *MediaState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *MediaState) GetOptionalRemoteControlEnabled() isMediaState_OptionalRemoteControlEnabled {
	if m != nil {
		return m.OptionalRemoteControlEnabled
	}
	return nil
}

func (x *MediaState) GetRemoteControlEnabled() bool {
	if x, ok := x.GetOptionalRemoteControlEnabled().(*MediaState_RemoteControlEnabled); ok {
		return x.RemoteControlEnabled
	}
	return false
}

func (m *MediaState) GetOptionalNowPlayingArtist() isMediaState_OptionalNowPlayingArtist {
	if m != nil {
		return m.OptionalNowPlayingArtist
	}
	return nil
}

func (x *MediaState) GetNowPlayingArtist() string {
	if x, ok := x.GetOptionalNowPlayingArtist().(*MediaState_NowPlayingArtist); ok {
		return x.NowPlayingArtist
	}
	return ""
}

func (m *MediaState) GetOptionalNowPlayingTitle() isMediaState_OptionalNowPlayingTitle {
	if m != nil {
		return m.OptionalNowPlayingTitle
	}
	return nil
}

func (x *MediaState) GetNowPlayingTitle() string {
	if x, ok := x.GetOptionalNowPlayingTitle().(*MediaState_NowPlayingTitle); ok {
		return x.NowPlayingTitle
	}
	return ""
}

func (m *MediaState) GetOptionalAudioVolume() isMediaState_OptionalAudioVolume {
	if m != nil {
		return m.OptionalAudioVolume
	}
	return nil
}

func (x *MediaState) GetAudioVolume() float32 {
	if x, ok := x.GetOptionalAudioVolume().(*MediaState_AudioVolume); ok {
		return x.AudioVolume
	}
	return 0
}

func (m *MediaState) GetOptionalAudioVolumeIncrement() isMediaState_OptionalAudioVolumeIncrement {
	if m != nil {
		return m.OptionalAudioVolumeIncrement
	}
	return nil
}

func (x *MediaState) GetAudioVolumeIncrement() float32 {
	if x, ok := x.GetOptionalAudioVolumeIncrement().(*MediaState_AudioVolumeIncrement); ok {
		return x.AudioVolumeIncrement
	}
	return 0
}

func (m *MediaState) GetOptionalAudioVolumeMax() isMediaState_OptionalAudioVolumeMax {
	if m != nil {
		return m.OptionalAudioVolumeMax
	}
	return nil
}

func (x *MediaState) GetAudioVolumeMax() float32 {
	if x, ok := x.GetOptionalAudioVolumeMax().(*MediaState_AudioVolumeMax); ok {
		return x.AudioVolumeMax
	}
	return 0
}

func (m *MediaState) GetOptionalNowPlayingSource() isMediaState_OptionalNowPlayingSource {
	if m != nil {
		return m.OptionalNowPlayingSource
	}
	return nil
}

func (x *MediaState) GetNowPlayingSource() MediaSourceType {
	if x, ok := x.GetOptionalNowPlayingSource().(*MediaState_NowPlayingSource); ok {
		return x.NowPlayingSource
	}
	return MediaSourceType_MediaSourceType_None
}

func (m *MediaState) GetOptionalMediaPlaybackStatus() isMediaState_OptionalMediaPlaybackStatus {
	if m != nil {
		return m.OptionalMediaPlaybackStatus
	}
	return nil
}

func (x *MediaState) GetMediaPlaybackStatus() MediaPlaybackStatus {
	if x, ok := x.GetOptionalMediaPlaybackStatus().(*MediaState_MediaPlaybackStatus); ok {
		return x.MediaPlaybackStatus
	}
	return MediaPlaybackStatus_Stopped
}

type isMediaState_OptionalRemoteControlEnabled interface {
	isMediaState_OptionalRemoteControlEnabled()
}

type MediaState_RemoteControlEnabled struct {
	RemoteControlEnabled bool `protobuf:"varint,2,opt,name=remote_control_enabled,json=remoteControlEnabled,proto3,oneof"`
}

func (*MediaState_RemoteControlEnabled) isMediaState_OptionalRemoteControlEnabled() {}

type isMediaState_OptionalNowPlayingArtist interface {
	isMediaState_OptionalNowPlayingArtist()
}

type MediaState_NowPlayingArtist struct {
	NowPlayingArtist string `protobuf:"bytes,3,opt,name=now_playing_artist,json=nowPlayingArtist,proto3,oneof"`
}

func (*MediaState_NowPlayingArtist) isMediaState_OptionalNowPlayingArtist() {}

type isMediaState_OptionalNowPlayingTitle interface {
	isMediaState_OptionalNowPlayingTitle()
}

type MediaState_NowPlayingTitle struct {
	NowPlayingTitle string `protobuf:"bytes,4,opt,name=now_playing_title,json=nowPlayingTitle,proto3,oneof"`
}

func (*MediaState_NowPlayingTitle) isMediaState_OptionalNowPlayingTitle() {}

type isMediaState_OptionalAudioVolume interface {
	isMediaState_OptionalAudioVolume()
}

type MediaState_AudioVolume struct {
	AudioVolume float32 `protobuf:"fixed32,5,opt,name=audio_volume,json=audioVolume,proto3,oneof"`
}

func (*MediaState_AudioVolume) isMediaState_OptionalAudioVolume() {}

type isMediaState_OptionalAudioVolumeIncrement interface {
	isMediaState_OptionalAudioVolumeIncrement()
}

type MediaState_AudioVolumeIncrement struct {
	AudioVolumeIncrement float32 `protobuf:"fixed32,6,opt,name=audio_volume_increment,json=audioVolumeIncrement,proto3,oneof"`
}

func (*MediaState_AudioVolumeIncrement) isMediaState_OptionalAudioVolumeIncrement() {}

type isMediaState_OptionalAudioVolumeMax interface {
	isMediaState_OptionalAudioVolumeMax()
}

type MediaState_AudioVolumeMax struct {
	AudioVolumeMax float32 `protobuf:"fixed32,7,opt,name=audio_volume_max,json=audioVolumeMax,proto3,oneof"`
}

func (*MediaState_AudioVolumeMax) isMediaState_OptionalAudioVolumeMax() {}

type isMediaState_OptionalNowPlayingSource interface {
	isMediaState_OptionalNowPlayingSource()
}

type MediaState_NowPlayingSource struct {
	NowPlayingSource MediaSourceType `protobuf:"varint,8,opt,name=now_playing_source,json=nowPlayingSource,proto3,enum=CarServer.MediaSourceType,oneof"`
}

func (*MediaState_NowPlayingSource) isMediaState_OptionalNowPlayingSource() {}

type isMediaState_OptionalMediaPlaybackStatus interface {
	isMediaState_OptionalMediaPlaybackStatus()
}

type MediaState_MediaPlaybackStatus struct {
	MediaPlaybackStatus MediaPlaybackStatus `protobuf:"varint,9,opt,name=media_playback_status,json=mediaPlaybackStatus,proto3,enum=CarServer.MediaPlaybackStatus,oneof"`
}

func (*MediaState_MediaPlaybackStatus) isMediaState_OptionalMediaPlaybackStatus() {}

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

	Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// Types that are assignable to OptionalNowPlayingDuration:
	//	*MediaDetailState_NowPlayingDuration
	OptionalNowPlayingDuration isMediaDetailState_OptionalNowPlayingDuration `protobuf_oneof:"optional_now_playing_duration"`
	// Types that are assignable to OptionalNowPlayingElapsed:
	//	*MediaDetailState_NowPlayingElapsed
	OptionalNowPlayingElapsed isMediaDetailState_OptionalNowPlayingElapsed `protobuf_oneof:"optional_now_playing_elapsed"`
	// Types that are assignable to OptionalNowPlayingSourceString:
	//	*MediaDetailState_NowPlayingSourceString
	OptionalNowPlayingSourceString isMediaDetailState_OptionalNowPlayingSourceString `protobuf_oneof:"optional_now_playing_source_string"`
	// Types that are assignable to OptionalNowPlayingAlbum:
	//	*MediaDetailState_NowPlayingAlbum
	OptionalNowPlayingAlbum isMediaDetailState_OptionalNowPlayingAlbum `protobuf_oneof:"optional_now_playing_album"`
	// Types that are assignable to OptionalNowPlayingStation:
	//	*MediaDetailState_NowPlayingStation
	OptionalNowPlayingStation isMediaDetailState_OptionalNowPlayingStation `protobuf_oneof:"optional_now_playing_station"`
	// Types that are assignable to OptionalA2DpSourceName:
	//	*MediaDetailState_A2DpSourceName
	OptionalA2DpSourceName isMediaDetailState_OptionalA2DpSourceName `protobuf_oneof:"optional_a2dp_source_name"`
}

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

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

func (*MediaDetailState) ProtoMessage() {}

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

func (x *MediaDetailState) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

func (m *MediaDetailState) GetOptionalNowPlayingDuration() isMediaDetailState_OptionalNowPlayingDuration {
	if m != nil {
		return m.OptionalNowPlayingDuration
	}
	return nil
}

func (x *MediaDetailState) GetNowPlayingDuration() int32 {
	if x, ok := x.GetOptionalNowPlayingDuration().(*MediaDetailState_NowPlayingDuration); ok {
		return x.NowPlayingDuration
	}
	return 0
}

func (m *MediaDetailState) GetOptionalNowPlayingElapsed() isMediaDetailState_OptionalNowPlayingElapsed {
	if m != nil {
		return m.OptionalNowPlayingElapsed
	}
	return nil
}

func (x *MediaDetailState) GetNowPlayingElapsed() int32 {
	if x, ok := x.GetOptionalNowPlayingElapsed().(*MediaDetailState_NowPlayingElapsed); ok {
		return x.NowPlayingElapsed
	}
	return 0
}

func (m *MediaDetailState) GetOptionalNowPlayingSourceString() isMediaDetailState_OptionalNowPlayingSourceString {
	if m != nil {
		return m.OptionalNowPlayingSourceString
	}
	return nil
}

func (x *MediaDetailState) GetNowPlayingSourceString() string {
	if x, ok := x.GetOptionalNowPlayingSourceString().(*MediaDetailState_NowPlayingSourceString); ok {
		return x.NowPlayingSourceString
	}
	return ""
}

func (m *MediaDetailState) GetOptionalNowPlayingAlbum() isMediaDetailState_OptionalNowPlayingAlbum {
	if m != nil {
		return m.OptionalNowPlayingAlbum
	}
	return nil
}

func (x *MediaDetailState) GetNowPlayingAlbum() string {
	if x, ok := x.GetOptionalNowPlayingAlbum().(*MediaDetailState_NowPlayingAlbum); ok {
		return x.NowPlayingAlbum
	}
	return ""
}

func (m *MediaDetailState) GetOptionalNowPlayingStation() isMediaDetailState_OptionalNowPlayingStation {
	if m != nil {
		return m.OptionalNowPlayingStation
	}
	return nil
}

func (x *MediaDetailState) GetNowPlayingStation() string {
	if x, ok := x.GetOptionalNowPlayingStation().(*MediaDetailState_NowPlayingStation); ok {
		return x.NowPlayingStation
	}
	return ""
}

func (m *MediaDetailState) GetOptionalA2DpSourceName() isMediaDetailState_OptionalA2DpSourceName {
	if m != nil {
		return m.OptionalA2DpSourceName
	}
	return nil
}

func (x *MediaDetailState) GetA2DpSourceName() string {
	if x, ok := x.GetOptionalA2DpSourceName().(*MediaDetailState_A2DpSourceName); ok {
		return x.A2DpSourceName
	}
	return ""
}

type isMediaDetailState_OptionalNowPlayingDuration interface {
	isMediaDetailState_OptionalNowPlayingDuration()
}

type MediaDetailState_NowPlayingDuration struct {
	NowPlayingDuration int32 `protobuf:"varint,2,opt,name=now_playing_duration,json=nowPlayingDuration,proto3,oneof"`
}

func (*MediaDetailState_NowPlayingDuration) isMediaDetailState_OptionalNowPlayingDuration() {}

type isMediaDetailState_OptionalNowPlayingElapsed interface {
	isMediaDetailState_OptionalNowPlayingElapsed()
}

type MediaDetailState_NowPlayingElapsed struct {
	NowPlayingElapsed int32 `protobuf:"varint,3,opt,name=now_playing_elapsed,json=nowPlayingElapsed,proto3,oneof"`
}

func (*MediaDetailState_NowPlayingElapsed) isMediaDetailState_OptionalNowPlayingElapsed() {}

type isMediaDetailState_OptionalNowPlayingSourceString interface {
	isMediaDetailState_OptionalNowPlayingSourceString()
}

type MediaDetailState_NowPlayingSourceString struct {
	NowPlayingSourceString string `protobuf:"bytes,4,opt,name=now_playing_source_string,json=nowPlayingSourceString,proto3,oneof"`
}

func (*MediaDetailState_NowPlayingSourceString) isMediaDetailState_OptionalNowPlayingSourceString() {}

type isMediaDetailState_OptionalNowPlayingAlbum interface {
	isMediaDetailState_OptionalNowPlayingAlbum()
}

type MediaDetailState_NowPlayingAlbum struct {
	NowPlayingAlbum string `protobuf:"bytes,5,opt,name=now_playing_album,json=nowPlayingAlbum,proto3,oneof"`
}

func (*MediaDetailState_NowPlayingAlbum) isMediaDetailState_OptionalNowPlayingAlbum() {}

type isMediaDetailState_OptionalNowPlayingStation interface {
	isMediaDetailState_OptionalNowPlayingStation()
}

type MediaDetailState_NowPlayingStation struct {
	NowPlayingStation string `protobuf:"bytes,6,opt,name=now_playing_station,json=nowPlayingStation,proto3,oneof"`
}

func (*MediaDetailState_NowPlayingStation) isMediaDetailState_OptionalNowPlayingStation() {}

type isMediaDetailState_OptionalA2DpSourceName interface {
	isMediaDetailState_OptionalA2DpSourceName()
}

type MediaDetailState_A2DpSourceName struct {
	A2DpSourceName string `protobuf:"bytes,7,opt,name=a2dp_source_name,json=a2dpSourceName,proto3,oneof"`
}

func (*MediaDetailState_A2DpSourceName) isMediaDetailState_OptionalA2DpSourceName() {}

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

	// Types that are assignable to Type:
	//	*ShiftState_Invalid
	//	*ShiftState_P
	//	*ShiftState_R
	//	*ShiftState_N
	//	*ShiftState_D
	//	*ShiftState_SNA
	Type isShiftState_Type `protobuf_oneof:"type"`
}

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

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

func (*ShiftState) ProtoMessage() {}

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

func (m *ShiftState) GetType() isShiftState_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ShiftState) GetInvalid() *Void {
	if x, ok := x.GetType().(*ShiftState_Invalid); ok {
		return x.Invalid
	}
	return nil
}

func (x *ShiftState) GetP() *Void {
	if x, ok := x.GetType().(*ShiftState_P); ok {
		return x.P
	}
	return nil
}

func (x *ShiftState) GetR() *Void {
	if x, ok := x.GetType().(*ShiftState_R); ok {
		return x.R
	}
	return nil
}

func (x *ShiftState) GetN() *Void {
	if x, ok := x.GetType().(*ShiftState_N); ok {
		return x.N
	}
	return nil
}

func (x *ShiftState) GetD() *Void {
	if x, ok := x.GetType().(*ShiftState_D); ok {
		return x.D
	}
	return nil
}

func (x *ShiftState) GetSNA() *Void {
	if x, ok := x.GetType().(*ShiftState_SNA); ok {
		return x.SNA
	}
	return nil
}

type isShiftState_Type interface {
	isShiftState_Type()
}

type ShiftState_Invalid struct {
	Invalid *Void `protobuf:"bytes,1,opt,name=Invalid,proto3,oneof"`
}

type ShiftState_P struct {
	P *Void `protobuf:"bytes,2,opt,name=P,proto3,oneof"`
}

type ShiftState_R struct {
	R *Void `protobuf:"bytes,3,opt,name=R,proto3,oneof"`
}

type ShiftState_N struct {
	N *Void `protobuf:"bytes,4,opt,name=N,proto3,oneof"`
}

type ShiftState_D struct {
	D *Void `protobuf:"bytes,5,opt,name=D,proto3,oneof"`
}

type ShiftState_SNA struct {
	SNA *Void `protobuf:"bytes,6,opt,name=SNA,proto3,oneof"`
}

func (*ShiftState_Invalid) isShiftState_Type() {}

func (*ShiftState_P) isShiftState_Type() {}

func (*ShiftState_R) isShiftState_Type() {}

func (*ShiftState_N) isShiftState_Type() {}

func (*ShiftState_D) isShiftState_Type() {}

func (*ShiftState_SNA) isShiftState_Type() {}

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

	// Types that are assignable to Type:
	//	*ClosuresState_SunRoofState_Unknown
	//	*ClosuresState_SunRoofState_Calibrating
	//	*ClosuresState_SunRoofState_Closed
	//	*ClosuresState_SunRoofState_Open
	//	*ClosuresState_SunRoofState_Moving
	//	*ClosuresState_SunRoofState_Vent
	Type isClosuresState_SunRoofState_Type `protobuf_oneof:"type"`
}

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

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

func (*ClosuresState_SunRoofState) ProtoMessage() {}

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

func (m *ClosuresState_SunRoofState) GetType() isClosuresState_SunRoofState_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetUnknown() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Unknown); ok {
		return x.Unknown
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetCalibrating() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Calibrating); ok {
		return x.Calibrating
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetClosed() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Closed); ok {
		return x.Closed
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetOpen() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Open); ok {
		return x.Open
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetMoving() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Moving); ok {
		return x.Moving
	}
	return nil
}

func (x *ClosuresState_SunRoofState) GetVent() *Void {
	if x, ok := x.GetType().(*ClosuresState_SunRoofState_Vent); ok {
		return x.Vent
	}
	return nil
}

type isClosuresState_SunRoofState_Type interface {
	isClosuresState_SunRoofState_Type()
}

type ClosuresState_SunRoofState_Unknown struct {
	Unknown *Void `protobuf:"bytes,1,opt,name=Unknown,proto3,oneof"`
}

type ClosuresState_SunRoofState_Calibrating struct {
	Calibrating *Void `protobuf:"bytes,2,opt,name=Calibrating,proto3,oneof"`
}

type ClosuresState_SunRoofState_Closed struct {
	Closed *Void `protobuf:"bytes,3,opt,name=Closed,proto3,oneof"`
}

type ClosuresState_SunRoofState_Open struct {
	Open *Void `protobuf:"bytes,4,opt,name=Open,proto3,oneof"`
}

type ClosuresState_SunRoofState_Moving struct {
	Moving *Void `protobuf:"bytes,5,opt,name=Moving,proto3,oneof"`
}

type ClosuresState_SunRoofState_Vent struct {
	Vent *Void `protobuf:"bytes,6,opt,name=Vent,proto3,oneof"`
}

func (*ClosuresState_SunRoofState_Unknown) isClosuresState_SunRoofState_Type() {}

func (*ClosuresState_SunRoofState_Calibrating) isClosuresState_SunRoofState_Type() {}

func (*ClosuresState_SunRoofState_Closed) isClosuresState_SunRoofState_Type() {}

func (*ClosuresState_SunRoofState_Open) isClosuresState_SunRoofState_Type() {}

func (*ClosuresState_SunRoofState_Moving) isClosuresState_SunRoofState_Type() {}

func (*ClosuresState_SunRoofState_Vent) isClosuresState_SunRoofState_Type() {}

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

	// Types that are assignable to Type:
	//	*ClosuresState_DisplayState_Off
	//	*ClosuresState_DisplayState_Dim
	//	*ClosuresState_DisplayState_Accessory
	//	*ClosuresState_DisplayState_On
	//	*ClosuresState_DisplayState_Driving
	//	*ClosuresState_DisplayState_Charging
	//	*ClosuresState_DisplayState_Lock
	//	*ClosuresState_DisplayState_Sentry
	//	*ClosuresState_DisplayState_Dog
	//	*ClosuresState_DisplayState_Entertainment
	Type isClosuresState_DisplayState_Type `protobuf_oneof:"type"`
}

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

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

func (*ClosuresState_DisplayState) ProtoMessage() {}

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

func (m *ClosuresState_DisplayState) GetType() isClosuresState_DisplayState_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetOff() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Off); ok {
		return x.Off
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetDim() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Dim); ok {
		return x.Dim
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetAccessory() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Accessory); ok {
		return x.Accessory
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetOn() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_On); ok {
		return x.On
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetDriving() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Driving); ok {
		return x.Driving
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetCharging() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Charging); ok {
		return x.Charging
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetLock() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Lock); ok {
		return x.Lock
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetSentry() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Sentry); ok {
		return x.Sentry
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetDog() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Dog); ok {
		return x.Dog
	}
	return nil
}

func (x *ClosuresState_DisplayState) GetEntertainment() *Void {
	if x, ok := x.GetType().(*ClosuresState_DisplayState_Entertainment); ok {
		return x.Entertainment
	}
	return nil
}

type isClosuresState_DisplayState_Type interface {
	isClosuresState_DisplayState_Type()
}

type ClosuresState_DisplayState_Off struct {
	Off *Void `protobuf:"bytes,1,opt,name=Off,proto3,oneof"`
}

type ClosuresState_DisplayState_Dim struct {
	Dim *Void `protobuf:"bytes,2,opt,name=Dim,proto3,oneof"`
}

type ClosuresState_DisplayState_Accessory struct {
	Accessory *Void `protobuf:"bytes,3,opt,name=Accessory,proto3,oneof"`
}

type ClosuresState_DisplayState_On struct {
	On *Void `protobuf:"bytes,4,opt,name=On,proto3,oneof"`
}

type ClosuresState_DisplayState_Driving struct {
	Driving *Void `protobuf:"bytes,5,opt,name=Driving,proto3,oneof"`
}

type ClosuresState_DisplayState_Charging struct {
	Charging *Void `protobuf:"bytes,6,opt,name=Charging,proto3,oneof"`
}

type ClosuresState_DisplayState_Lock struct {
	Lock *Void `protobuf:"bytes,7,opt,name=Lock,proto3,oneof"`
}

type ClosuresState_DisplayState_Sentry struct {
	Sentry *Void `protobuf:"bytes,8,opt,name=Sentry,proto3,oneof"`
}

type ClosuresState_DisplayState_Dog struct {
	Dog *Void `protobuf:"bytes,9,opt,name=Dog,proto3,oneof"`
}

type ClosuresState_DisplayState_Entertainment struct {
	Entertainment *Void `protobuf:"bytes,10,opt,name=Entertainment,proto3,oneof"`
}

func (*ClosuresState_DisplayState_Off) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Dim) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Accessory) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_On) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Driving) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Charging) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Lock) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Sentry) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Dog) isClosuresState_DisplayState_Type() {}

func (*ClosuresState_DisplayState_Entertainment) isClosuresState_DisplayState_Type() {}

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

	// Types that are assignable to Type:
	//	*ClosuresState_SentryModeState_Off
	//	*ClosuresState_SentryModeState_Idle
	//	*ClosuresState_SentryModeState_Armed
	//	*ClosuresState_SentryModeState_Aware
	//	*ClosuresState_SentryModeState_Panic
	//	*ClosuresState_SentryModeState_Quiet
	Type isClosuresState_SentryModeState_Type `protobuf_oneof:"type"`
}

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

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

func (*ClosuresState_SentryModeState) ProtoMessage() {}

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

func (m *ClosuresState_SentryModeState) GetType() isClosuresState_SentryModeState_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetOff() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Off); ok {
		return x.Off
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetIdle() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Idle); ok {
		return x.Idle
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetArmed() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Armed); ok {
		return x.Armed
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetAware() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Aware); ok {
		return x.Aware
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetPanic() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Panic); ok {
		return x.Panic
	}
	return nil
}

func (x *ClosuresState_SentryModeState) GetQuiet() *Void {
	if x, ok := x.GetType().(*ClosuresState_SentryModeState_Quiet); ok {
		return x.Quiet
	}
	return nil
}

type isClosuresState_SentryModeState_Type interface {
	isClosuresState_SentryModeState_Type()
}

type ClosuresState_SentryModeState_Off struct {
	Off *Void `protobuf:"bytes,1,opt,name=Off,proto3,oneof"`
}

type ClosuresState_SentryModeState_Idle struct {
	Idle *Void `protobuf:"bytes,2,opt,name=Idle,proto3,oneof"`
}

type ClosuresState_SentryModeState_Armed struct {
	Armed *Void `protobuf:"bytes,3,opt,name=Armed,proto3,oneof"`
}

type ClosuresState_SentryModeState_Aware struct {
	Aware *Void `protobuf:"bytes,4,opt,name=Aware,proto3,oneof"`
}

type ClosuresState_SentryModeState_Panic struct {
	Panic *Void `protobuf:"bytes,5,opt,name=Panic,proto3,oneof"`
}

type ClosuresState_SentryModeState_Quiet struct {
	Quiet *Void `protobuf:"bytes,6,opt,name=Quiet,proto3,oneof"`
}

func (*ClosuresState_SentryModeState_Off) isClosuresState_SentryModeState_Type() {}

func (*ClosuresState_SentryModeState_Idle) isClosuresState_SentryModeState_Type() {}

func (*ClosuresState_SentryModeState_Armed) isClosuresState_SentryModeState_Type() {}

func (*ClosuresState_SentryModeState_Aware) isClosuresState_SentryModeState_Type() {}

func (*ClosuresState_SentryModeState_Panic) isClosuresState_SentryModeState_Type() {}

func (*ClosuresState_SentryModeState_Quiet) isClosuresState_SentryModeState_Type() {}

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

	// Types that are assignable to Type:
	//	*SoftwareUpdateState_SoftwareUpdateStatus_Unknown
	//	*SoftwareUpdateState_SoftwareUpdateStatus_Installing
	//	*SoftwareUpdateState_SoftwareUpdateStatus_Scheduled
	//	*SoftwareUpdateState_SoftwareUpdateStatus_Available
	//	*SoftwareUpdateState_SoftwareUpdateStatus_DownloadingWifiWait
	//	*SoftwareUpdateState_SoftwareUpdateStatus_Downloading
	Type isSoftwareUpdateState_SoftwareUpdateStatus_Type `protobuf_oneof:"type"`
}

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

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

func (*SoftwareUpdateState_SoftwareUpdateStatus) ProtoMessage() {}

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

func (m *SoftwareUpdateState_SoftwareUpdateStatus) GetType() isSoftwareUpdateState_SoftwareUpdateStatus_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetUnknown() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_Unknown); ok {
		return x.Unknown
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetInstalling() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_Installing); ok {
		return x.Installing
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetScheduled() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_Scheduled); ok {
		return x.Scheduled
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetAvailable() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_Available); ok {
		return x.Available
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetDownloadingWifiWait() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_DownloadingWifiWait); ok {
		return x.DownloadingWifiWait
	}
	return nil
}

func (x *SoftwareUpdateState_SoftwareUpdateStatus) GetDownloading() *Void {
	if x, ok := x.GetType().(*SoftwareUpdateState_SoftwareUpdateStatus_Downloading); ok {
		return x.Downloading
	}
	return nil
}

type isSoftwareUpdateState_SoftwareUpdateStatus_Type interface {
	isSoftwareUpdateState_SoftwareUpdateStatus_Type()
}

type SoftwareUpdateState_SoftwareUpdateStatus_Unknown struct {
	Unknown *Void `protobuf:"bytes,1,opt,name=Unknown,proto3,oneof"`
}

type SoftwareUpdateState_SoftwareUpdateStatus_Installing struct {
	Installing *Void `protobuf:"bytes,2,opt,name=Installing,proto3,oneof"`
}

type SoftwareUpdateState_SoftwareUpdateStatus_Scheduled struct {
	Scheduled *Void `protobuf:"bytes,3,opt,name=Scheduled,proto3,oneof"`
}

type SoftwareUpdateState_SoftwareUpdateStatus_Available struct {
	Available *Void `protobuf:"bytes,4,opt,name=Available,proto3,oneof"`
}

type SoftwareUpdateState_SoftwareUpdateStatus_DownloadingWifiWait struct {
	DownloadingWifiWait *Void `protobuf:"bytes,5,opt,name=DownloadingWifiWait,proto3,oneof"`
}

type SoftwareUpdateState_SoftwareUpdateStatus_Downloading struct {
	Downloading *Void `protobuf:"bytes,6,opt,name=Downloading,proto3,oneof"`
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_Unknown) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_Installing) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_Scheduled) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_Available) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_DownloadingWifiWait) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

func (*SoftwareUpdateState_SoftwareUpdateStatus_Downloading) isSoftwareUpdateState_SoftwareUpdateStatus_Type() {
}

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

	// Types that are assignable to Type:
	//	*ChargeState_CableType_SNA
	//	*ChargeState_CableType_IEC
	//	*ChargeState_CableType_SAE
	//	*ChargeState_CableType_GB_AC
	//	*ChargeState_CableType_GB_DC
	Type isChargeState_CableType_Type `protobuf_oneof:"type"`
}

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

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

func (*ChargeState_CableType) ProtoMessage() {}

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

func (m *ChargeState_CableType) GetType() isChargeState_CableType_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ChargeState_CableType) GetSNA() *Void {
	if x, ok := x.GetType().(*ChargeState_CableType_SNA); ok {
		return x.SNA
	}
	return nil
}

func (x *ChargeState_CableType) GetIEC() *Void {
	if x, ok := x.GetType().(*ChargeState_CableType_IEC); ok {
		return x.IEC
	}
	return nil
}

func (x *ChargeState_CableType) GetSAE() *Void {
	if x, ok := x.GetType().(*ChargeState_CableType_SAE); ok {
		return x.SAE
	}
	return nil
}

func (x *ChargeState_CableType) GetGB_AC() *Void {
	if x, ok := x.GetType().(*ChargeState_CableType_GB_AC); ok {
		return x.GB_AC
	}
	return nil
}

func (x *ChargeState_CableType) GetGB_DC() *Void {
	if x, ok := x.GetType().(*ChargeState_CableType_GB_DC); ok {
		return x.GB_DC
	}
	return nil
}

type isChargeState_CableType_Type interface {
	isChargeState_CableType_Type()
}

type ChargeState_CableType_SNA struct {
	SNA *Void `protobuf:"bytes,1,opt,name=SNA,proto3,oneof"`
}

type ChargeState_CableType_IEC struct {
	IEC *Void `protobuf:"bytes,2,opt,name=IEC,proto3,oneof"`
}

type ChargeState_CableType_SAE struct {
	SAE *Void `protobuf:"bytes,3,opt,name=SAE,proto3,oneof"`
}

type ChargeState_CableType_GB_AC struct {
	GB_AC *Void `protobuf:"bytes,4,opt,name=GB_AC,json=GBAC,proto3,oneof"`
}

type ChargeState_CableType_GB_DC struct {
	GB_DC *Void `protobuf:"bytes,5,opt,name=GB_DC,json=GBDC,proto3,oneof"`
}

func (*ChargeState_CableType_SNA) isChargeState_CableType_Type() {}

func (*ChargeState_CableType_IEC) isChargeState_CableType_Type() {}

func (*ChargeState_CableType_SAE) isChargeState_CableType_Type() {}

func (*ChargeState_CableType_GB_AC) isChargeState_CableType_Type() {}

func (*ChargeState_CableType_GB_DC) isChargeState_CableType_Type() {}

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

	// Types that are assignable to Type:
	//	*ChargeState_ChargerType_SNA
	//	*ChargeState_ChargerType_Supercharger
	//	*ChargeState_ChargerType_Chademo
	//	*ChargeState_ChargerType_Gb
	//	*ChargeState_ChargerType_ACSingleWireCAN
	//	*ChargeState_ChargerType_Combo
	//	*ChargeState_ChargerType_MCSingleWireCAN
	//	*ChargeState_ChargerType_Other
	//	*ChargeState_ChargerType_Tesla
	Type isChargeState_ChargerType_Type `protobuf_oneof:"type"`
}

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

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

func (*ChargeState_ChargerType) ProtoMessage() {}

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

func (m *ChargeState_ChargerType) GetType() isChargeState_ChargerType_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ChargeState_ChargerType) GetSNA() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_SNA); ok {
		return x.SNA
	}
	return nil
}

func (x *ChargeState_ChargerType) GetSupercharger() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Supercharger); ok {
		return x.Supercharger
	}
	return nil
}

func (x *ChargeState_ChargerType) GetChademo() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Chademo); ok {
		return x.Chademo
	}
	return nil
}

func (x *ChargeState_ChargerType) GetGb() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Gb); ok {
		return x.Gb
	}
	return nil
}

func (x *ChargeState_ChargerType) GetACSingleWireCAN() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_ACSingleWireCAN); ok {
		return x.ACSingleWireCAN
	}
	return nil
}

func (x *ChargeState_ChargerType) GetCombo() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Combo); ok {
		return x.Combo
	}
	return nil
}

func (x *ChargeState_ChargerType) GetMCSingleWireCAN() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_MCSingleWireCAN); ok {
		return x.MCSingleWireCAN
	}
	return nil
}

func (x *ChargeState_ChargerType) GetOther() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Other); ok {
		return x.Other
	}
	return nil
}

func (x *ChargeState_ChargerType) GetTesla() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerType_Tesla); ok {
		return x.Tesla
	}
	return nil
}

type isChargeState_ChargerType_Type interface {
	isChargeState_ChargerType_Type()
}

type ChargeState_ChargerType_SNA struct {
	SNA *Void `protobuf:"bytes,1,opt,name=SNA,proto3,oneof"`
}

type ChargeState_ChargerType_Supercharger struct {
	Supercharger *Void `protobuf:"bytes,2,opt,name=Supercharger,proto3,oneof"`
}

type ChargeState_ChargerType_Chademo struct {
	Chademo *Void `protobuf:"bytes,3,opt,name=Chademo,proto3,oneof"`
}

type ChargeState_ChargerType_Gb struct {
	Gb *Void `protobuf:"bytes,4,opt,name=Gb,proto3,oneof"`
}

type ChargeState_ChargerType_ACSingleWireCAN struct {
	ACSingleWireCAN *Void `protobuf:"bytes,5,opt,name=ACSingleWireCAN,proto3,oneof"`
}

type ChargeState_ChargerType_Combo struct {
	Combo *Void `protobuf:"bytes,6,opt,name=Combo,proto3,oneof"`
}

type ChargeState_ChargerType_MCSingleWireCAN struct {
	MCSingleWireCAN *Void `protobuf:"bytes,7,opt,name=MCSingleWireCAN,proto3,oneof"`
}

type ChargeState_ChargerType_Other struct {
	Other *Void `protobuf:"bytes,8,opt,name=Other,proto3,oneof"`
}

type ChargeState_ChargerType_Tesla struct {
	Tesla *Void `protobuf:"bytes,9,opt,name=Tesla,proto3,oneof"`
}

func (*ChargeState_ChargerType_SNA) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Supercharger) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Chademo) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Gb) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_ACSingleWireCAN) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Combo) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_MCSingleWireCAN) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Other) isChargeState_ChargerType_Type() {}

func (*ChargeState_ChargerType_Tesla) isChargeState_ChargerType_Type() {}

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

	// Types that are assignable to Type:
	//	*ChargeState_ChargingState_Unknown
	//	*ChargeState_ChargingState_Disconnected
	//	*ChargeState_ChargingState_NoPower
	//	*ChargeState_ChargingState_Starting
	//	*ChargeState_ChargingState_Charging
	//	*ChargeState_ChargingState_Complete
	//	*ChargeState_ChargingState_Stopped
	//	*ChargeState_ChargingState_Calibrating
	Type isChargeState_ChargingState_Type `protobuf_oneof:"type"`
}

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

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

func (*ChargeState_ChargingState) ProtoMessage() {}

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

func (m *ChargeState_ChargingState) GetType() isChargeState_ChargingState_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ChargeState_ChargingState) GetUnknown() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Unknown); ok {
		return x.Unknown
	}
	return nil
}

func (x *ChargeState_ChargingState) GetDisconnected() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Disconnected); ok {
		return x.Disconnected
	}
	return nil
}

func (x *ChargeState_ChargingState) GetNoPower() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_NoPower); ok {
		return x.NoPower
	}
	return nil
}

func (x *ChargeState_ChargingState) GetStarting() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Starting); ok {
		return x.Starting
	}
	return nil
}

func (x *ChargeState_ChargingState) GetCharging() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Charging); ok {
		return x.Charging
	}
	return nil
}

func (x *ChargeState_ChargingState) GetComplete() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Complete); ok {
		return x.Complete
	}
	return nil
}

func (x *ChargeState_ChargingState) GetStopped() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Stopped); ok {
		return x.Stopped
	}
	return nil
}

func (x *ChargeState_ChargingState) GetCalibrating() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargingState_Calibrating); ok {
		return x.Calibrating
	}
	return nil
}

type isChargeState_ChargingState_Type interface {
	isChargeState_ChargingState_Type()
}

type ChargeState_ChargingState_Unknown struct {
	Unknown *Void `protobuf:"bytes,1,opt,name=Unknown,proto3,oneof"`
}

type ChargeState_ChargingState_Disconnected struct {
	Disconnected *Void `protobuf:"bytes,2,opt,name=Disconnected,proto3,oneof"`
}

type ChargeState_ChargingState_NoPower struct {
	NoPower *Void `protobuf:"bytes,3,opt,name=NoPower,proto3,oneof"`
}

type ChargeState_ChargingState_Starting struct {
	Starting *Void `protobuf:"bytes,4,opt,name=Starting,proto3,oneof"`
}

type ChargeState_ChargingState_Charging struct {
	Charging *Void `protobuf:"bytes,5,opt,name=Charging,proto3,oneof"`
}

type ChargeState_ChargingState_Complete struct {
	Complete *Void `protobuf:"bytes,6,opt,name=Complete,proto3,oneof"`
}

type ChargeState_ChargingState_Stopped struct {
	Stopped *Void `protobuf:"bytes,7,opt,name=Stopped,proto3,oneof"`
}

type ChargeState_ChargingState_Calibrating struct {
	Calibrating *Void `protobuf:"bytes,8,opt,name=Calibrating,proto3,oneof"`
}

func (*ChargeState_ChargingState_Unknown) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Disconnected) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_NoPower) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Starting) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Charging) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Complete) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Stopped) isChargeState_ChargingState_Type() {}

func (*ChargeState_ChargingState_Calibrating) isChargeState_ChargingState_Type() {}

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

	// Types that are assignable to Type:
	//	*ChargeState_ChargerBrand_Tesla
	//	*ChargeState_ChargerBrand_SNA
	Type isChargeState_ChargerBrand_Type `protobuf_oneof:"type"`
}

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

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

func (*ChargeState_ChargerBrand) ProtoMessage() {}

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

func (m *ChargeState_ChargerBrand) GetType() isChargeState_ChargerBrand_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ChargeState_ChargerBrand) GetTesla() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerBrand_Tesla); ok {
		return x.Tesla
	}
	return nil
}

func (x *ChargeState_ChargerBrand) GetSNA() *Void {
	if x, ok := x.GetType().(*ChargeState_ChargerBrand_SNA); ok {
		return x.SNA
	}
	return nil
}

type isChargeState_ChargerBrand_Type interface {
	isChargeState_ChargerBrand_Type()
}

type ChargeState_ChargerBrand_Tesla struct {
	Tesla *Void `protobuf:"bytes,1,opt,name=Tesla,proto3,oneof"`
}

type ChargeState_ChargerBrand_SNA struct {
	SNA *Void `protobuf:"bytes,2,opt,name=SNA,proto3,oneof"`
}

func (*ChargeState_ChargerBrand_Tesla) isChargeState_ChargerBrand_Type() {}

func (*ChargeState_ChargerBrand_SNA) isChargeState_ChargerBrand_Type() {}

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

	// Types that are assignable to Type:
	//	*LocationState_GPSCoordinateType_GCJ
	//	*LocationState_GPSCoordinateType_WGS
	Type isLocationState_GPSCoordinateType_Type `protobuf_oneof:"type"`
}

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

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

func (*LocationState_GPSCoordinateType) ProtoMessage() {}

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

func (m *LocationState_GPSCoordinateType) GetType() isLocationState_GPSCoordinateType_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *LocationState_GPSCoordinateType) GetGCJ() *Void {
	if x, ok := x.GetType().(*LocationState_GPSCoordinateType_GCJ); ok {
		return x.GCJ
	}
	return nil
}

func (x *LocationState_GPSCoordinateType) GetWGS() *Void {
	if x, ok := x.GetType().(*LocationState_GPSCoordinateType_WGS); ok {
		return x.WGS
	}
	return nil
}

type isLocationState_GPSCoordinateType_Type interface {
	isLocationState_GPSCoordinateType_Type()
}

type LocationState_GPSCoordinateType_GCJ struct {
	GCJ *Void `protobuf:"bytes,1,opt,name=GCJ,proto3,oneof"`
}

type LocationState_GPSCoordinateType_WGS struct {
	WGS *Void `protobuf:"bytes,2,opt,name=WGS,proto3,oneof"`
}

func (*LocationState_GPSCoordinateType_GCJ) isLocationState_GPSCoordinateType_Type() {}

func (*LocationState_GPSCoordinateType_WGS) isLocationState_GPSCoordinateType_Type() {}

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

	GuestModeActive bool `protobuf:"varint,1,opt,name=GuestModeActive,proto3" json:"GuestModeActive,omitempty"`
}

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

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

func (*VehicleState_GuestMode) ProtoMessage() {}

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

func (x *VehicleState_GuestMode) GetGuestModeActive() bool {
	if x != nil {
		return x.GuestModeActive
	}
	return false
}

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

	// Types that are assignable to Type:
	//	*ClimateState_ClimateKeeperMode_Unknown
	//	*ClimateState_ClimateKeeperMode_Off
	//	*ClimateState_ClimateKeeperMode_On
	//	*ClimateState_ClimateKeeperMode_Dog
	//	*ClimateState_ClimateKeeperMode_Party
	Type isClimateState_ClimateKeeperMode_Type `protobuf_oneof:"type"`
}

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

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

func (*ClimateState_ClimateKeeperMode) ProtoMessage() {}

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

func (m *ClimateState_ClimateKeeperMode) GetType() isClimateState_ClimateKeeperMode_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ClimateState_ClimateKeeperMode) GetUnknown() *Void {
	if x, ok := x.GetType().(*ClimateState_ClimateKeeperMode_Unknown); ok {
		return x.Unknown
	}
	return nil
}

func (x *ClimateState_ClimateKeeperMode) GetOff() *Void {
	if x, ok := x.GetType().(*ClimateState_ClimateKeeperMode_Off); ok {
		return x.Off
	}
	return nil
}

func (x *ClimateState_ClimateKeeperMode) GetOn() *Void {
	if x, ok := x.GetType().(*ClimateState_ClimateKeeperMode_On); ok {
		return x.On
	}
	return nil
}

func (x *ClimateState_ClimateKeeperMode) GetDog() *Void {
	if x, ok := x.GetType().(*ClimateState_ClimateKeeperMode_Dog); ok {
		return x.Dog
	}
	return nil
}

func (x *ClimateState_ClimateKeeperMode) GetParty() *Void {
	if x, ok := x.GetType().(*ClimateState_ClimateKeeperMode_Party); ok {
		return x.Party
	}
	return nil
}

type isClimateState_ClimateKeeperMode_Type interface {
	isClimateState_ClimateKeeperMode_Type()
}

type ClimateState_ClimateKeeperMode_Unknown struct {
	Unknown *Void `protobuf:"bytes,1,opt,name=Unknown,proto3,oneof"`
}

type ClimateState_ClimateKeeperMode_Off struct {
	Off *Void `protobuf:"bytes,2,opt,name=Off,proto3,oneof"`
}

type ClimateState_ClimateKeeperMode_On struct {
	On *Void `protobuf:"bytes,3,opt,name=On,proto3,oneof"`
}

type ClimateState_ClimateKeeperMode_Dog struct {
	Dog *Void `protobuf:"bytes,4,opt,name=Dog,proto3,oneof"`
}

type ClimateState_ClimateKeeperMode_Party struct {
	Party *Void `protobuf:"bytes,5,opt,name=Party,proto3,oneof"`
}

func (*ClimateState_ClimateKeeperMode_Unknown) isClimateState_ClimateKeeperMode_Type() {}

func (*ClimateState_ClimateKeeperMode_Off) isClimateState_ClimateKeeperMode_Type() {}

func (*ClimateState_ClimateKeeperMode_On) isClimateState_ClimateKeeperMode_Type() {}

func (*ClimateState_ClimateKeeperMode_Dog) isClimateState_ClimateKeeperMode_Type() {}

func (*ClimateState_ClimateKeeperMode_Party) isClimateState_ClimateKeeperMode_Type() {}

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

	// Types that are assignable to Type:
	//	*ClimateState_DefrostMode_Off
	//	*ClimateState_DefrostMode_Normal
	//	*ClimateState_DefrostMode_Max
	Type isClimateState_DefrostMode_Type `protobuf_oneof:"type"`
}

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

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

func (*ClimateState_DefrostMode) ProtoMessage() {}

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

func (m *ClimateState_DefrostMode) GetType() isClimateState_DefrostMode_Type {
	if m != nil {
		return m.Type
	}
	return nil
}

func (x *ClimateState_DefrostMode) GetOff() *Void {
	if x, ok := x.GetType().(*ClimateState_DefrostMode_Off); ok {
		return x.Off
	}
	return nil
}

func (x *ClimateState_DefrostMode) GetNormal() *Void {
	if x, ok := x.GetType().(*ClimateState_DefrostMode_Normal); ok {
		return x.Normal
	}
	return nil
}

func (x *ClimateState_DefrostMode) GetMax() *Void {
	if x, ok := x.GetType().(*ClimateState_DefrostMode_Max); ok {
		return x.Max
	}
	return nil
}

type isClimateState_DefrostMode_Type interface {
	isClimateState_DefrostMode_Type()
}

type ClimateState_DefrostMode_Off struct {
	Off *Void `protobuf:"bytes,1,opt,name=Off,proto3,oneof"`
}

type ClimateState_DefrostMode_Normal struct {
	Normal *Void `protobuf:"bytes,2,opt,name=Normal,proto3,oneof"`
}

type ClimateState_DefrostMode_Max struct {
	Max *Void `protobuf:"bytes,3,opt,name=Max,proto3,oneof"`
}

func (*ClimateState_DefrostMode_Off) isClimateState_DefrostMode_Type() {}

func (*ClimateState_DefrostMode_Normal) isClimateState_DefrostMode_Type() {}

func (*ClimateState_DefrostMode_Max) isClimateState_DefrostMode_Type() {}

var File_vehicle_proto protoreflect.FileDescriptor

var file_vehicle_proto_rawDesc = []byte{
	0x0a, 0x0d, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x09, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x76, 0x63, 0x73,
	0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82,
	0x07, 0x0a, 0x0b, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39,
	0x0a, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x63, 0x6c, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x17, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x63, 0x6c, 0x69, 0x6d, 0x61,
	0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x64, 0x72, 0x69, 0x76, 0x65,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x52, 0x0a, 0x64, 0x72, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x3f, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x52, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1e, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x52, 0x13, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1e, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x1c, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x13, 0x74, 0x69, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65,
	0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x54, 0x69,
	0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52,
	0x11, 0x74, 0x69, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a,
	0x6d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x12, 0x6d, 0x65,
	0x64, 0x69, 0x61, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x52, 0x10, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x15, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72,
	0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x17,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x52, 0x13, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x5f, 0x73,
	0x74, 0x61, 0x74, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x15, 0x70, 0x61,
	0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x22, 0xfe, 0x17, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70,
	0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18,
	0x65, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x13, 0x64, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65,
	0x6e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x15,
	0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
	0x5f, 0x72, 0x65, 0x61, 0x72, 0x18, 0x66, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x64,
	0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x52, 0x65, 0x61,
	0x72, 0x12, 0x3b, 0x0a, 0x19, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70,
	0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x67,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x16, 0x64, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e,
	0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x39,
	0x0a, 0x18, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73,
	0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x18, 0x68, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x03, 0x52, 0x15, 0x64, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x61, 0x73, 0x73,
	0x65, 0x6e, 0x67, 0x65, 0x72, 0x52, 0x65, 0x61, 0x72, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x6f, 0x6f,
	0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x66, 0x72, 0x6f,
	0x6e, 0x74, 0x18, 0x69, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x12, 0x64, 0x6f, 0x6f, 0x72,
	0x4f, 0x70, 0x65, 0x6e, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x31,
	0x0a, 0x14, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x6e,
	0x6b, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x11,
	0x64, 0x6f, 0x6f, 0x72, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x72, 0x75, 0x6e, 0x6b, 0x52, 0x65, 0x61,
	0x72, 0x12, 0x39, 0x0a, 0x18, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
	0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x6b, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x15, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70, 0x65,
	0x6e, 0x44, 0x72, 0x69, 0x76, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x1b,
	0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73,
	0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x6c, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x07, 0x52, 0x18, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70, 0x65, 0x6e, 0x50,
	0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x37, 0x0a,
	0x17, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69,
	0x76, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08,
	0x52, 0x14, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70, 0x65, 0x6e, 0x44, 0x72, 0x69, 0x76,
	0x65, 0x72, 0x52, 0x65, 0x61, 0x72, 0x12, 0x3d, 0x0a, 0x1a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
	0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f,
	0x72, 0x65, 0x61, 0x72, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x17, 0x77, 0x69,
	0x6e, 0x64, 0x6f, 0x77, 0x4f, 0x70, 0x65, 0x6e, 0x50, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65,
	0x72, 0x52, 0x65, 0x61, 0x72, 0x12, 0x4b, 0x0a, 0x0e, 0x73, 0x75, 0x6e, 0x5f, 0x72, 0x6f, 0x6f,
	0x66, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72,
	0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x75, 0x6e, 0x52, 0x6f, 0x6f, 0x66, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x73, 0x75, 0x6e, 0x52, 0x6f, 0x6f, 0x66, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x33, 0x0a, 0x15, 0x73, 0x75, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x70,
	0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x70, 0x20, 0x01, 0x28,
	0x05, 0x48, 0x0a, 0x52, 0x12, 0x73, 0x75, 0x6e, 0x52, 0x6f, 0x6f, 0x66, 0x50, 0x65, 0x72, 0x63,
	0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
	0x64, 0x18, 0x71, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0b, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65,
	0x64, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x18, 0x72, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x0d, 0x69, 0x73,
	0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x57, 0x0a, 0x14, 0x63,
	0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x43, 0x61, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x52, 0x12, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0b, 0x72, 0x65,
	0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x76, 0x61, 0x6c,
	0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x75, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0e, 0x52,
	0x09, 0x76, 0x61, 0x6c, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x61,
	0x6c, 0x65, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x76,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x0f, 0x52, 0x0e, 0x76, 0x61, 0x6c, 0x65, 0x74, 0x50, 0x69, 0x6e,
	0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x54, 0x0a, 0x11, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79,
	0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x28, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c,
	0x6f, 0x73, 0x75, 0x72, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x74,
	0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x65, 0x6e,
	0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x15,
	0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69,
	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x08, 0x48, 0x10, 0x52, 0x13, 0x73,
	0x65, 0x6e, 0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
	0x6c, 0x65, 0x12, 0x43, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0e, 0x73, 0x70, 0x65, 0x65, 0x64, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x74, 0x6f, 0x6e, 0x6e, 0x65,
	0x61, 0x75, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15,
	0x2e, 0x56, 0x43, 0x53, 0x45, 0x43, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x5f, 0x45, 0x48, 0x11, 0x52, 0x0c, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75,
	0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x18, 0x20,
	0x01, 0x28, 0x0d, 0x48, 0x12, 0x52, 0x12, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75, 0x50, 0x65,
	0x72, 0x63, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x6e,
	0x6e, 0x65, 0x61, 0x75, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x13, 0x52, 0x0f, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75, 0x49,
	0x6e, 0x4d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x18, 0xd0, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x1a, 0x9c, 0x02, 0x0a, 0x0c, 0x53, 0x75, 0x6e, 0x52, 0x6f, 0x6f, 0x66, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
	0x12, 0x33, 0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72,
	0x61, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64,
	0x12, 0x25, 0x0a, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48,
	0x00, 0x52, 0x04, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x29, 0x0a, 0x06, 0x4d, 0x6f, 0x76, 0x69, 0x6e,
	0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x4d, 0x6f, 0x76, 0x69,
	0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04, 0x56, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69,
	0x64, 0x48, 0x00, 0x52, 0x04, 0x56, 0x65, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x1a, 0xc0, 0x03, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x4f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x03, 0x4f, 0x66, 0x66, 0x12, 0x23, 0x0a, 0x03, 0x44, 0x69, 0x6d, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x44, 0x69, 0x6d, 0x12, 0x2f, 0x0a, 0x09,
	0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x09, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x0a,
	0x02, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x02, 0x4f, 0x6e,
	0x12, 0x2b, 0x0a, 0x07, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f,
	0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x44, 0x72, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a,
	0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x04,
	0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04, 0x4c,
	0x6f, 0x63, 0x6b, 0x12, 0x29, 0x0a, 0x06, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x23,
	0x0a, 0x03, 0x44, 0x6f, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03,
	0x44, 0x6f, 0x67, 0x12, 0x37, 0x0a, 0x0d, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0d, 0x45,
	0x6e, 0x74, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x1a, 0x89, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x4d,
	0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x4f, 0x66, 0x66, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x4f, 0x66, 0x66, 0x12, 0x25, 0x0a,
	0x04, 0x49, 0x64, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04,
	0x49, 0x64, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x05, 0x41, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x27, 0x0a,
	0x05, 0x41, 0x77, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x05, 0x41, 0x77, 0x61, 0x72, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x05, 0x50, 0x61, 0x6e, 0x69, 0x63, 0x12,
	0x27, 0x0a, 0x05, 0x51, 0x75, 0x69, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48,
	0x00, 0x52, 0x05, 0x51, 0x75, 0x69, 0x65, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
	0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x6f,
	0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x66, 0x72,
	0x6f, 0x6e, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72,
	0x5f, 0x72, 0x65, 0x61, 0x72, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73,
	0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x42, 0x23, 0x0a, 0x21, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65,
	0x6e, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72,
	0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x6f,
	0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x66, 0x72, 0x6f,
	0x6e, 0x74, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64,
	0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x5f, 0x72,
	0x65, 0x61, 0x72, 0x42, 0x23, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76,
	0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x42, 0x26, 0x0a, 0x24, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
	0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74,
	0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x69, 0x6e,
	0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f,
	0x72, 0x65, 0x61, 0x72, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x70, 0x61, 0x73,
	0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x42, 0x20, 0x0a, 0x1e, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x66,
	0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x11, 0x0a,
	0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
	0x42, 0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f,
	0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x17, 0x0a, 0x15,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f,
	0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x1b, 0x0a, 0x19,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x65, 0x74, 0x5f, 0x70,
	0x69, 0x6e, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x6d, 0x6f, 0x64,
	0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e,
	0x74, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x6e, 0x6e, 0x65, 0x61, 0x75, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x6f,
	0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x04, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x10,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x19, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52,
	0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x57,
	0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
	0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0c,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x18,
	0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02,
	0x52, 0x15, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03,
	0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x41,
	0x0a, 0x1c, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f,
	0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x19, 0x73, 0x68, 0x6f, 0x77, 0x53, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xd0,
	0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x21, 0x0a, 0x1f,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42,
	0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x42, 0x23, 0x0a, 0x21, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x18,
	0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f,
	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x27, 0x0a, 0x25, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75,
	0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x65, 0x22, 0xfb, 0x03, 0x0a, 0x1c, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x12, 0x56, 0x0a, 0x16, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50,
	0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x52, 0x15, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x1f, 0x70, 0x72,
	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x1d, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x57,
	0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x45, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d,
	0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52,
	0x1b, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0d,
	0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x18, 0xd0, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x2a,
	0x0a, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f,
	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x29, 0x0a, 0x27, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x70,
	0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22,
	0xc6, 0x02, 0x0a, 0x0e, 0x53, 0x70, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x6f,
	0x64, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x67, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x22, 0x0a, 0x0c,
	0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x68, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x69, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x53, 0x65, 0x74,
	0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70,
	0x68, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x4d, 0x70, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52,
	0x0b, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x70, 0x68, 0x12, 0x2c, 0x0a, 0x11,
	0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70,
	0x68, 0x18, 0x6c, 0x20, 0x01, 0x28, 0x02, 0x48, 0x04, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65,
	0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x70, 0x68, 0x42, 0x11, 0x0a, 0x0f, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x17, 0x0a,
	0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x63, 0x6f,
	0x64, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68,
	0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6e,
	0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x22, 0xea, 0x05, 0x0a, 0x18, 0x50, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x73, 0x70, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01,
	0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x70, 0x68, 0x12, 0x24, 0x0a,
	0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x4d, 0x70, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03,
	0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x70,
	0x68, 0x12, 0x3e, 0x0a, 0x1a, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x18, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x41, 0x63,
	0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x12, 0x47, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x66,
	0x65, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x1c, 0x72, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x53, 0x61, 0x66, 0x65, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69,
	0x6e, 0x67, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0e, 0x63, 0x75,
	0x72, 0x66, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x06, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x45, 0x6e, 0x61, 0x62,
	0x6c, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x5f, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07,
	0x52, 0x0f, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x5f,
	0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x0d, 0x63, 0x75,
	0x72, 0x66, 0x65, 0x77, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x6c, 0x69,
	0x6d, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x5f, 0x6d, 0x70, 0x68, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x42,
	0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x70, 0x68, 0x42, 0x25, 0x0a,
	0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x5f,
	0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x42, 0x2a, 0x0a, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x5f,
	0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x42, 0x19, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72,
	0x66, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x1c, 0x0a, 0x1a, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x5f, 0x73,
	0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x66, 0x65, 0x77, 0x5f, 0x65, 0x6e, 0x64,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74,
	0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3a, 0x0a, 0x18, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x5f, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x16, 0x70,
	0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x41,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x3b, 0x0a, 0x19, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61,
	0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x73,
	0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x16, 0x70, 0x61, 0x72, 0x65,
	0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x50, 0x69, 0x6e, 0x53,
	0x65, 0x74, 0x12, 0x61, 0x0a, 0x1a, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x63,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x18, 0x70, 0x61, 0x72,
	0x65, 0x6e, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x53, 0x65, 0x74,
	0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x23, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x74,
	0x22, 0xaf, 0x07, 0x0a, 0x13, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64,
	0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72,
	0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x66, 0x20, 0x01, 0x28, 0x04,
	0x48, 0x00, 0x52, 0x0f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d,
	0x65, 0x4d, 0x73, 0x12, 0x3b, 0x0a, 0x19, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73,
	0x18, 0x67, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e,
	0x67, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x73,
	0x12, 0x34, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x68, 0x20, 0x01, 0x28, 0x0d, 0x48,
	0x02, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x12, 0x25, 0x0a, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x18, 0x69, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52,
	0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x65, 0x72, 0x63, 0x12, 0x23, 0x0a,
	0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x18, 0x6a, 0x20,
	0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65,
	0x72, 0x63, 0x12, 0x1a, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x6b, 0x20,
	0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x38,
	0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x6c, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0xda, 0x02, 0x0a, 0x14, 0x53, 0x6f, 0x66,
	0x74, 0x77, 0x61, 0x72, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
	0x73, 0x12, 0x2b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56,
	0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x31,
	0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56,
	0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x69, 0x6e,
	0x67, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x09, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x12, 0x2f, 0x0a, 0x09, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x09, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
	0x62, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x13, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69,
	0x6e, 0x67, 0x57, 0x69, 0x66, 0x69, 0x57, 0x61, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69,
	0x64, 0x48, 0x00, 0x52, 0x13, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67,
	0x57, 0x69, 0x66, 0x69, 0x57, 0x61, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x0b, 0x44, 0x6f, 0x77, 0x6e,
	0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00,
	0x52, 0x0b, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x06, 0x0a,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x6d, 0x73, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d,
	0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x64,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x18, 0x0a, 0x16, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64,
	0x5f, 0x70, 0x65, 0x72, 0x63, 0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x42, 0x12,
	0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x22, 0x9a, 0x09, 0x0a, 0x0a, 0x44, 0x72, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x36, 0x0a, 0x0b, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x53, 0x68, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x73,
	0x68, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x73, 0x70, 0x65,
	0x65, 0x64, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x73, 0x70, 0x65, 0x65,
	0x64, 0x12, 0x16, 0x0a, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x67, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x01, 0x52, 0x05, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d,
	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x12, 0x47, 0x0a, 0x20, 0x6f, 0x64, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f,
	0x69, 0x6e, 0x5f, 0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x74, 0x68, 0x73, 0x5f, 0x6f, 0x66,
	0x5f, 0x61, 0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x18, 0x69, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52,
	0x1b, 0x6f, 0x64, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x48, 0x75, 0x6e, 0x64, 0x72,
	0x65, 0x64, 0x74, 0x68, 0x73, 0x4f, 0x66, 0x41, 0x4d, 0x69, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x0b,
	0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x6a, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x03, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12,
	0x3a, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x09, 0x48, 0x04, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65,
	0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x1f, 0x61,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x08,
	0x20, 0x01, 0x28, 0x02, 0x48, 0x05, 0x52, 0x1b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f,
	0x75, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x41, 0x72, 0x72, 0x69,
	0x76, 0x61, 0x6c, 0x12, 0x42, 0x0a, 0x1d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f,
	0x75, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x72, 0x72,
	0x69, 0x76, 0x61, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x48, 0x06, 0x52, 0x19, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x54, 0x6f,
	0x41, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x4c, 0x0a, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f,
	0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20,
	0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x1e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75,
	0x74, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73,
	0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x44, 0x0a, 0x1e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x61, 0x74, 0x5f,
	0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x48, 0x08, 0x52,
	0x1a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x65, 0x72,
	0x67, 0x79, 0x41, 0x74, 0x41, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x6c,
	0x61, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x09, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x6f,
	0x75, 0x74, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x6c, 0x61, 0x73,
	0x74, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x18, 0x0f, 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, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65,
	0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x16, 0x61, 0x63, 0x74,
	0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61,
	0x74, 0x65, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x73, 0x70, 0x65, 0x65, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x2b, 0x0a, 0x29, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x64, 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x5f,
	0x68, 0x75, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x74, 0x68, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x61, 0x5f,
	0x6d, 0x69, 0x6c, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x73, 0x70, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x23, 0x0a, 0x21,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x42, 0x2a, 0x0a, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74,
	0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x42, 0x28, 0x0a,
	0x26, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f,
	0x61, 0x72, 0x72, 0x69, 0x76, 0x61, 0x6c, 0x42, 0x2d, 0x0a, 0x2b, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65,
	0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73,
	0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f,
	0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x61, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x69, 0x76, 0x61,
	0x6c, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x61,
	0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22,
	0xe2, 0x4a, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x4b, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x11,
	0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70,
	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x66, 0x61, 0x73,
	0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x12,
	0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x72, 0x61,
	0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x52, 0x10, 0x66,
	0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12,
	0x2a, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f,
	0x73, 0x6f, 0x63, 0x18, 0x68, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x6f, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f,
	0x73, 0x74, 0x64, 0x18, 0x69, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x6f, 0x63, 0x53, 0x74, 0x64, 0x12, 0x31,
	0x0a, 0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73,
	0x6f, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x11,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x6f, 0x63, 0x4d, 0x69,
	0x6e, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x03, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x6f,
	0x63, 0x4d, 0x61, 0x78, 0x12, 0x39, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x6e, 0x67,
	0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72,
	0x18, 0x6d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x6e,
	0x67, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12,
	0x32, 0x0a, 0x14, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f,
	0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52,
	0x12, 0x66, 0x61, 0x73, 0x74, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x50, 0x72, 0x65, 0x73,
	0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72,
	0x61, 0x6e, 0x67, 0x65, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x06, 0x52, 0x0c, 0x62, 0x61,
	0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x65, 0x73,
	0x74, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
	0x70, 0x20, 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x0f, 0x65, 0x73, 0x74, 0x42, 0x61, 0x74, 0x74,
	0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x64, 0x65, 0x61,
	0x6c, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18,
	0x71, 0x20, 0x01, 0x28, 0x02, 0x48, 0x08, 0x52, 0x11, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x42, 0x61,
	0x74, 0x74, 0x65, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x61,
	0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x72, 0x20, 0x01, 0x28,
	0x05, 0x48, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x12, 0x32, 0x0a, 0x14, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x74,
	0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x0a, 0x52, 0x12, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79,
	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x30, 0x0a, 0x13, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
	0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x18, 0x74, 0x20, 0x01,
	0x28, 0x02, 0x48, 0x0b, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x65, 0x72,
	0x67, 0x79, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x61,
	0x74, 0x65, 0x64, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0c, 0x52, 0x15, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4d, 0x69, 0x6c, 0x65, 0x73, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x61, 0x74,
	0x65, 0x64, 0x12, 0x39, 0x0a, 0x18, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6c,
	0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x18, 0x76,
	0x20, 0x01, 0x28, 0x02, 0x48, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4d, 0x69,
	0x6c, 0x65, 0x73, 0x41, 0x64, 0x64, 0x65, 0x64, 0x49, 0x64, 0x65, 0x61, 0x6c, 0x12, 0x29, 0x0a,
	0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65,
	0x18, 0x77, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0e, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x72, 0x56, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x72, 0x5f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x74, 0x18, 0x78, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0f, 0x52, 0x13, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x72, 0x50, 0x69, 0x6c, 0x6f, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36,
	0x0a, 0x16, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c,
	0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x79, 0x20, 0x01, 0x28, 0x05, 0x48, 0x10,
	0x52, 0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x43,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x72, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x11, 0x52,
	0x0c, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x35, 0x0a,
	0x16, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x6c,
	0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x7b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x12, 0x52,
	0x13, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x46, 0x75, 0x6c, 0x6c, 0x43, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x5f,
	0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
	0x8e, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x13, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
	0x73, 0x54, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x25,
	0x0a, 0x0d, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x18,
	0x7d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x14, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
	0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x70, 0x68, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x15,
	0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x70, 0x68, 0x12,
	0x33, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64,
	0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x16,
	0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x44, 0x6f, 0x6f, 0x72,
	0x4f, 0x70, 0x65, 0x6e, 0x12, 0x4c, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x20, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x61, 0x62,
	0x6c, 0x65, 0x12, 0x44, 0x0a, 0x1d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x17, 0x52, 0x1a, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53,
	0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x1a, 0x73, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x70,
	0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x18, 0x52,
	0x18, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x18, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 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, 0x16, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
	0x3e, 0x0a, 0x1a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x65,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x84, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x19, 0x52, 0x17, 0x75, 0x73, 0x65, 0x72, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x35, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x85, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x1a, 0x52, 0x13, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x72, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x1b, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x50, 0x68, 0x61, 0x73, 0x65, 0x73,
	0x12, 0x4b, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f,
	0x6c, 0x61, 0x74, 0x63, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f,
	0x72, 0x74, 0x4c, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x61, 0x74, 0x63, 0x68, 0x12, 0x43, 0x0a,
	0x1d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c,
	0x64, 0x5f, 0x77, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x88,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1c, 0x52, 0x19, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50,
	0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x64, 0x57, 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4d, 0x6f,
	0x64, 0x65, 0x12, 0x37, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x89, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x48, 0x1d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x72,
	0x72, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x1e, 0x52, 0x17, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x39, 0x0a, 0x17, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f,
	0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1f, 0x52,
	0x15, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67,
	0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f,
	0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x20, 0x52, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x55, 0x73, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x40,
	0x0a, 0x1b, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8d, 0x01,
	0x20, 0x01, 0x28, 0x04, 0x48, 0x21, 0x52, 0x18, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x2c, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
	0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x54, 0x0a, 0x15, 0x70, 0x72,
	0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x52, 0x14, 0x70, 0x72, 0x65, 0x63,
	0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x12, 0x56, 0x0a, 0x17, 0x6f, 0x66, 0x66, 0x5f, 0x70, 0x65, 0x61, 0x6b, 0x5f, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x66,
	0x66, 0x50, 0x65, 0x61, 0x6b, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d,
	0x65, 0x73, 0x52, 0x14, 0x6f, 0x66, 0x66, 0x50, 0x65, 0x61, 0x6b, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x17, 0x6f, 0x66, 0x66, 0x5f,
	0x70, 0x65, 0x61, 0x6b, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x22, 0x52, 0x13, 0x6f, 0x66,
	0x66, 0x50, 0x65, 0x61, 0x6b, 0x48, 0x6f, 0x75, 0x72, 0x73, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d,
	0x65, 0x12, 0x67, 0x0a, 0x17, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x94, 0x01, 0x20,
	0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64,
	0x65, 0x48, 0x23, 0x52, 0x15, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x95, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x48, 0x24, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x41, 0x6d,
	0x70, 0x73, 0x12, 0x53, 0x0a, 0x25, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x96, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x48, 0x25, 0x52, 0x21, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65,
	0x4d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74,
	0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x18, 0x97, 0x01, 0x20, 0x01,
	0x28, 0x0d, 0x48, 0x26, 0x52, 0x1d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x44,
	0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x98,
	0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x27, 0x52, 0x16, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
	0x4b, 0x0a, 0x21, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x61, 0x70, 0x70, 0x18, 0x99, 0x01, 0x20, 0x01, 0x28, 0x11, 0x48, 0x28, 0x52, 0x1d, 0x73,
	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67,
	0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x70, 0x70, 0x12, 0x4c, 0x0a, 0x21,
	0x73, 0x75, 0x70, 0x65, 0x72, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73,
	0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65,
	0x72, 0x18, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x29, 0x52, 0x1e, 0x73, 0x75, 0x70, 0x65,
	0x72, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54,
	0x72, 0x69, 0x70, 0x50, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18,
	0x9b, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x5f, 0x45,
	0x48, 0x2a, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f,
	0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x72, 0x61,
	0x74, 0x65, 0x5f, 0x6d, 0x70, 0x68, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x9c, 0x01, 0x20,
	0x01, 0x28, 0x02, 0x48, 0x2b, 0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x61, 0x74,
	0x65, 0x4d, 0x70, 0x68, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x5b, 0x0a, 0x13, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e,
	0x18, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x48, 0x2c, 0x52, 0x11, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x16, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65,
	0x18, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x14, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x37,
	0x0a, 0x16, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75,
	0x6e, 0x6c, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x2d, 0x52, 0x14, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x43, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x6e,
	0x6c, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x48, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x6c, 0x65,
	0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x48, 0x2e, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x12, 0x52, 0x0a, 0x10, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x48, 0x2f, 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x5f,
	0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x30, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64,
	0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xa3, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x48, 0x31, 0x52, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x53, 0x6f,
	0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x35, 0x0a, 0x15, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18,
	0xa4, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x32, 0x52, 0x13, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74,
	0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3c, 0x0a,
	0x19, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xa5, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x48, 0x33, 0x52, 0x16, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x54, 0x69,
	0x6d, 0x65, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 0x1a, 0x70,
	0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
	0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x34, 0x52, 0x18, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x46, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x1a,
	0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75,
	0x72, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xa7, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x35, 0x52, 0x18, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x46,
	0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x30, 0x0a,
	0x12, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x18, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x36, 0x52, 0x11, 0x70, 0x6f,
	0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x51, 0x0a, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79,
	0x70, 0x65, 0x18, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x43, 0x61, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x2e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x48, 0x37, 0x52, 0x0e, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x38, 0x52, 0x10, 0x70, 0x6f, 0x77, 0x65, 0x72,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x64, 0x0a, 0x16, 0x70,
	0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72,
	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53,
	0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x48, 0x39, 0x52, 0x14, 0x70, 0x6f, 0x77,
	0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x12, 0x4a, 0x0a, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f,
	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x5f, 0x6c, 0x6f,
	0x61, 0x64, 0x5f, 0x6b, 0x77, 0x18, 0xac, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x3a, 0x52, 0x1d,
	0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x4c, 0x6f, 0x61, 0x64, 0x4b, 0x77, 0x12, 0x4b, 0x0a,
	0x21, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x68, 0x69,
	0x63, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f,
	0x68, 0x72, 0x18, 0xad, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x3b, 0x52, 0x1d, 0x70, 0x6f, 0x77,
	0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x45, 0x6e,
	0x65, 0x72, 0x67, 0x79, 0x4c, 0x65, 0x66, 0x74, 0x48, 0x72, 0x12, 0x33, 0x0a, 0x14, 0x70, 0x6f,
	0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x18, 0xae, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x3c, 0x52, 0x12, 0x70, 0x6f, 0x77,
	0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x6f, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
	0x2e, 0x0a, 0x12, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x6f, 0x63, 0x5f,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x3d, 0x52, 0x0f,
	0x6f, 0x6e, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x6f, 0x63, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
	0x3a, 0x0a, 0x0d, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x48, 0x3e, 0x52, 0x0c, 0x68,
	0x6f, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0d, 0x77,
	0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb1, 0x01, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x4c, 0x61, 0x74, 0x4c, 0x6f, 0x6e, 0x67, 0x48, 0x3f, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x4c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x18, 0x6f, 0x75, 0x74, 0x6c, 0x65,
	0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x18, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x40, 0x52, 0x15, 0x6f, 0x75,
	0x74, 0x6c, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x4d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x1a, 0xd2, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x23, 0x0a, 0x03, 0x53, 0x4e, 0x41, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48,
	0x00, 0x52, 0x03, 0x53, 0x4e, 0x41, 0x12, 0x23, 0x0a, 0x03, 0x49, 0x45, 0x43, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x49, 0x45, 0x43, 0x12, 0x23, 0x0a, 0x03, 0x53,
	0x41, 0x45, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x53, 0x41, 0x45,
	0x12, 0x26, 0x0a, 0x05, 0x47, 0x42, 0x5f, 0x41, 0x43, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x04, 0x47, 0x42, 0x41, 0x43, 0x12, 0x26, 0x0a, 0x05, 0x47, 0x42, 0x5f, 0x44,
	0x43, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04, 0x47, 0x42, 0x44, 0x43,
	0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0xb6, 0x03, 0x0a, 0x0b, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x53, 0x4e, 0x41, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x53, 0x4e, 0x41, 0x12, 0x35, 0x0a,
	0x0c, 0x53, 0x75, 0x70, 0x65, 0x72, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x53, 0x75, 0x70, 0x65, 0x72, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x64, 0x65, 0x6d, 0x6f, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x43, 0x68, 0x61, 0x64, 0x65, 0x6d,
	0x6f, 0x12, 0x21, 0x0a, 0x02, 0x47, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00,
	0x52, 0x02, 0x47, 0x62, 0x12, 0x3b, 0x0a, 0x0f, 0x41, 0x43, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x57, 0x69, 0x72, 0x65, 0x43, 0x41, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00,
	0x52, 0x0f, 0x41, 0x43, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x57, 0x69, 0x72, 0x65, 0x43, 0x41,
	0x4e, 0x12, 0x27, 0x0a, 0x05, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69,
	0x64, 0x48, 0x00, 0x52, 0x05, 0x43, 0x6f, 0x6d, 0x62, 0x6f, 0x12, 0x3b, 0x0a, 0x0f, 0x4d, 0x43,
	0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x57, 0x69, 0x72, 0x65, 0x43, 0x41, 0x4e, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0f, 0x4d, 0x43, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65,
	0x57, 0x69, 0x72, 0x65, 0x43, 0x41, 0x4e, 0x12, 0x27, 0x0a, 0x05, 0x4f, 0x74, 0x68, 0x65, 0x72,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x05, 0x4f, 0x74, 0x68, 0x65, 0x72,
	0x12, 0x27, 0x0a, 0x05, 0x54, 0x65, 0x73, 0x6c, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64,
	0x48, 0x00, 0x52, 0x05, 0x54, 0x65, 0x73, 0x6c, 0x61, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x1a, 0x97, 0x03, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e,
	0x12, 0x35, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x44, 0x69, 0x73, 0x63, 0x6f,
	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x4e, 0x6f, 0x50, 0x6f, 0x77,
	0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x4e, 0x6f, 0x50,
	0x6f, 0x77, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x08, 0x53, 0x74, 0x61, 0x72, 0x74,
	0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x12, 0x2d, 0x0a, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x08, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
	0x65, 0x12, 0x2b, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56,
	0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x33,
	0x0a, 0x0b, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x43, 0x61, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x74,
	0x69, 0x6e, 0x67, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x64, 0x0a, 0x0c, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x42, 0x72, 0x61, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x05, 0x54,
	0x65, 0x73, 0x6c, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x05, 0x54,
	0x65, 0x73, 0x6c, 0x61, 0x12, 0x23, 0x0a, 0x03, 0x53, 0x4e, 0x41, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f,
	0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x53, 0x4e, 0x41, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70,
	0x65, 0x22, 0x7a, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68,
	0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d,
	0x6f, 0x64, 0x65, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x63, 0x68, 0x65,
	0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64,
	0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x53, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4d,
	0x6f, 0x64, 0x65, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x42, 0x79, 0x10, 0x02, 0x22, 0xc2, 0x02,
	0x0a, 0x11, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f,
	0x72, 0x5f, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72,
	0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x43,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65,
	0x64, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72,
	0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x02, 0x12, 0x17, 0x0a,
	0x13, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72,
	0x42, 0x6c, 0x75, 0x65, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x57, 0x68, 0x69, 0x74, 0x65, 0x10, 0x04,
	0x12, 0x20, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f,
	0x6c, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x47, 0x72, 0x65, 0x65, 0x6e,
	0x10, 0x05, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74,
	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x62,
	0x65, 0x72, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f,
	0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x41, 0x6d, 0x62, 0x65, 0x72, 0x10, 0x07, 0x12, 0x17,
	0x0a, 0x13, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f,
	0x72, 0x52, 0x61, 0x76, 0x65, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x44, 0x65, 0x62, 0x75, 0x67, 0x10,
	0x09, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x43,
	0x6f, 0x6c, 0x6f, 0x72, 0x46, 0x6c, 0x61, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x75, 0x65,
	0x10, 0x0a, 0x22, 0xc3, 0x01, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x55, 0x6e, 0x6b,
	0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x6e, 0x65, 0x10,
	0x01, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x76, 0x73, 0x65, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x42, 0x61, 0x74, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x4c, 0x6f, 0x77, 0x10, 0x03, 0x12, 0x1c,
	0x0a, 0x18, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x48, 0x69, 0x67, 0x68, 0x53, 0x6f, 0x63, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f,
	0x6e, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x10, 0x05, 0x22, 0x53, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x6c,
	0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x6c, 0x65,
	0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f,
	0x75, 0x74, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x41,
	0x6e, 0x64, 0x42, 0x65, 0x64, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x65,
	0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x10, 0x02, 0x22, 0x5f, 0x0a,
	0x0e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x15, 0x0a, 0x11, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74,
	0x65, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x46,
	0x65, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x41, 0x6e, 0x64,
	0x42, 0x65, 0x64, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x46, 0x65,
	0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x10, 0x02, 0x22, 0xd0,
	0x01, 0x0a, 0x10, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61,
	0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x10,
	0x00, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x50,
	0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41,
	0x63, 0x74, 0x69, 0x76, 0x65, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x6f, 0x77, 0x65, 0x72,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x70,
	0x65, 0x64, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b,
	0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52,
	0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x6f, 0x6e, 0x10,
	0x05, 0x22, 0x58, 0x0a, 0x0e, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x50,
	0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x6f, 0x61,
	0x64, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x6f, 0x6d, 0x65, 0x10, 0x02, 0x22, 0x81, 0x02, 0x0a, 0x14,
	0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65,
	0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x6e, 0x65,
	0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65,
	0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x53, 0x4f, 0x43, 0x54, 0x6f, 0x6f,
	0x4c, 0x6f, 0x77, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68,
	0x61, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x74,
	0x72, 0x79, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x61, 0x75, 0x6c,
	0x74, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72,
	0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x10,
	0x04, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53,
	0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
	0x63, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x26, 0x0a, 0x22, 0x50, 0x6f, 0x77, 0x65, 0x72,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x41,
	0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x06, 0x42,
	0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x42, 0x1f, 0x0a, 0x1d,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x73, 0x74, 0x64, 0x42, 0x1f, 0x0a,
	0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x42, 0x1f,
	0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x42,
	0x23, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f,
	0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x75,
	0x6e, 0x74, 0x65, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x72,
	0x65, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42,
	0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x65, 0x73, 0x74, 0x5f,
	0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x1e, 0x0a,
	0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x61, 0x6c, 0x5f,
	0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x18, 0x0a,
	0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72,
	0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65,
	0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x65, 0x72,
	0x67, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x42, 0x23, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x65,
	0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x42, 0x23, 0x0a,
	0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x5f, 0x6d, 0x69, 0x6c, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x65,
	0x61, 0x6c, 0x42, 0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x76, 0x6f, 0x6c, 0x74, 0x61, 0x67, 0x65, 0x42, 0x20,
	0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x72, 0x5f, 0x70, 0x69, 0x6c, 0x6f, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x75, 0x72, 0x72,
	0x65, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x21, 0x0a,
	0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65,
	0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6e,
	0x75, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x1a,
	0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x70, 0x68, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f,
	0x72, 0x74, 0x5f, 0x64, 0x6f, 0x6f, 0x72, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x28, 0x0a, 0x26,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
	0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x72,
	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x25, 0x0a,
	0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63,
	0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65,
	0x73, 0x42, 0x28, 0x0a, 0x26, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x5f, 0x77,
	0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x25,
	0x0a, 0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x42, 0x29, 0x0a, 0x27, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x68,
	0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x61, 0x6e, 0x63,
	0x65, 0x6c, 0x65, 0x64, 0x42, 0x26, 0x0a, 0x24, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e,
	0x67, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x22, 0x0a, 0x20,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x5f, 0x70, 0x65, 0x61,
	0x6b, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x70, 0x73, 0x42, 0x30,
	0x0a, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64,
	0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74,
	0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73,
	0x42, 0x2b, 0x0a, 0x29, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63, 0x68,
	0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x75, 0x72, 0x65,
	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x42, 0x22, 0x0a,
	0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x42, 0x2c, 0x0a, 0x2a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x63,
	0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67,
	0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x70, 0x70, 0x42,
	0x2c, 0x0a, 0x2a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, 0x65,
	0x72, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
	0x5f, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x72, 0x42, 0x1c, 0x0a,
	0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x42, 0x20, 0x0a, 0x1e, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x72,
	0x61, 0x74, 0x65, 0x5f, 0x6d, 0x70, 0x68, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x42, 0x1e, 0x0a,
	0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x21, 0x0a,
	0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x5f, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x6e, 0x6c, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64,
	0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74,
	0x6c, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x64,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
	0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x77, 0x65,
	0x72, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
	0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x65,
	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67,
	0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72,
	0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69,
	0x6e, 0x69, 0x6e, 0x67, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74,
	0x75, 0x72, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x42, 0x25, 0x0a, 0x23, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c,
	0x65, 0x64, 0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70,
	0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x42, 0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f,
	0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a,
	0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73,
	0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x2b,
	0x0a, 0x29, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72,
	0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x6e, 0x65,
	0x6f, 0x75, 0x73, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6b, 0x77, 0x42, 0x2c, 0x0a, 0x2a, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61,
	0x72, 0x65, 0x5f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x65, 0x72, 0x67,
	0x79, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x68, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x68, 0x61, 0x72, 0x65,
	0x5f, 0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
	0x73, 0x6f, 0x63, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x23, 0x0a,
	0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74,
	0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74,
	0x65, 0x73, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x2a, 0x10, 0x2b, 0x4a, 0x04,
	0x08, 0x2b, 0x10, 0x2c, 0x22, 0x87, 0x03, 0x0a, 0x14, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a,
	0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x6c, 0x61, 0x72,
	0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f,
	0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x12, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x3e, 0x0a, 0x1b, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x6c,
	0x61, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x6e, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e,
	0x53, 0x6f, 0x6c, 0x61, 0x72, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x44, 0x69, 0x6e, 0x12,
	0x37, 0x0a, 0x17, 0x74, 0x65, 0x73, 0x6c, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69,
	0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
	0x48, 0x01, 0x52, 0x14, 0x74, 0x65, 0x73, 0x6c, 0x61, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x72, 0x69,
	0x63, 0x41, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x75,
	0x74, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42,
	0x26, 0x0a, 0x24, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x6c, 0x61, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x5f, 0x64, 0x69, 0x6e, 0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x6c, 0x61, 0x5f, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x72,
	0x69, 0x63, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x5f,
	0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xe7,
	0x05, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4a, 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x6c, 0x6c,
	0x6f, 0x77, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53,
	0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f,
	0x77, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65,
	0x64, 0x12, 0x66, 0x0a, 0x15, 0x6e, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x72,
	0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x30, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e,
	0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
	0x65, 0x64, 0x48, 0x00, 0x52, 0x13, 0x6e, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65,
	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x6d, 0x0a, 0x18, 0x63, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f,
	0x73, 0x6f, 0x6c, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x43, 0x61,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e,
	0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69,
	0x6e, 0x67, 0x4f, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x48,
	0x00, 0x52, 0x15, 0x63, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x45, 0x78, 0x63,
	0x65, 0x73, 0x73, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x12, 0x63, 0x0a, 0x14, 0x63, 0x68, 0x61, 0x72,
	0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x41,
	0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x12, 0x63, 0x68, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x41, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x50, 0x0a,
	0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x48,
	0x00, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12,
	0x5d, 0x0a, 0x12, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x73,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x43, 0x61,
	0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e,
	0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e,
	0x67, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x00, 0x52, 0x10, 0x77, 0x61,
	0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3a,
	0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65,
	0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f,
	0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4d, 0x0a, 0x0c, 0x75, 0x73,
	0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x28, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x55,
	0x73, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x73,
	0x65, 0x72, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x74, 0x61,
	0x74, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x1e, 0x0a, 0x1c, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f,
	0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x22, 0x6d, 0x0a, 0x25, 0x43, 0x68, 0x61, 0x72,
	0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x6f,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65,
	0x64, 0x12, 0x44, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x2c, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x69, 0x6e, 0x67, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61,
	0x72, 0x4e, 0x6f, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52,
	0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x27, 0x43, 0x68, 0x61, 0x72, 0x67,
	0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61,
	0x72, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x73, 0x73, 0x53, 0x6f, 0x6c,
	0x61, 0x72, 0x22, 0x26, 0x0a, 0x24, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f,
	0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x67,
	0x4f, 0x6e, 0x41, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x68,
	0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x55, 0x73, 0x65, 0x72, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x24, 0x0a, 0x22,
	0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74, 0x61,
	0x74, 0x65, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f,
	0x6c, 0x61, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x1f, 0x0a,
	0x1d, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x4f, 0x6e, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x22, 0xde,
	0x0b, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x12, 0x1c, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x65, 0x20, 0x01,
	0x28, 0x02, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1e,
	0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x66, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a,
	0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x67, 0x20, 0x01, 0x28, 0x0d, 0x48,
	0x02, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x67, 0x70,
	0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6f, 0x66, 0x18, 0x68, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52,
	0x07, 0x67, 0x70, 0x73, 0x41, 0x73, 0x4f, 0x66, 0x12, 0x3c, 0x0a, 0x19, 0x6e, 0x61, 0x74, 0x69,
	0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x70, 0x70,
	0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x69, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x17, 0x6e,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x70,
	0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0f, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x02, 0x48,
	0x05, 0x52, 0x0e, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x12, 0x2b, 0x0a, 0x10, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67,
	0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x02, 0x48, 0x06, 0x52, 0x0f, 0x6e,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x4b,
	0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x50,
	0x53, 0x43, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52,
	0x0a, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x63,
	0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x02, 0x48, 0x07, 0x52, 0x11, 0x63, 0x6f, 0x72, 0x72, 0x65,
	0x63, 0x74, 0x65, 0x64, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x13,
	0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74,
	0x75, 0x64, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x02, 0x48, 0x08, 0x52, 0x12, 0x63, 0x6f, 0x72,
	0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12,
	0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x29, 0x0a, 0x0f, 0x68, 0x6f, 0x6d,
	0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x18, 0x70, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x09, 0x52, 0x0e, 0x68, 0x6f, 0x6d, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x4e, 0x65,
	0x61, 0x72, 0x62, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x6c,
	0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x67,
	0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x72, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x0b, 0x52, 0x0b, 0x67, 0x65, 0x6f, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65,
	0x12, 0x25, 0x0a, 0x0d, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x18, 0x73, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0c, 0x52, 0x0c, 0x67, 0x65, 0x6f, 0x4c, 0x6f,
	0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x65, 0x6f, 0x5f, 0x68,
	0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x74, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0d, 0x52, 0x0a,
	0x67, 0x65, 0x6f, 0x48, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0d, 0x67, 0x65,
	0x6f, 0x5f, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x75, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x0e, 0x52, 0x0c, 0x67, 0x65, 0x6f, 0x45, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x67, 0x65, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63,
	0x79, 0x18, 0x76, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0f, 0x52, 0x0b, 0x67, 0x65, 0x6f, 0x41, 0x63,
	0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x13, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x67, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x77, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x10, 0x52, 0x11, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64,
	0x47, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x19, 0x65, 0x73, 0x74, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x78, 0x20, 0x01, 0x28, 0x02, 0x48, 0x11, 0x52, 0x16, 0x65,
	0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x54, 0x6f, 0x52, 0x61, 0x77, 0x44, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x65, 0x0a, 0x11, 0x47, 0x50, 0x53, 0x43, 0x6f, 0x6f, 0x72,
	0x64, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x03, 0x47, 0x43,
	0x4a, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x47, 0x43, 0x4a, 0x12,
	0x23, 0x0a, 0x03, 0x57, 0x47, 0x53, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x03, 0x57, 0x47, 0x53, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64,
	0x65, 0x42, 0x14, 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f,
	0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x70, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x6f,
	0x66, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75,
	0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74,
	0x75, 0x64, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65,
	0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72,
	0x72, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x42,
	0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x72, 0x72,
	0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x42,
	0x1a, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x6d, 0x65,
	0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x62, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x42, 0x18,
	0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x6c,
	0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67,
	0x42, 0x18, 0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x6f,
	0x5f, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x65, 0x6f, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72,
	0x61, 0x63, 0x79, 0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x67, 0x70, 0x73, 0x5f, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x61, 0x77,
	0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x22,
	0x86, 0x01, 0x0a, 0x0c, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x12, 0x3f, 0x0a, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x4a, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x47, 0x75, 0x65,
	0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64,
	0x65, 0x1a, 0x35, 0x0a, 0x09, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x28,
	0x0a, 0x0f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76,
	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x6f,
	0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0xe4, 0x2b, 0x0a, 0x0c, 0x43, 0x6c, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x69, 0x6e, 0x73,
	0x69, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73,
	0x18, 0x65, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65,
	0x54, 0x65, 0x6d, 0x70, 0x43, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x6f,
	0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73,
	0x69, 0x75, 0x73, 0x18, 0x66, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x12, 0x6f, 0x75, 0x74,
	0x73, 0x69, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x43, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x12,
	0x30, 0x0a, 0x13, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x73,
	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x67, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x11,
	0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
	0x67, 0x12, 0x36, 0x0a, 0x16, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x74,
	0x65, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x68, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x03, 0x52, 0x14, 0x70, 0x61, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x54, 0x65,
	0x6d, 0x70, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x6c, 0x65, 0x66,
	0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x69, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x11, 0x6c, 0x65, 0x66, 0x74, 0x54, 0x65,
	0x6d, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x72,
	0x69, 0x67, 0x68, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x12, 0x72, 0x69, 0x67,
	0x68, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
	0x33, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x72,
	0x6f, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x18, 0x6b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06,
	0x52, 0x12, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x44, 0x65, 0x66, 0x72, 0x6f, 0x73, 0x74,
	0x65, 0x72, 0x4f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x64, 0x65, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x18, 0x6c, 0x20, 0x01,
	0x28, 0x08, 0x48, 0x07, 0x52, 0x11, 0x69, 0x73, 0x52, 0x65, 0x61, 0x72, 0x44, 0x65, 0x66, 0x72,
	0x6f, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x6e, 0x12, 0x1f, 0x0a, 0x0a, 0x66, 0x61, 0x6e, 0x5f, 0x73,
	0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x6d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x09, 0x66,
	0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63,
	0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x09, 0x52, 0x0b, 0x69, 0x73, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x12, 0x35,
	0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70,
	0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a,
	0x52, 0x13, 0x6d, 0x69, 0x6e, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x54, 0x65, 0x6d, 0x70, 0x43, 0x65,
	0x6c, 0x73, 0x69, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x76, 0x61,
	0x69, 0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x18,
	0x70, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0b, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x41, 0x76, 0x61, 0x69,
	0x6c, 0x54, 0x65, 0x6d, 0x70, 0x43, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x12, 0x2a, 0x0a, 0x10,
	0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74,
	0x18, 0x71, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65,
	0x61, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x73, 0x65, 0x61, 0x74,
	0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x72, 0x20,
	0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, 0x0f, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x33, 0x0a, 0x15, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68,
	0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18,
	0x73, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0e, 0x52, 0x12, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61,
	0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x72, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x35, 0x0a, 0x16, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x74, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0f, 0x52, 0x13, 0x73,
	0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x72, 0x52, 0x69, 0x67,
	0x68, 0x74, 0x12, 0x37, 0x0a, 0x17, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x75, 0x20,
	0x01, 0x28, 0x05, 0x48, 0x10, 0x52, 0x14, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x52, 0x65, 0x61, 0x72, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x76, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x11, 0x52, 0x17, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x52, 0x65,
	0x61, 0x72, 0x52, 0x69, 0x67, 0x68, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x1a, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x6c, 0x65, 0x66, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x77, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x12, 0x52, 0x16, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61,
	0x72, 0x4c, 0x65, 0x66, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x3e, 0x0a, 0x1b, 0x73, 0x65, 0x61,
	0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x72,
	0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x78, 0x20, 0x01, 0x28, 0x05, 0x48, 0x13,
	0x52, 0x17, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x54, 0x68, 0x69, 0x72,
	0x64, 0x52, 0x6f, 0x77, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3c, 0x0a, 0x1a, 0x73, 0x65, 0x61,
	0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x72,
	0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x79, 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52,
	0x16, 0x73, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x54, 0x68, 0x69, 0x72, 0x64,
	0x52, 0x6f, 0x77, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x27, 0x0a, 0x0e, 0x62, 0x61, 0x74, 0x74, 0x65,
	0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0x7a, 0x20, 0x01, 0x28, 0x08, 0x48,
	0x15, 0x52, 0x0d, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72,
	0x12, 0x37, 0x0a, 0x17, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x7b, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x16, 0x52, 0x14, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x48, 0x65, 0x61, 0x74,
	0x65, 0x72, 0x4e, 0x6f, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x74, 0x65,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x65, 0x72, 0x18, 0x7d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x17, 0x52, 0x13, 0x73, 0x74, 0x65, 0x65,
	0x72, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x12,
	0x2e, 0x0a, 0x12, 0x77, 0x69, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x61, 0x64, 0x65, 0x5f, 0x68,
	0x65, 0x61, 0x74, 0x65, 0x72, 0x18, 0x7e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x18, 0x52, 0x10, 0x77,
	0x69, 0x70, 0x65, 0x72, 0x42, 0x6c, 0x61, 0x64, 0x65, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x12,
	0x30, 0x0a, 0x13, 0x73, 0x69, 0x64, 0x65, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x68,
	0x65, 0x61, 0x74, 0x65, 0x72, 0x73, 0x18, 0x7f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x19, 0x52, 0x11,
	0x73, 0x69, 0x64, 0x65, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72,
	0x73, 0x12, 0x30, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x80, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1a,
	0x52, 0x11, 0x69, 0x73, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x69, 0x6e, 0x67, 0x12, 0x44, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x68, 0x65,
	0x61, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x18, 0x81, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1b, 0x52, 0x1a, 0x72,
	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72,
	0x6f, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x13, 0x63, 0x6c, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
	0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x4d, 0x6f, 0x64,
	0x65, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2d,
	0x0a, 0x11, 0x62, 0x69, 0x6f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65,
	0x5f, 0x6f, 0x6e, 0x18, 0x86, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1c, 0x52, 0x0f, 0x62, 0x69,
	0x6f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x4f, 0x6e, 0x12, 0x46, 0x0a,
	0x0c, 0x64, 0x65, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x23, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
	0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x66,
	0x72, 0x6f, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x72, 0x6f, 0x73,
	0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f,
	0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e,
	0x18, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1d, 0x52, 0x14, 0x69, 0x73, 0x41, 0x75, 0x74,
	0x6f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x12,
	0x36, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x63, 0x6c, 0x69,
	0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x89, 0x01, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x1e, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x65, 0x61, 0x74, 0x43, 0x6c, 0x69, 0x6d,
	0x61, 0x74, 0x65, 0x4c, 0x65, 0x66, 0x74, 0x12, 0x38, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x5f,
	0x73, 0x65, 0x61, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x69, 0x67,
	0x68, 0x74, 0x18, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1f, 0x52, 0x14, 0x61, 0x75, 0x74,
	0x6f, 0x53, 0x65, 0x61, 0x74, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x52, 0x69, 0x67, 0x68,
	0x74, 0x12, 0x30, 0x0a, 0x13, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x66, 0x72,
	0x6f, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48,
	0x20, 0x52, 0x10, 0x73, 0x65, 0x61, 0x74, 0x46, 0x61, 0x6e, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x4c,
	0x65, 0x66, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x66, 0x61, 0x6e, 0x5f,
	0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x18, 0x8c, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x48, 0x21, 0x52, 0x11, 0x73, 0x65, 0x61, 0x74, 0x46, 0x61, 0x6e, 0x46, 0x72, 0x6f,
	0x6e, 0x74, 0x52, 0x69, 0x67, 0x68, 0x74, 0x12, 0x48, 0x0a, 0x1f, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
	0x5f, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x22, 0x52, 0x1c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f,
	0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x5e, 0x0a, 0x2b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x66, 0x61,
	0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65,
	0x72, 0x68, 0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x18, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x23, 0x52, 0x26, 0x73, 0x75, 0x70, 0x70, 0x6f,
	0x72, 0x74, 0x73, 0x46, 0x61, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f,
	0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x70, 0x0a, 0x19, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68,
	0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8f,
	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43,
	0x61, 0x62, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x45, 0x48, 0x24, 0x52, 0x17, 0x63, 0x61, 0x62, 0x69,
	0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x2a, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65,
	0x72, 0x68, 0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x69, 0x6e,
	0x67, 0x18, 0x90, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x25, 0x52, 0x26, 0x63, 0x61, 0x62, 0x69,
	0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x43, 0x6f, 0x6f, 0x6c, 0x69,
	0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x1a, 0x63, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65,
	0x18, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65,
	0x2e, 0x43, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65,
	0x6d, 0x70, 0x48, 0x26, 0x52, 0x18, 0x63, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3a,
	0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f,
	0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x18, 0x93, 0x01, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x27, 0x52, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x53, 0x74, 0x65, 0x65, 0x72, 0x69, 0x6e,
	0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x48, 0x65, 0x61, 0x74, 0x12, 0x55, 0x0a, 0x19, 0x73, 0x74,
	0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61,
	0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x94, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x77, 0x48, 0x65,
	0x61, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x28, 0x52, 0x16, 0x73, 0x74, 0x65, 0x65, 0x72,
	0x69, 0x6e, 0x67, 0x57, 0x68, 0x65, 0x65, 0x6c, 0x48, 0x65, 0x61, 0x74, 0x4c, 0x65, 0x76, 0x65,
	0x6c, 0x12, 0x56, 0x0a, 0x11, 0x68, 0x76, 0x61, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74,
	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x48, 0x76, 0x61, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x29, 0x52, 0x0f, 0x68, 0x76, 0x61, 0x63, 0x41, 0x75,
	0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x63, 0x6f, 0x70,
	0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61,
	0x73, 0x6f, 0x6e, 0x18, 0x97, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x53, 0x74,
	0x61, 0x74, 0x65, 0x2e, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x48, 0x2a, 0x52, 0x13, 0x63, 0x6f, 0x70, 0x4e, 0x6f,
	0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x1a, 0xde,
	0x01, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x65, 0x70, 0x65, 0x72,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65,
	0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77,
	0x6e, 0x12, 0x23, 0x0a, 0x03, 0x4f, 0x66, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f,
	0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48,
	0x00, 0x52, 0x03, 0x4f, 0x66, 0x66, 0x12, 0x21, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56,
	0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x23, 0x0a, 0x03, 0x44, 0x6f, 0x67,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x03, 0x44, 0x6f, 0x67, 0x12, 0x27,
	0x0a, 0x05, 0x50, 0x61, 0x72, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00,
	0x52, 0x05, 0x50, 0x61, 0x72, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a,
	0x8a, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x72, 0x6f, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12,
	0x23, 0x0a, 0x03, 0x4f, 0x66, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x03, 0x4f, 0x66, 0x66, 0x12, 0x29, 0x0a, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
	0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x06, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x12,
	0x23, 0x0a, 0x03, 0x4d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43,
	0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52,
	0x03, 0x4d, 0x61, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x45, 0x0a, 0x0f,
	0x48, 0x76, 0x61, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x15, 0x0a, 0x11, 0x48, 0x76, 0x61, 0x63, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x4f, 0x6e, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x48, 0x76, 0x61, 0x63, 0x41, 0x75,
	0x74, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64,
	0x65, 0x10, 0x01, 0x22, 0x7e, 0x0a, 0x19, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72,
	0x68, 0x65, 0x61, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x45,
	0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61,
	0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x66, 0x66, 0x10, 0x00,
	0x12, 0x1d, 0x0a, 0x19, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61,
	0x74, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x6e, 0x10, 0x01, 0x12,
	0x22, 0x0a, 0x1e, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74,
	0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x6e, 0x4f, 0x6e, 0x6c,
	0x79, 0x10, 0x02, 0x22, 0x74, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x45, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x74,
	0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4f, 0x66, 0x66, 0x10, 0x00,
	0x12, 0x16, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x4c, 0x6f, 0x77, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x74,
	0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x64, 0x10, 0x02,
	0x12, 0x17, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x74, 0x48, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x48, 0x69, 0x67, 0x68, 0x10, 0x03, 0x22, 0x79, 0x0a, 0x12, 0x53, 0x65, 0x61,
	0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x45, 0x12,
	0x17, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x65,
	0x76, 0x65, 0x6c, 0x4f, 0x66, 0x66, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x74,
	0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4c, 0x6f, 0x77, 0x10,
	0x01, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67,
	0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4d, 0x65, 0x64, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x65,
	0x61, 0x74, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x69,
	0x67, 0x68, 0x10, 0x03, 0x22, 0x87, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x6f,
	0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x55,
	0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14,
	0x43, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d,
	0x70, 0x4c, 0x6f, 0x77, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x6f, 0x70, 0x41, 0x63, 0x74,
	0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x4d, 0x65, 0x64, 0x69, 0x75,
	0x6d, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x65, 0x6d, 0x70, 0x48, 0x69, 0x67, 0x68, 0x10, 0x03, 0x22, 0x9e,
	0x02, 0x0a, 0x13, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
	0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74,
	0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4e, 0x6f, 0x52,
	0x65, 0x61, 0x73, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x4f, 0x50, 0x4e, 0x6f,
	0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x55, 0x73,
	0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x01, 0x12,
	0x2f, 0x0a, 0x2b, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
	0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x43, 0x6f, 0x6e, 0x73,
	0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0x02,
	0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x10, 0x03,
	0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e,
	0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4c, 0x6f, 0x77, 0x53, 0x6f, 0x6c, 0x61, 0x72, 0x4c,
	0x6f, 0x61, 0x64, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52,
	0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x61, 0x75, 0x6c,
	0x74, 0x10, 0x05, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4f, 0x50, 0x4e, 0x6f, 0x74, 0x52, 0x75, 0x6e,
	0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x43, 0x61, 0x62, 0x69, 0x6e, 0x42,
	0x65, 0x6c, 0x6f, 0x77, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x10, 0x06, 0x42,
	0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x69,
	0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x42,
	0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x73,
	0x69, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73,
	0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x69,
	0x76, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
	0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x73,
	0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x73, 0x65, 0x74, 0x74,
	0x69, 0x6e, 0x67, 0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x72, 0x6f, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x72, 0x6f,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x18,
	0x0a, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x6c,
	0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x5f, 0x74,
	0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x76, 0x61, 0x69,
	0x6c, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x5f, 0x63, 0x65, 0x6c, 0x73, 0x69, 0x75, 0x73, 0x42, 0x1b,
	0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f,
	0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61,
	0x74, 0x65, 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61,
	0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x22,
	0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f,
	0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x63, 0x65, 0x6e, 0x74,
	0x65, 0x72, 0x42, 0x26, 0x0a, 0x24, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x65, 0x72, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x62, 0x61, 0x63,
	0x6b, 0x42, 0x26, 0x0a, 0x24, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65,
	0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f,
	0x72, 0x6f, 0x77, 0x5f, 0x72, 0x69, 0x67, 0x68, 0x74, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x61, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x5f, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x6c, 0x65, 0x66, 0x74,
	0x42, 0x19, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74,
	0x74, 0x65, 0x72, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x42, 0x22, 0x0a, 0x20, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f,
	0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42,
	0x20, 0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65, 0x65,
	0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65,
	0x72, 0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x69,
	0x70, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x61, 0x64, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72,
	0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x64,
	0x65, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x73,
	0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f,
	0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x42,
	0x28, 0x0a, 0x26, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6d, 0x6f,
	0x74, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6f, 0x77, 0x65, 0x61, 0x70, 0x6f, 0x6e, 0x5f,
	0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x6f, 0x6e, 0x42, 0x22, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x61,
	0x74, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x42, 0x22,
	0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f,
	0x73, 0x65, 0x61, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x69, 0x67,
	0x68, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x6c, 0x65,
	0x66, 0x74, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73,
	0x65, 0x61, 0x74, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x72, 0x69,
	0x67, 0x68, 0x74, 0x42, 0x2a, 0x0a, 0x28, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72,
	0x68, 0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x36, 0x0a, 0x34, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, 0x70,
	0x6f, 0x72, 0x74, 0x73, 0x5f, 0x66, 0x61, 0x6e, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x63, 0x61,
	0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65,
	0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x35, 0x0a,
	0x33, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x5f,
	0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6f,
	0x6c, 0x69, 0x6e, 0x67, 0x42, 0x25, 0x0a, 0x23, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x63, 0x6f, 0x70, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
	0x74, 0x65, 0x6d, 0x70, 0x65, 0x72, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x65,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x42, 0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x65,
	0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x65, 0x65, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x74,
	0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x68, 0x76, 0x61, 0x63, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x63, 0x6f, 0x70, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67,
	0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x4a, 0x06, 0x08, 0x91, 0x01, 0x10, 0x92, 0x01, 0x22,
	0xba, 0x0c, 0x0a, 0x11, 0x54, 0x69, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
	0x2a, 0x0a, 0x10, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65,
	0x5f, 0x66, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x70, 0x6d,
	0x73, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x46, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x74,
	0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x72, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x0e, 0x74, 0x70, 0x6d, 0x73, 0x50, 0x72, 0x65,
	0x73, 0x73, 0x75, 0x72, 0x65, 0x46, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x70, 0x6d, 0x73, 0x5f,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x02, 0x52, 0x0e, 0x74, 0x70, 0x6d, 0x73, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72,
	0x65, 0x52, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73,
	0x73, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52,
	0x0e, 0x74, 0x70, 0x6d, 0x73, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x52, 0x72, 0x12,
	0x5f, 0x0a, 0x1f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65,
	0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f,
	0x66, 0x6c, 0x18, 0x06, 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, 0x1a, 0x74, 0x70, 0x6d, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x53, 0x65,
	0x65, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6c,
	0x12, 0x5f, 0x0a, 0x1f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65,
	0x65, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65,
	0x5f, 0x66, 0x72, 0x18, 0x07, 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, 0x1a, 0x74, 0x70, 0x6d, 0x73, 0x4c, 0x61, 0x73, 0x74, 0x53,
	0x65, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x46,
	0x72, 0x12, 0x5f, 0x0a, 0x1f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
	0x65, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d,
	0x65, 0x5f, 0x72, 0x6c, 0x18, 0x08, 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, 0x1a, 0x74, 0x70, 0x6d, 0x73, 0x4c, 0x61, 0x73, 0x74,
	0x53, 0x65, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65,
	0x52, 0x6c, 0x12, 0x5f, 0x0a, 0x1f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f,
	0x73, 0x65, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x69,
	0x6d, 0x65, 0x5f, 0x72, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1a, 0x74, 0x70, 0x6d, 0x73, 0x4c, 0x61, 0x73,
	0x74, 0x53, 0x65, 0x65, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x54, 0x69, 0x6d,
	0x65, 0x52, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64,
	0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x08, 0x48, 0x04, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x48, 0x61, 0x72, 0x64, 0x57, 0x61, 0x72,
	0x6e, 0x69, 0x6e, 0x67, 0x46, 0x6c, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68,
	0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x48, 0x61, 0x72, 0x64,
	0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d,
	0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72,
	0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x48,
	0x61, 0x72, 0x64, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x6c, 0x12, 0x31, 0x0a, 0x14,
	0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e,
	0x67, 0x5f, 0x72, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x11, 0x74, 0x70,
	0x6d, 0x73, 0x48, 0x61, 0x72, 0x64, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x72, 0x12,
	0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x77, 0x61, 0x72,
	0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52,
	0x11, 0x74, 0x70, 0x6d, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67,
	0x46, 0x6c, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f,
	0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08,
	0x48, 0x09, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x57, 0x61, 0x72, 0x6e,
	0x69, 0x6e, 0x67, 0x46, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f,
	0x66, 0x74, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6c, 0x18, 0x10, 0x20,
	0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x57,
	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x6c, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x70, 0x6d, 0x73,
	0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x72,
	0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0b, 0x52, 0x11, 0x74, 0x70, 0x6d, 0x73, 0x53, 0x6f,
	0x66, 0x74, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x74,
	0x70, 0x6d, 0x73, 0x5f, 0x72, 0x63, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0c, 0x52, 0x11, 0x74, 0x70, 0x6d,
	0x73, 0x52, 0x63, 0x70, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f,
	0x0a, 0x13, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x72, 0x63, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0d, 0x52, 0x10, 0x74,
	0x70, 0x6d, 0x73, 0x52, 0x63, 0x70, 0x52, 0x65, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42,
	0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73,
	0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x6c, 0x42, 0x1b, 0x0a, 0x19,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72,
	0x65, 0x73, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x66, 0x72, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73,
	0x75, 0x72, 0x65, 0x5f, 0x72, 0x6c, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x73, 0x75, 0x72, 0x65,
	0x5f, 0x72, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e,
	0x67, 0x5f, 0x66, 0x6c, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
	0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69,
	0x6e, 0x67, 0x5f, 0x66, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72, 0x6e,
	0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6c, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x77, 0x61, 0x72,
	0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
	0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x77, 0x61,
	0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6c, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x77,
	0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f,
	0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x6c, 0x42, 0x1f, 0x0a, 0x1d, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74,
	0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x72, 0x42, 0x1f, 0x0a, 0x1d, 0x6f,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x72, 0x63, 0x70,
	0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x1e, 0x0a, 0x1c,
	0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x70, 0x6d, 0x73, 0x5f, 0x72, 0x63,
	0x70, 0x5f, 0x72, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x81, 0x06, 0x0a,
	0x0a, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74,
	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65,
	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f,
	0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43,
	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2e, 0x0a,
	0x12, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x72, 0x74,
	0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x77,
	0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a,
	0x11, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x74,
	0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x6e, 0x6f, 0x77, 0x50,
	0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x61,
	0x75, 0x64, 0x69, 0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x02, 0x48, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65,
	0x12, 0x36, 0x0a, 0x16, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65,
	0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02,
	0x48, 0x04, 0x52, 0x14, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x49,
	0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x75, 0x64, 0x69,
	0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x07, 0x20, 0x01,
	0x28, 0x02, 0x48, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x56, 0x6f, 0x6c, 0x75, 0x6d,
	0x65, 0x4d, 0x61, 0x78, 0x12, 0x4a, 0x0a, 0x12, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79,
	0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e,
	0x32, 0x1a, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x64,
	0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x48, 0x06, 0x52, 0x10,
	0x6e, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x12, 0x54, 0x0a, 0x15, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61,
	0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x1e, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x64, 0x69,
	0x61, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48,
	0x07, 0x52, 0x13, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x50, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b,
	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
	0x6c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74,
	0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e,
	0x67, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67,
	0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x61, 0x6c, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42,
	0x21, 0x0a, 0x1f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x75, 0x64, 0x69,
	0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x61,
	0x75, 0x64, 0x69, 0x6f, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x42,
	0x1d, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f,
	0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x20,
	0x0a, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61,
	0x5f, 0x70, 0x6c, 0x61, 0x79, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
	0x22, 0xbd, 0x04, 0x0a, 0x10, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12,
	0x32, 0x0a, 0x14, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x64,
	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52,
	0x12, 0x6e, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x44, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69,
	0x6e, 0x67, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
	0x48, 0x01, 0x52, 0x11, 0x6e, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x45, 0x6c,
	0x61, 0x70, 0x73, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x19, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61,
	0x79, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x16, 0x6e, 0x6f, 0x77, 0x50,
	0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e,
	0x67, 0x5f, 0x61, 0x6c, 0x62, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52,
	0x0f, 0x6e, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x62, 0x75, 0x6d,
	0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f,
	0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52,
	0x11, 0x6e, 0x6f, 0x77, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x32, 0x64, 0x70, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e,
	0x61, 0x32, 0x64, 0x70, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x1f,
	0x0a, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f, 0x70,
	0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42,
	0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f,
	0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x42,
	0x24, 0x0a, 0x22, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f,
	0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x1c, 0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
	0x6c, 0x5f, 0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6c,
	0x62, 0x75, 0x6d, 0x42, 0x1e, 0x0a, 0x1c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x6e, 0x6f, 0x77, 0x5f, 0x70, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
	0x61, 0x32, 0x64, 0x70, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
	0x22, 0xea, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x69, 0x66, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x2b, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69,
	0x64, 0x48, 0x00, 0x52, 0x07, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x01,
	0x50, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65, 0x72,
	0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x01, 0x50, 0x12, 0x1f, 0x0a,
	0x01, 0x52, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x01, 0x52, 0x12, 0x1f,
	0x0a, 0x01, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x01, 0x4e, 0x12,
	0x1f, 0x0a, 0x01, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x61, 0x72,
	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00, 0x52, 0x01, 0x44,
	0x12, 0x23, 0x0a, 0x03, 0x53, 0x4e, 0x41, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e,
	0x43, 0x61, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x56, 0x6f, 0x69, 0x64, 0x48, 0x00,
	0x52, 0x03, 0x53, 0x4e, 0x41, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x2a, 0xcc, 0x07,
	0x0a, 0x0f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x5f, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41,
	0x4d, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x46, 0x4d, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x58,
	0x4d, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x6c, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x10, 0x05,
	0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x5f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x10, 0x06,
	0x12, 0x18, 0x0a, 0x14, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x5f, 0x69, 0x50, 0x6f, 0x64, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x4d, 0x65,
	0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x42, 0x6c,
	0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65, 0x64,
	0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41, 0x75, 0x78,
	0x49, 0x6e, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x44, 0x41, 0x42, 0x10, 0x0a, 0x12, 0x18, 0x0a,
	0x14, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x5f, 0x52, 0x64, 0x69, 0x6f, 0x10, 0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x70, 0x6f, 0x74, 0x69,
	0x66, 0x79, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x53, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x10,
	0x0d, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x54, 0x79, 0x70, 0x65, 0x5f, 0x45, 0x55, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x10, 0x0e, 0x12, 0x1d,
	0x0a, 0x19, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x5f, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x10, 0x12, 0x1a, 0x0a,
	0x16, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x5f, 0x54, 0x75, 0x6e, 0x65, 0x49, 0x6e, 0x10, 0x11, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x64,
	0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x74, 0x69,
	0x6e, 0x67, 0x72, 0x61, 0x79, 0x10, 0x12, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x64, 0x69, 0x61,
	0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x53, 0x69, 0x72, 0x69, 0x75,
	0x73, 0x58, 0x4d, 0x10, 0x13, 0x12, 0x19, 0x0a, 0x15, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f,
	0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x69, 0x64, 0x61, 0x6c, 0x10, 0x14,
	0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x5f, 0x51, 0x51, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x10, 0x15, 0x12, 0x1c, 0x0a,
	0x18, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
	0x5f, 0x51, 0x51, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x32, 0x10, 0x16, 0x12, 0x1c, 0x0a, 0x18, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x58,
	0x69, 0x6d, 0x61, 0x6c, 0x61, 0x79, 0x61, 0x10, 0x17, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x65, 0x64,
	0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6e, 0x6c,
	0x69, 0x6e, 0x65, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x10, 0x18, 0x12, 0x20, 0x0a, 0x1c, 0x4d, 0x65,
	0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x4f, 0x6e,
	0x6c, 0x69, 0x6e, 0x65, 0x52, 0x61, 0x64, 0x69, 0x6f, 0x32, 0x10, 0x19, 0x12, 0x20, 0x0a, 0x1c,
	0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f,
	0x4e, 0x65, 0x74, 0x45, 0x61, 0x73, 0x65, 0x4d, 0x75, 0x73, 0x69, 0x63, 0x10, 0x1a, 0x12, 0x1b,
	0x0a, 0x17, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x5f, 0x42, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x10, 0x1c, 0x12, 0x1b, 0x0a, 0x17, 0x4d,
	0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54,
	0x68, 0x65, 0x61, 0x74, 0x65, 0x72, 0x10, 0x1d, 0x12, 0x18, 0x0a, 0x14, 0x4d, 0x65, 0x64, 0x69,
	0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x47, 0x61, 0x6d, 0x65,
	0x10, 0x1e, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x10, 0x1f,
	0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x79, 0x62, 0x6f, 0x78, 0x10, 0x20, 0x12, 0x24, 0x0a, 0x20,
	0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f,
	0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x61, 0x76, 0x6f, 0x72, 0x69, 0x74, 0x65, 0x73,
	0x10, 0x21, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x48, 0x6f, 0x6d, 0x65, 0x41, 0x70, 0x70, 0x73, 0x10, 0x22,
	0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54,
	0x79, 0x70, 0x65, 0x5f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x10, 0x23, 0x42, 0x78, 0x0a, 0x25,
	0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x73, 0x6c, 0x61, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
	0x74, 0x65, 0x64, 0x2e, 0x63, 0x61, 0x72, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x76, 0x65,
	0x68, 0x69, 0x63, 0x6c, 0x65, 0x42, 0x07, 0x56, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x5a, 0x46,
	0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x65, 0x73, 0x6c, 0x61,
	0x6d, 0x6f, 0x74, 0x6f, 0x72, 0x73, 0x2f, 0x76, 0x65, 0x68, 0x69, 0x63, 0x6c, 0x65, 0x2d, 0x63,
	0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x63, 0x61, 0x72,
	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_vehicle_proto_rawDescOnce sync.Once
	file_vehicle_proto_rawDescData = file_vehicle_proto_rawDesc
)

func file_vehicle_proto_rawDescGZIP() []byte {
	file_vehicle_proto_rawDescOnce.Do(func() {
		file_vehicle_proto_rawDescData = protoimpl.X.CompressGZIP(file_vehicle_proto_rawDescData)
	})
	return file_vehicle_proto_rawDescData
}

var file_vehicle_proto_enumTypes = make([]protoimpl.EnumInfo, 15)
var file_vehicle_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_vehicle_proto_goTypes = []interface{}{
	(MediaSourceType)(0),                             // 0: CarServer.MediaSourceType
	(ChargeState_ScheduledChargingMode)(0),           // 1: CarServer.ChargeState.ScheduledChargingMode
	(ChargeState_ChargePortColor_E)(0),               // 2: CarServer.ChargeState.ChargePortColor_E
	(ChargeState_ChargeLimitReason)(0),               // 3: CarServer.ChargeState.ChargeLimitReason
	(ChargeState_OutletState)(0),                     // 4: CarServer.ChargeState.OutletState
	(ChargeState_PowerFeedState)(0),                  // 5: CarServer.ChargeState.PowerFeedState
	(ChargeState_PowershareStatus)(0),                // 6: CarServer.ChargeState.PowershareStatus
	(ChargeState_PowershareType)(0),                  // 7: CarServer.ChargeState.PowershareType
	(ChargeState_PowershareStopReason)(0),            // 8: CarServer.ChargeState.PowershareStopReason
	(ClimateState_HvacAutoRequest)(0),                // 9: CarServer.ClimateState.HvacAutoRequest
	(ClimateState_CabinOverheatProtection_E)(0),      // 10: CarServer.ClimateState.CabinOverheatProtection_E
	(ClimateState_SeatHeaterLevel_E)(0),              // 11: CarServer.ClimateState.SeatHeaterLevel_E
	(ClimateState_SeatCoolingLevel_E)(0),             // 12: CarServer.ClimateState.SeatCoolingLevel_E
	(ClimateState_CopActivationTemp)(0),              // 13: CarServer.ClimateState.CopActivationTemp
	(ClimateState_COPNotRunningReason)(0),            // 14: CarServer.ClimateState.COPNotRunningReason
	(*VehicleData)(nil),                              // 15: CarServer.VehicleData
	(*ClosuresState)(nil),                            // 16: CarServer.ClosuresState
	(*ChargeScheduleState)(nil),                      // 17: CarServer.ChargeScheduleState
	(*PreconditioningScheduleState)(nil),             // 18: CarServer.PreconditioningScheduleState
	(*SpeedLimitMode)(nil),                           // 19: CarServer.SpeedLimitMode
	(*ParentalControlsSettings)(nil),                 // 20: CarServer.ParentalControlsSettings
	(*ParentalControlsState)(nil),                    // 21: CarServer.ParentalControlsState
	(*SoftwareUpdateState)(nil),                      // 22: CarServer.SoftwareUpdateState
	(*DriveState)(nil),                               // 23: CarServer.DriveState
	(*ChargeState)(nil),                              // 24: CarServer.ChargeState
	(*ManagedChargingState)(nil),                     // 25: CarServer.ManagedChargingState
	(*ChargeOnSolarState)(nil),                       // 26: CarServer.ChargeOnSolarState
	(*ChargeOnSolarStateNotAllowed)(nil),             // 27: CarServer.ChargeOnSolarStateNotAllowed
	(*ChargeOnSolarStateNoChargeRecommended)(nil),    // 28: CarServer.ChargeOnSolarStateNoChargeRecommended
	(*ChargeOnSolarStateChargingOnExcessSolar)(nil),  // 29: CarServer.ChargeOnSolarStateChargingOnExcessSolar
	(*ChargeOnSolarStateChargingOnAnything)(nil),     // 30: CarServer.ChargeOnSolarStateChargingOnAnything
	(*ChargeOnSolarStateUserDisabled)(nil),           // 31: CarServer.ChargeOnSolarStateUserDisabled
	(*ChargeOnSolarStateWaitingForServer)(nil),       // 32: CarServer.ChargeOnSolarStateWaitingForServer
	(*ChargeOnSolarStateError)(nil),                  // 33: CarServer.ChargeOnSolarStateError
	(*ChargeOnSolarStateUserStopped)(nil),            // 34: CarServer.ChargeOnSolarStateUserStopped
	(*LocationState)(nil),                            // 35: CarServer.LocationState
	(*VehicleState)(nil),                             // 36: CarServer.VehicleState
	(*ClimateState)(nil),                             // 37: CarServer.ClimateState
	(*TirePressureState)(nil),                        // 38: CarServer.TirePressureState
	(*MediaState)(nil),                               // 39: CarServer.MediaState
	(*MediaDetailState)(nil),                         // 40: CarServer.MediaDetailState
	(*ShiftState)(nil),                               // 41: CarServer.ShiftState
	(*ClosuresState_SunRoofState)(nil),               // 42: CarServer.ClosuresState.SunRoofState
	(*ClosuresState_DisplayState)(nil),               // 43: CarServer.ClosuresState.DisplayState
	(*ClosuresState_SentryModeState)(nil),            // 44: CarServer.ClosuresState.SentryModeState
	(*SoftwareUpdateState_SoftwareUpdateStatus)(nil), // 45: CarServer.SoftwareUpdateState.SoftwareUpdateStatus
	(*ChargeState_CableType)(nil),                    // 46: CarServer.ChargeState.CableType
	(*ChargeState_ChargerType)(nil),                  // 47: CarServer.ChargeState.ChargerType
	(*ChargeState_ChargingState)(nil),                // 48: CarServer.ChargeState.ChargingState
	(*ChargeState_ChargerBrand)(nil),                 // 49: CarServer.ChargeState.ChargerBrand
	(*LocationState_GPSCoordinateType)(nil),          // 50: CarServer.LocationState.GPSCoordinateType
	(*VehicleState_GuestMode)(nil),                   // 51: CarServer.VehicleState.GuestMode
	(*ClimateState_ClimateKeeperMode)(nil),           // 52: CarServer.ClimateState.ClimateKeeperMode
	(*ClimateState_DefrostMode)(nil),                 // 53: CarServer.ClimateState.DefrostMode
	(vcsec.ClosureState_E)(0),                        // 54: VCSEC.ClosureState_E
	(*timestamppb.Timestamp)(nil),                    // 55: google.protobuf.Timestamp
	(*ChargeSchedule)(nil),                           // 56: CarServer.ChargeSchedule
	(*PreconditionSchedule)(nil),                     // 57: CarServer.PreconditionSchedule
	(*LatLong)(nil),                                  // 58: CarServer.LatLong
	(*ChargePortLatchState)(nil),                     // 59: CarServer.ChargePortLatchState
	(*PreconditioningTimes)(nil),                     // 60: CarServer.PreconditioningTimes
	(*OffPeakChargingTimes)(nil),                     // 61: CarServer.OffPeakChargingTimes
	(managedcharging.ChargeOnSolarNoChargeReason)(0), // 62: ManagedCharging.ChargeOnSolarNoChargeReason
	(StwHeatLevel)(0),                                // 63: CarServer.StwHeatLevel
	(MediaPlaybackStatus)(0),                         // 64: CarServer.MediaPlaybackStatus
	(*Void)(nil),                                     // 65: CarServer.Void
}
var file_vehicle_proto_depIdxs = []int32{
	24,  // 0: CarServer.VehicleData.charge_state:type_name -> CarServer.ChargeState
	37,  // 1: CarServer.VehicleData.climate_state:type_name -> CarServer.ClimateState
	23,  // 2: CarServer.VehicleData.drive_state:type_name -> CarServer.DriveState
	35,  // 3: CarServer.VehicleData.location_state:type_name -> CarServer.LocationState
	16,  // 4: CarServer.VehicleData.closures_state:type_name -> CarServer.ClosuresState
	17,  // 5: CarServer.VehicleData.charge_schedule_state:type_name -> CarServer.ChargeScheduleState
	18,  // 6: CarServer.VehicleData.preconditioning_schedule_state:type_name -> CarServer.PreconditioningScheduleState
	38,  // 7: CarServer.VehicleData.tire_pressure_state:type_name -> CarServer.TirePressureState
	39,  // 8: CarServer.VehicleData.media_state:type_name -> CarServer.MediaState
	40,  // 9: CarServer.VehicleData.media_detail_state:type_name -> CarServer.MediaDetailState
	22,  // 10: CarServer.VehicleData.software_update_state:type_name -> CarServer.SoftwareUpdateState
	21,  // 11: CarServer.VehicleData.parental_controls_state:type_name -> CarServer.ParentalControlsState
	42,  // 12: CarServer.ClosuresState.sun_roof_state:type_name -> CarServer.ClosuresState.SunRoofState
	43,  // 13: CarServer.ClosuresState.center_display_state:type_name -> CarServer.ClosuresState.DisplayState
	44,  // 14: CarServer.ClosuresState.sentry_mode_state:type_name -> CarServer.ClosuresState.SentryModeState
	19,  // 15: CarServer.ClosuresState.speed_limit_mode:type_name -> CarServer.SpeedLimitMode
	54,  // 16: CarServer.ClosuresState.tonneau_state:type_name -> VCSEC.ClosureState_E
	55,  // 17: CarServer.ClosuresState.timestamp:type_name -> google.protobuf.Timestamp
	56,  // 18: CarServer.ChargeScheduleState.charge_schedules:type_name -> CarServer.ChargeSchedule
	56,  // 19: CarServer.ChargeScheduleState.charge_schedule_window:type_name -> CarServer.ChargeSchedule
	55,  // 20: CarServer.ChargeScheduleState.timestamp:type_name -> google.protobuf.Timestamp
	57,  // 21: CarServer.PreconditioningScheduleState.precondition_schedules:type_name -> CarServer.PreconditionSchedule
	57,  // 22: CarServer.PreconditioningScheduleState.preconditioning_schedule_window:type_name -> CarServer.PreconditionSchedule
	55,  // 23: CarServer.PreconditioningScheduleState.timestamp:type_name -> google.protobuf.Timestamp
	55,  // 24: CarServer.ParentalControlsState.timestamp:type_name -> google.protobuf.Timestamp
	20,  // 25: CarServer.ParentalControlsState.parental_controls_settings:type_name -> CarServer.ParentalControlsSettings
	45,  // 26: CarServer.SoftwareUpdateState.status:type_name -> CarServer.SoftwareUpdateState.SoftwareUpdateStatus
	55,  // 27: CarServer.SoftwareUpdateState.timestamp:type_name -> google.protobuf.Timestamp
	41,  // 28: CarServer.DriveState.shift_state:type_name -> CarServer.ShiftState
	55,  // 29: CarServer.DriveState.timestamp:type_name -> google.protobuf.Timestamp
	55,  // 30: CarServer.DriveState.last_traffic_update:type_name -> google.protobuf.Timestamp
	58,  // 31: CarServer.DriveState.active_route_coordinates:type_name -> CarServer.LatLong
	48,  // 32: CarServer.ChargeState.charging_state:type_name -> CarServer.ChargeState.ChargingState
	47,  // 33: CarServer.ChargeState.fast_charger_type:type_name -> CarServer.ChargeState.ChargerType
	49,  // 34: CarServer.ChargeState.fast_charger_brand:type_name -> CarServer.ChargeState.ChargerBrand
	46,  // 35: CarServer.ChargeState.conn_charge_cable:type_name -> CarServer.ChargeState.CableType
	55,  // 36: CarServer.ChargeState.scheduled_departure_time:type_name -> google.protobuf.Timestamp
	59,  // 37: CarServer.ChargeState.charge_port_latch:type_name -> CarServer.ChargePortLatchState
	55,  // 38: CarServer.ChargeState.timestamp:type_name -> google.protobuf.Timestamp
	60,  // 39: CarServer.ChargeState.preconditioning_times:type_name -> CarServer.PreconditioningTimes
	61,  // 40: CarServer.ChargeState.off_peak_charging_times:type_name -> CarServer.OffPeakChargingTimes
	1,   // 41: CarServer.ChargeState.scheduled_charging_mode:type_name -> CarServer.ChargeState.ScheduledChargingMode
	2,   // 42: CarServer.ChargeState.charge_port_color:type_name -> CarServer.ChargeState.ChargePortColor_E
	3,   // 43: CarServer.ChargeState.charge_limit_reason:type_name -> CarServer.ChargeState.ChargeLimitReason
	25,  // 44: CarServer.ChargeState.managed_charging_state:type_name -> CarServer.ManagedChargingState
	4,   // 45: CarServer.ChargeState.outlet_state:type_name -> CarServer.ChargeState.OutletState
	5,   // 46: CarServer.ChargeState.power_feed_state:type_name -> CarServer.ChargeState.PowerFeedState
	7,   // 47: CarServer.ChargeState.powershare_type:type_name -> CarServer.ChargeState.PowershareType
	6,   // 48: CarServer.ChargeState.powershare_status:type_name -> CarServer.ChargeState.PowershareStatus
	8,   // 49: CarServer.ChargeState.powershare_stop_reason:type_name -> CarServer.ChargeState.PowershareStopReason
	58,  // 50: CarServer.ChargeState.home_location:type_name -> CarServer.LatLong
	58,  // 51: CarServer.ChargeState.work_location:type_name -> CarServer.LatLong
	26,  // 52: CarServer.ManagedChargingState.charge_on_solar_state:type_name -> CarServer.ChargeOnSolarState
	27,  // 53: CarServer.ChargeOnSolarState.not_allowed:type_name -> CarServer.ChargeOnSolarStateNotAllowed
	28,  // 54: CarServer.ChargeOnSolarState.no_charge_recommended:type_name -> CarServer.ChargeOnSolarStateNoChargeRecommended
	29,  // 55: CarServer.ChargeOnSolarState.charging_on_excess_solar:type_name -> CarServer.ChargeOnSolarStateChargingOnExcessSolar
	30,  // 56: CarServer.ChargeOnSolarState.charging_on_anything:type_name -> CarServer.ChargeOnSolarStateChargingOnAnything
	31,  // 57: CarServer.ChargeOnSolarState.user_disabled:type_name -> CarServer.ChargeOnSolarStateUserDisabled
	32,  // 58: CarServer.ChargeOnSolarState.waiting_for_server:type_name -> CarServer.ChargeOnSolarStateWaitingForServer
	33,  // 59: CarServer.ChargeOnSolarState.error:type_name -> CarServer.ChargeOnSolarStateError
	34,  // 60: CarServer.ChargeOnSolarState.user_stopped:type_name -> CarServer.ChargeOnSolarStateUserStopped
	62,  // 61: CarServer.ChargeOnSolarStateNoChargeRecommended.reason:type_name -> ManagedCharging.ChargeOnSolarNoChargeReason
	50,  // 62: CarServer.LocationState.native_type:type_name -> CarServer.LocationState.GPSCoordinateType
	55,  // 63: CarServer.LocationState.timestamp:type_name -> google.protobuf.Timestamp
	51,  // 64: CarServer.VehicleState.guestMode:type_name -> CarServer.VehicleState.GuestMode
	52,  // 65: CarServer.ClimateState.climate_keeper_mode:type_name -> CarServer.ClimateState.ClimateKeeperMode
	55,  // 66: CarServer.ClimateState.timestamp:type_name -> google.protobuf.Timestamp
	53,  // 67: CarServer.ClimateState.defrost_mode:type_name -> CarServer.ClimateState.DefrostMode
	10,  // 68: CarServer.ClimateState.cabin_overheat_protection:type_name -> CarServer.ClimateState.CabinOverheatProtection_E
	13,  // 69: CarServer.ClimateState.cop_activation_temperature:type_name -> CarServer.ClimateState.CopActivationTemp
	63,  // 70: CarServer.ClimateState.steering_wheel_heat_level:type_name -> CarServer.StwHeatLevel
	9,   // 71: CarServer.ClimateState.hvac_auto_request:type_name -> CarServer.ClimateState.HvacAutoRequest
	14,  // 72: CarServer.ClimateState.cop_not_running_reason:type_name -> CarServer.ClimateState.COPNotRunningReason
	55,  // 73: CarServer.TirePressureState.timestamp:type_name -> google.protobuf.Timestamp
	55,  // 74: CarServer.TirePressureState.tpms_last_seen_pressure_time_fl:type_name -> google.protobuf.Timestamp
	55,  // 75: CarServer.TirePressureState.tpms_last_seen_pressure_time_fr:type_name -> google.protobuf.Timestamp
	55,  // 76: CarServer.TirePressureState.tpms_last_seen_pressure_time_rl:type_name -> google.protobuf.Timestamp
	55,  // 77: CarServer.TirePressureState.tpms_last_seen_pressure_time_rr:type_name -> google.protobuf.Timestamp
	55,  // 78: CarServer.MediaState.timestamp:type_name -> google.protobuf.Timestamp
	0,   // 79: CarServer.MediaState.now_playing_source:type_name -> CarServer.MediaSourceType
	64,  // 80: CarServer.MediaState.media_playback_status:type_name -> CarServer.MediaPlaybackStatus
	55,  // 81: CarServer.MediaDetailState.timestamp:type_name -> google.protobuf.Timestamp
	65,  // 82: CarServer.ShiftState.Invalid:type_name -> CarServer.Void
	65,  // 83: CarServer.ShiftState.P:type_name -> CarServer.Void
	65,  // 84: CarServer.ShiftState.R:type_name -> CarServer.Void
	65,  // 85: CarServer.ShiftState.N:type_name -> CarServer.Void
	65,  // 86: CarServer.ShiftState.D:type_name -> CarServer.Void
	65,  // 87: CarServer.ShiftState.SNA:type_name -> CarServer.Void
	65,  // 88: CarServer.ClosuresState.SunRoofState.Unknown:type_name -> CarServer.Void
	65,  // 89: CarServer.ClosuresState.SunRoofState.Calibrating:type_name -> CarServer.Void
	65,  // 90: CarServer.ClosuresState.SunRoofState.Closed:type_name -> CarServer.Void
	65,  // 91: CarServer.ClosuresState.SunRoofState.Open:type_name -> CarServer.Void
	65,  // 92: CarServer.ClosuresState.SunRoofState.Moving:type_name -> CarServer.Void
	65,  // 93: CarServer.ClosuresState.SunRoofState.Vent:type_name -> CarServer.Void
	65,  // 94: CarServer.ClosuresState.DisplayState.Off:type_name -> CarServer.Void
	65,  // 95: CarServer.ClosuresState.DisplayState.Dim:type_name -> CarServer.Void
	65,  // 96: CarServer.ClosuresState.DisplayState.Accessory:type_name -> CarServer.Void
	65,  // 97: CarServer.ClosuresState.DisplayState.On:type_name -> CarServer.Void
	65,  // 98: CarServer.ClosuresState.DisplayState.Driving:type_name -> CarServer.Void
	65,  // 99: CarServer.ClosuresState.DisplayState.Charging:type_name -> CarServer.Void
	65,  // 100: CarServer.ClosuresState.DisplayState.Lock:type_name -> CarServer.Void
	65,  // 101: CarServer.ClosuresState.DisplayState.Sentry:type_name -> CarServer.Void
	65,  // 102: CarServer.ClosuresState.DisplayState.Dog:type_name -> CarServer.Void
	65,  // 103: CarServer.ClosuresState.DisplayState.Entertainment:type_name -> CarServer.Void
	65,  // 104: CarServer.ClosuresState.SentryModeState.Off:type_name -> CarServer.Void
	65,  // 105: CarServer.ClosuresState.SentryModeState.Idle:type_name -> CarServer.Void
	65,  // 106: CarServer.ClosuresState.SentryModeState.Armed:type_name -> CarServer.Void
	65,  // 107: CarServer.ClosuresState.SentryModeState.Aware:type_name -> CarServer.Void
	65,  // 108: CarServer.ClosuresState.SentryModeState.Panic:type_name -> CarServer.Void
	65,  // 109: CarServer.ClosuresState.SentryModeState.Quiet:type_name -> CarServer.Void
	65,  // 110: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.Unknown:type_name -> CarServer.Void
	65,  // 111: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.Installing:type_name -> CarServer.Void
	65,  // 112: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.Scheduled:type_name -> CarServer.Void
	65,  // 113: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.Available:type_name -> CarServer.Void
	65,  // 114: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.DownloadingWifiWait:type_name -> CarServer.Void
	65,  // 115: CarServer.SoftwareUpdateState.SoftwareUpdateStatus.Downloading:type_name -> CarServer.Void
	65,  // 116: CarServer.ChargeState.CableType.SNA:type_name -> CarServer.Void
	65,  // 117: CarServer.ChargeState.CableType.IEC:type_name -> CarServer.Void
	65,  // 118: CarServer.ChargeState.CableType.SAE:type_name -> CarServer.Void
	65,  // 119: CarServer.ChargeState.CableType.GB_AC:type_name -> CarServer.Void
	65,  // 120: CarServer.ChargeState.CableType.GB_DC:type_name -> CarServer.Void
	65,  // 121: CarServer.ChargeState.ChargerType.SNA:type_name -> CarServer.Void
	65,  // 122: CarServer.ChargeState.ChargerType.Supercharger:type_name -> CarServer.Void
	65,  // 123: CarServer.ChargeState.ChargerType.Chademo:type_name -> CarServer.Void
	65,  // 124: CarServer.ChargeState.ChargerType.Gb:type_name -> CarServer.Void
	65,  // 125: CarServer.ChargeState.ChargerType.ACSingleWireCAN:type_name -> CarServer.Void
	65,  // 126: CarServer.ChargeState.ChargerType.Combo:type_name -> CarServer.Void
	65,  // 127: CarServer.ChargeState.ChargerType.MCSingleWireCAN:type_name -> CarServer.Void
	65,  // 128: CarServer.ChargeState.ChargerType.Other:type_name -> CarServer.Void
	65,  // 129: CarServer.ChargeState.ChargerType.Tesla:type_name -> CarServer.Void
	65,  // 130: CarServer.ChargeState.ChargingState.Unknown:type_name -> CarServer.Void
	65,  // 131: CarServer.ChargeState.ChargingState.Disconnected:type_name -> CarServer.Void
	65,  // 132: CarServer.ChargeState.ChargingState.NoPower:type_name -> CarServer.Void
	65,  // 133: CarServer.ChargeState.ChargingState.Starting:type_name -> CarServer.Void
	65,  // 134: CarServer.ChargeState.ChargingState.Charging:type_name -> CarServer.Void
	65,  // 135: CarServer.ChargeState.ChargingState.Complete:type_name -> CarServer.Void
	65,  // 136: CarServer.ChargeState.ChargingState.Stopped:type_name -> CarServer.Void
	65,  // 137: CarServer.ChargeState.ChargingState.Calibrating:type_name -> CarServer.Void
	65,  // 138: CarServer.ChargeState.ChargerBrand.Tesla:type_name -> CarServer.Void
	65,  // 139: CarServer.ChargeState.ChargerBrand.SNA:type_name -> CarServer.Void
	65,  // 140: CarServer.LocationState.GPSCoordinateType.GCJ:type_name -> CarServer.Void
	65,  // 141: CarServer.LocationState.GPSCoordinateType.WGS:type_name -> CarServer.Void
	65,  // 142: CarServer.ClimateState.ClimateKeeperMode.Unknown:type_name -> CarServer.Void
	65,  // 143: CarServer.ClimateState.ClimateKeeperMode.Off:type_name -> CarServer.Void
	65,  // 144: CarServer.ClimateState.ClimateKeeperMode.On:type_name -> CarServer.Void
	65,  // 145: CarServer.ClimateState.ClimateKeeperMode.Dog:type_name -> CarServer.Void
	65,  // 146: CarServer.ClimateState.ClimateKeeperMode.Party:type_name -> CarServer.Void
	65,  // 147: CarServer.ClimateState.DefrostMode.Off:type_name -> CarServer.Void
	65,  // 148: CarServer.ClimateState.DefrostMode.Normal:type_name -> CarServer.Void
	65,  // 149: CarServer.ClimateState.DefrostMode.Max:type_name -> CarServer.Void
	150, // [150:150] is the sub-list for method output_type
	150, // [150:150] is the sub-list for method input_type
	150, // [150:150] is the sub-list for extension type_name
	150, // [150:150] is the sub-list for extension extendee
	0,   // [0:150] is the sub-list for field type_name
}

func init() { file_vehicle_proto_init() }
func file_vehicle_proto_init() {
	if File_vehicle_proto != nil {
		return
	}
	file_common_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_vehicle_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VehicleData); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClosuresState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeScheduleState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PreconditioningScheduleState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SpeedLimitMode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParentalControlsSettings); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ParentalControlsState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SoftwareUpdateState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DriveState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ManagedChargingState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateNotAllowed); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateNoChargeRecommended); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateChargingOnExcessSolar); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateChargingOnAnything); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateUserDisabled); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateWaitingForServer); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateError); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeOnSolarStateUserStopped); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LocationState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VehicleState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClimateState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TirePressureState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MediaState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MediaDetailState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ShiftState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClosuresState_SunRoofState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClosuresState_DisplayState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClosuresState_SentryModeState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SoftwareUpdateState_SoftwareUpdateStatus); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeState_CableType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeState_ChargerType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeState_ChargingState); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ChargeState_ChargerBrand); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*LocationState_GPSCoordinateType); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*VehicleState_GuestMode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClimateState_ClimateKeeperMode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_vehicle_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ClimateState_DefrostMode); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_vehicle_proto_msgTypes[1].OneofWrappers = []interface{}{
		(*ClosuresState_DoorOpenDriverFront)(nil),
		(*ClosuresState_DoorOpenDriverRear)(nil),
		(*ClosuresState_DoorOpenPassengerFront)(nil),
		(*ClosuresState_DoorOpenPassengerRear)(nil),
		(*ClosuresState_DoorOpenTrunkFront)(nil),
		(*ClosuresState_DoorOpenTrunkRear)(nil),
		(*ClosuresState_WindowOpenDriverFront)(nil),
		(*ClosuresState_WindowOpenPassengerFront)(nil),
		(*ClosuresState_WindowOpenDriverRear)(nil),
		(*ClosuresState_WindowOpenPassengerRear)(nil),
		(*ClosuresState_SunRoofPercentOpen)(nil),
		(*ClosuresState_Locked)(nil),
		(*ClosuresState_IsUserPresent)(nil),
		(*ClosuresState_RemoteStart)(nil),
		(*ClosuresState_ValetMode)(nil),
		(*ClosuresState_ValetPinNeeded)(nil),
		(*ClosuresState_SentryModeAvailable)(nil),
		(*ClosuresState_TonneauState)(nil),
		(*ClosuresState_TonneauPercentOpen)(nil),
		(*ClosuresState_TonneauInMotion)(nil),
	}
	file_vehicle_proto_msgTypes[2].OneofWrappers = []interface{}{
		(*ChargeScheduleState_ChargeScheduleWindow)(nil),
		(*ChargeScheduleState_ChargeBuffer)(nil),
		(*ChargeScheduleState_MaxNumChargeSchedules)(nil),
		(*ChargeScheduleState_NextSchedule)(nil),
		(*ChargeScheduleState_ShowScheduleCompleteState)(nil),
	}
	file_vehicle_proto_msgTypes[3].OneofWrappers = []interface{}{
		(*PreconditioningScheduleState_PreconditioningScheduleWindow)(nil),
		(*PreconditioningScheduleState_MaxNumPreconditionSchedules)(nil),
		(*PreconditioningScheduleState_NextSchedule)(nil),
	}
	file_vehicle_proto_msgTypes[4].OneofWrappers = []interface{}{
		(*SpeedLimitMode_Active)(nil),
		(*SpeedLimitMode_PinCodeSet)(nil),
		(*SpeedLimitMode_MaxLimitMph)(nil),
		(*SpeedLimitMode_MinLimitMph)(nil),
		(*SpeedLimitMode_CurrentLimitMph)(nil),
	}
	file_vehicle_proto_msgTypes[5].OneofWrappers = []interface{}{
		(*ParentalControlsSettings_SpeedLimitEnabled)(nil),
		(*ParentalControlsSettings_MaxLimitMph)(nil),
		(*ParentalControlsSettings_MinLimitMph)(nil),
		(*ParentalControlsSettings_CurrentLimitMph)(nil),
		(*ParentalControlsSettings_ChillAccelerationEnabled)(nil),
		(*ParentalControlsSettings_RequireSafetySettingsEnabled)(nil),
		(*ParentalControlsSettings_CurfewEnabled)(nil),
		(*ParentalControlsSettings_CurfewStartTime)(nil),
		(*ParentalControlsSettings_CurfewEndTime)(nil),
	}
	file_vehicle_proto_msgTypes[6].OneofWrappers = []interface{}{
		(*ParentalControlsState_ParentalControlsActive)(nil),
		(*ParentalControlsState_ParentalControlsPinSet)(nil),
	}
	file_vehicle_proto_msgTypes[7].OneofWrappers = []interface{}{
		(*SoftwareUpdateState_ScheduledTimeMs)(nil),
		(*SoftwareUpdateState_WarningTimeRemainingMs)(nil),
		(*SoftwareUpdateState_ExpectedDurationSec)(nil),
		(*SoftwareUpdateState_DownloadPerc)(nil),
		(*SoftwareUpdateState_InstallPerc)(nil),
		(*SoftwareUpdateState_Version)(nil),
	}
	file_vehicle_proto_msgTypes[8].OneofWrappers = []interface{}{
		(*DriveState_Speed)(nil),
		(*DriveState_Power)(nil),
		(*DriveState_OdometerInHundredthsOfAMile)(nil),
		(*DriveState_SpeedFloat)(nil),
		(*DriveState_ActiveRouteDestination)(nil),
		(*DriveState_ActiveRouteMinutesToArrival)(nil),
		(*DriveState_ActiveRouteMilesToArrival)(nil),
		(*DriveState_ActiveRouteTrafficMinutesDelay)(nil),
		(*DriveState_ActiveRouteEnergyAtArrival)(nil),
		(*DriveState_LastRouteUpdate)(nil),
	}
	file_vehicle_proto_msgTypes[9].OneofWrappers = []interface{}{
		(*ChargeState_ChargeLimitSoc)(nil),
		(*ChargeState_ChargeLimitSocStd)(nil),
		(*ChargeState_ChargeLimitSocMin)(nil),
		(*ChargeState_ChargeLimitSocMax)(nil),
		(*ChargeState_MaxRangeChargeCounter)(nil),
		(*ChargeState_FastChargerPresent)(nil),
		(*ChargeState_BatteryRange)(nil),
		(*ChargeState_EstBatteryRange)(nil),
		(*ChargeState_IdealBatteryRange)(nil),
		(*ChargeState_BatteryLevel)(nil),
		(*ChargeState_UsableBatteryLevel)(nil),
		(*ChargeState_ChargeEnergyAdded)(nil),
		(*ChargeState_ChargeMilesAddedRated)(nil),
		(*ChargeState_ChargeMilesAddedIdeal)(nil),
		(*ChargeState_ChargerVoltage)(nil),
		(*ChargeState_ChargerPilotCurrent)(nil),
		(*ChargeState_ChargerActualCurrent)(nil),
		(*ChargeState_ChargerPower)(nil),
		(*ChargeState_MinutesToFullCharge)(nil),
		(*ChargeState_MinutesToChargeLimit)(nil),
		(*ChargeState_TripCharging)(nil),
		(*ChargeState_ChargeRateMph)(nil),
		(*ChargeState_ChargePortDoorOpen)(nil),
		(*ChargeState_ScheduledChargingStartTime)(nil),
		(*ChargeState_ScheduledChargingPending)(nil),
		(*ChargeState_UserChargeEnableRequest)(nil),
		(*ChargeState_ChargeEnableRequest)(nil),
		(*ChargeState_ChargerPhases)(nil),
		(*ChargeState_ChargePortColdWeatherMode)(nil),
		(*ChargeState_ChargeCurrentRequest)(nil),
		(*ChargeState_ChargeCurrentRequestMax)(nil),
		(*ChargeState_ManagedChargingActive)(nil),
		(*ChargeState_ManagedChargingUserCanceled)(nil),
		(*ChargeState_ManagedChargingStartTime)(nil),
		(*ChargeState_OffPeakHoursEndTime)(nil),
		(*ChargeState_ScheduledChargingMode_)(nil),
		(*ChargeState_ChargingAmps)(nil),
		(*ChargeState_ScheduledChargingStartTimeMinutes)(nil),
		(*ChargeState_ScheduledDepartureTimeMinutes)(nil),
		(*ChargeState_PreconditioningEnabled)(nil),
		(*ChargeState_ScheduledChargingStartTimeApp)(nil),
		(*ChargeState_SuperchargerSessionTripPlanner)(nil),
		(*ChargeState_ChargePortColor)(nil),
		(*ChargeState_ChargeRateMphFloat)(nil),
		(*ChargeState_ChargeLimitReason_)(nil),
		(*ChargeState_ChargeCableUnlatched)(nil),
		(*ChargeState_OutletState_)(nil),
		(*ChargeState_PowerFeedState_)(nil),
		(*ChargeState_OutletSocLimit)(nil),
		(*ChargeState_PowerFeedSocLimit)(nil),
		(*ChargeState_OutletTimeRemaining)(nil),
		(*ChargeState_PowerFeedTimeRemaining)(nil),
		(*ChargeState_PowershareFeatureAllowed)(nil),
		(*ChargeState_PowershareFeatureEnabled)(nil),
		(*ChargeState_PowershareRequest)(nil),
		(*ChargeState_PowershareType_)(nil),
		(*ChargeState_PowershareStatus_)(nil),
		(*ChargeState_PowershareStopReason_)(nil),
		(*ChargeState_PowershareInstantaneousLoadKw)(nil),
		(*ChargeState_PowershareVehicleEnergyLeftHr)(nil),
		(*ChargeState_PowershareSocLimit)(nil),
		(*ChargeState_OneTimeSocLimit)(nil),
		(*ChargeState_HomeLocation)(nil),
		(*ChargeState_WorkLocation)(nil),
		(*ChargeState_OutletMaxTimerMinutes)(nil),
	}
	file_vehicle_proto_msgTypes[10].OneofWrappers = []interface{}{
		(*ManagedChargingState_ChargeOnSolarGatewayDin)(nil),
		(*ManagedChargingState_TeslaElectricAssetId)(nil),
		(*ManagedChargingState_MinutesToLowerLimit)(nil),
	}
	file_vehicle_proto_msgTypes[11].OneofWrappers = []interface{}{
		(*ChargeOnSolarState_NotAllowed)(nil),
		(*ChargeOnSolarState_NoChargeRecommended)(nil),
		(*ChargeOnSolarState_ChargingOnExcessSolar)(nil),
		(*ChargeOnSolarState_ChargingOnAnything)(nil),
		(*ChargeOnSolarState_UserDisabled)(nil),
		(*ChargeOnSolarState_WaitingForServer)(nil),
		(*ChargeOnSolarState_Error)(nil),
		(*ChargeOnSolarState_UserStopped)(nil),
	}
	file_vehicle_proto_msgTypes[20].OneofWrappers = []interface{}{
		(*LocationState_Latitude)(nil),
		(*LocationState_Longitude)(nil),
		(*LocationState_Heading)(nil),
		(*LocationState_GpsAsOf)(nil),
		(*LocationState_NativeLocationSupported)(nil),
		(*LocationState_NativeLatitude)(nil),
		(*LocationState_NativeLongitude)(nil),
		(*LocationState_CorrectedLatitude)(nil),
		(*LocationState_CorrectedLongitude)(nil),
		(*LocationState_HomelinkNearby)(nil),
		(*LocationState_LocationName)(nil),
		(*LocationState_GeoLatitude)(nil),
		(*LocationState_GeoLongitude)(nil),
		(*LocationState_GeoHeading)(nil),
		(*LocationState_GeoElevation)(nil),
		(*LocationState_GeoAccuracy)(nil),
		(*LocationState_EstimatedGpsValid)(nil),
		(*LocationState_EstimatedToRawDistance)(nil),
	}
	file_vehicle_proto_msgTypes[22].OneofWrappers = []interface{}{
		(*ClimateState_InsideTempCelsius)(nil),
		(*ClimateState_OutsideTempCelsius)(nil),
		(*ClimateState_DriverTempSetting)(nil),
		(*ClimateState_PassengerTempSetting)(nil),
		(*ClimateState_LeftTempDirection)(nil),
		(*ClimateState_RightTempDirection)(nil),
		(*ClimateState_IsFrontDefrosterOn)(nil),
		(*ClimateState_IsRearDefrosterOn)(nil),
		(*ClimateState_FanStatus)(nil),
		(*ClimateState_IsClimateOn)(nil),
		(*ClimateState_MinAvailTempCelsius)(nil),
		(*ClimateState_MaxAvailTempCelsius)(nil),
		(*ClimateState_SeatHeaterLeft)(nil),
		(*ClimateState_SeatHeaterRight)(nil),
		(*ClimateState_SeatHeaterRearLeft)(nil),
		(*ClimateState_SeatHeaterRearRight)(nil),
		(*ClimateState_SeatHeaterRearCenter)(nil),
		(*ClimateState_SeatHeaterRearRightBack)(nil),
		(*ClimateState_SeatHeaterRearLeftBack)(nil),
		(*ClimateState_SeatHeaterThirdRowRight)(nil),
		(*ClimateState_SeatHeaterThirdRowLeft)(nil),
		(*ClimateState_BatteryHeater)(nil),
		(*ClimateState_BatteryHeaterNoPower)(nil),
		(*ClimateState_SteeringWheelHeater)(nil),
		(*ClimateState_WiperBladeHeater)(nil),
		(*ClimateState_SideMirrorHeaters)(nil),
		(*ClimateState_IsPreconditioning)(nil),
		(*ClimateState_RemoteHeaterControlEnabled)(nil),
		(*ClimateState_BioweaponModeOn)(nil),
		(*ClimateState_IsAutoConditioningOn)(nil),
		(*ClimateState_AutoSeatClimateLeft)(nil),
		(*ClimateState_AutoSeatClimateRight)(nil),
		(*ClimateState_SeatFanFrontLeft)(nil),
		(*ClimateState_SeatFanFrontRight)(nil),
		(*ClimateState_AllowCabinOverheatProtection)(nil),
		(*ClimateState_SupportsFanOnlyCabinOverheatProtection)(nil),
		(*ClimateState_CabinOverheatProtection)(nil),
		(*ClimateState_CabinOverheatProtectionActivelyCooling)(nil),
		(*ClimateState_CopActivationTemperature)(nil),
		(*ClimateState_AutoSteeringWheelHeat)(nil),
		(*ClimateState_SteeringWheelHeatLevel)(nil),
		(*ClimateState_HvacAutoRequest_)(nil),
		(*ClimateState_CopNotRunningReason)(nil),
	}
	file_vehicle_proto_msgTypes[23].OneofWrappers = []interface{}{
		(*TirePressureState_TpmsPressureFl)(nil),
		(*TirePressureState_TpmsPressureFr)(nil),
		(*TirePressureState_TpmsPressureRl)(nil),
		(*TirePressureState_TpmsPressureRr)(nil),
		(*TirePressureState_TpmsHardWarningFl)(nil),
		(*TirePressureState_TpmsHardWarningFr)(nil),
		(*TirePressureState_TpmsHardWarningRl)(nil),
		(*TirePressureState_TpmsHardWarningRr)(nil),
		(*TirePressureState_TpmsSoftWarningFl)(nil),
		(*TirePressureState_TpmsSoftWarningFr)(nil),
		(*TirePressureState_TpmsSoftWarningRl)(nil),
		(*TirePressureState_TpmsSoftWarningRr)(nil),
		(*TirePressureState_TpmsRcpFrontValue)(nil),
		(*TirePressureState_TpmsRcpRearValue)(nil),
	}
	file_vehicle_proto_msgTypes[24].OneofWrappers = []interface{}{
		(*MediaState_RemoteControlEnabled)(nil),
		(*MediaState_NowPlayingArtist)(nil),
		(*MediaState_NowPlayingTitle)(nil),
		(*MediaState_AudioVolume)(nil),
		(*MediaState_AudioVolumeIncrement)(nil),
		(*MediaState_AudioVolumeMax)(nil),
		(*MediaState_NowPlayingSource)(nil),
		(*MediaState_MediaPlaybackStatus)(nil),
	}
	file_vehicle_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*MediaDetailState_NowPlayingDuration)(nil),
		(*MediaDetailState_NowPlayingElapsed)(nil),
		(*MediaDetailState_NowPlayingSourceString)(nil),
		(*MediaDetailState_NowPlayingAlbum)(nil),
		(*MediaDetailState_NowPlayingStation)(nil),
		(*MediaDetailState_A2DpSourceName)(nil),
	}
	file_vehicle_proto_msgTypes[26].OneofWrappers = []interface{}{
		(*ShiftState_Invalid)(nil),
		(*ShiftState_P)(nil),
		(*ShiftState_R)(nil),
		(*ShiftState_N)(nil),
		(*ShiftState_D)(nil),
		(*ShiftState_SNA)(nil),
	}
	file_vehicle_proto_msgTypes[27].OneofWrappers = []interface{}{
		(*ClosuresState_SunRoofState_Unknown)(nil),
		(*ClosuresState_SunRoofState_Calibrating)(nil),
		(*ClosuresState_SunRoofState_Closed)(nil),
		(*ClosuresState_SunRoofState_Open)(nil),
		(*ClosuresState_SunRoofState_Moving)(nil),
		(*ClosuresState_SunRoofState_Vent)(nil),
	}
	file_vehicle_proto_msgTypes[28].OneofWrappers = []interface{}{
		(*ClosuresState_DisplayState_Off)(nil),
		(*ClosuresState_DisplayState_Dim)(nil),
		(*ClosuresState_DisplayState_Accessory)(nil),
		(*ClosuresState_DisplayState_On)(nil),
		(*ClosuresState_DisplayState_Driving)(nil),
		(*ClosuresState_DisplayState_Charging)(nil),
		(*ClosuresState_DisplayState_Lock)(nil),
		(*ClosuresState_DisplayState_Sentry)(nil),
		(*ClosuresState_DisplayState_Dog)(nil),
		(*ClosuresState_DisplayState_Entertainment)(nil),
	}
	file_vehicle_proto_msgTypes[29].OneofWrappers = []interface{}{
		(*ClosuresState_SentryModeState_Off)(nil),
		(*ClosuresState_SentryModeState_Idle)(nil),
		(*ClosuresState_SentryModeState_Armed)(nil),
		(*ClosuresState_SentryModeState_Aware)(nil),
		(*ClosuresState_SentryModeState_Panic)(nil),
		(*ClosuresState_SentryModeState_Quiet)(nil),
	}
	file_vehicle_proto_msgTypes[30].OneofWrappers = []interface{}{
		(*SoftwareUpdateState_SoftwareUpdateStatus_Unknown)(nil),
		(*SoftwareUpdateState_SoftwareUpdateStatus_Installing)(nil),
		(*SoftwareUpdateState_SoftwareUpdateStatus_Scheduled)(nil),
		(*SoftwareUpdateState_SoftwareUpdateStatus_Available)(nil),
		(*SoftwareUpdateState_SoftwareUpdateStatus_DownloadingWifiWait)(nil),
		(*SoftwareUpdateState_SoftwareUpdateStatus_Downloading)(nil),
	}
	file_vehicle_proto_msgTypes[31].OneofWrappers = []interface{}{
		(*ChargeState_CableType_SNA)(nil),
		(*ChargeState_CableType_IEC)(nil),
		(*ChargeState_CableType_SAE)(nil),
		(*ChargeState_CableType_GB_AC)(nil),
		(*ChargeState_CableType_GB_DC)(nil),
	}
	file_vehicle_proto_msgTypes[32].OneofWrappers = []interface{}{
		(*ChargeState_ChargerType_SNA)(nil),
		(*ChargeState_ChargerType_Supercharger)(nil),
		(*ChargeState_ChargerType_Chademo)(nil),
		(*ChargeState_ChargerType_Gb)(nil),
		(*ChargeState_ChargerType_ACSingleWireCAN)(nil),
		(*ChargeState_ChargerType_Combo)(nil),
		(*ChargeState_ChargerType_MCSingleWireCAN)(nil),
		(*ChargeState_ChargerType_Other)(nil),
		(*ChargeState_ChargerType_Tesla)(nil),
	}
	file_vehicle_proto_msgTypes[33].OneofWrappers = []interface{}{
		(*ChargeState_ChargingState_Unknown)(nil),
		(*ChargeState_ChargingState_Disconnected)(nil),
		(*ChargeState_ChargingState_NoPower)(nil),
		(*ChargeState_ChargingState_Starting)(nil),
		(*ChargeState_ChargingState_Charging)(nil),
		(*ChargeState_ChargingState_Complete)(nil),
		(*ChargeState_ChargingState_Stopped)(nil),
		(*ChargeState_ChargingState_Calibrating)(nil),
	}
	file_vehicle_proto_msgTypes[34].OneofWrappers = []interface{}{
		(*ChargeState_ChargerBrand_Tesla)(nil),
		(*ChargeState_ChargerBrand_SNA)(nil),
	}
	file_vehicle_proto_msgTypes[35].OneofWrappers = []interface{}{
		(*LocationState_GPSCoordinateType_GCJ)(nil),
		(*LocationState_GPSCoordinateType_WGS)(nil),
	}
	file_vehicle_proto_msgTypes[37].OneofWrappers = []interface{}{
		(*ClimateState_ClimateKeeperMode_Unknown)(nil),
		(*ClimateState_ClimateKeeperMode_Off)(nil),
		(*ClimateState_ClimateKeeperMode_On)(nil),
		(*ClimateState_ClimateKeeperMode_Dog)(nil),
		(*ClimateState_ClimateKeeperMode_Party)(nil),
	}
	file_vehicle_proto_msgTypes[38].OneofWrappers = []interface{}{
		(*ClimateState_DefrostMode_Off)(nil),
		(*ClimateState_DefrostMode_Normal)(nil),
		(*ClimateState_DefrostMode_Max)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_vehicle_proto_rawDesc,
			NumEnums:      15,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_vehicle_proto_goTypes,
		DependencyIndexes: file_vehicle_proto_depIdxs,
		EnumInfos:         file_vehicle_proto_enumTypes,
		MessageInfos:      file_vehicle_proto_msgTypes,
	}.Build()
	File_vehicle_proto = out.File
	file_vehicle_proto_rawDesc = nil
	file_vehicle_proto_goTypes = nil
	file_vehicle_proto_depIdxs = nil
}
