// Code generated by protoc-gen-go. DO NOT EDIT.
// source: envoy/config/bootstrap/v3/bootstrap.proto

package envoy_config_bootstrap_v3

import (
	fmt "fmt"
	_ "github.com/cncf/udpa/go/udpa/annotations"
	_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
	v35 "github.com/envoyproxy/go-control-plane/envoy/config/cluster/v3"
	v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
	v34 "github.com/envoyproxy/go-control-plane/envoy/config/listener/v3"
	v31 "github.com/envoyproxy/go-control-plane/envoy/config/metrics/v3"
	v33 "github.com/envoyproxy/go-control-plane/envoy/config/overload/v3"
	v32 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v3"
	v36 "github.com/envoyproxy/go-control-plane/envoy/extensions/transport_sockets/tls/v3"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	proto "github.com/golang/protobuf/proto"
	duration "github.com/golang/protobuf/ptypes/duration"
	_struct "github.com/golang/protobuf/ptypes/struct"
	wrappers "github.com/golang/protobuf/ptypes/wrappers"
	math "math"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

type Bootstrap struct {
	Node                         *v3.Node                    `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
	StaticResources              *Bootstrap_StaticResources  `protobuf:"bytes,2,opt,name=static_resources,json=staticResources,proto3" json:"static_resources,omitempty"`
	DynamicResources             *Bootstrap_DynamicResources `protobuf:"bytes,3,opt,name=dynamic_resources,json=dynamicResources,proto3" json:"dynamic_resources,omitempty"`
	ClusterManager               *ClusterManager             `protobuf:"bytes,4,opt,name=cluster_manager,json=clusterManager,proto3" json:"cluster_manager,omitempty"`
	HdsConfig                    *v3.ApiConfigSource         `protobuf:"bytes,14,opt,name=hds_config,json=hdsConfig,proto3" json:"hds_config,omitempty"`
	FlagsPath                    string                      `protobuf:"bytes,5,opt,name=flags_path,json=flagsPath,proto3" json:"flags_path,omitempty"`
	StatsSinks                   []*v31.StatsSink            `protobuf:"bytes,6,rep,name=stats_sinks,json=statsSinks,proto3" json:"stats_sinks,omitempty"`
	StatsConfig                  *v31.StatsConfig            `protobuf:"bytes,13,opt,name=stats_config,json=statsConfig,proto3" json:"stats_config,omitempty"`
	StatsFlushInterval           *duration.Duration          `protobuf:"bytes,7,opt,name=stats_flush_interval,json=statsFlushInterval,proto3" json:"stats_flush_interval,omitempty"`
	Watchdog                     *Watchdog                   `protobuf:"bytes,8,opt,name=watchdog,proto3" json:"watchdog,omitempty"`
	Tracing                      *v32.Tracing                `protobuf:"bytes,9,opt,name=tracing,proto3" json:"tracing,omitempty"`
	HiddenEnvoyDeprecatedRuntime *Runtime                    `protobuf:"bytes,11,opt,name=hidden_envoy_deprecated_runtime,json=hiddenEnvoyDeprecatedRuntime,proto3" json:"hidden_envoy_deprecated_runtime,omitempty"` // Deprecated: Do not use.
	LayeredRuntime               *LayeredRuntime             `protobuf:"bytes,17,opt,name=layered_runtime,json=layeredRuntime,proto3" json:"layered_runtime,omitempty"`
	Admin                        *Admin                      `protobuf:"bytes,12,opt,name=admin,proto3" json:"admin,omitempty"`
	OverloadManager              *v33.OverloadManager        `protobuf:"bytes,15,opt,name=overload_manager,json=overloadManager,proto3" json:"overload_manager,omitempty"`
	EnableDispatcherStats        bool                        `protobuf:"varint,16,opt,name=enable_dispatcher_stats,json=enableDispatcherStats,proto3" json:"enable_dispatcher_stats,omitempty"`
	HeaderPrefix                 string                      `protobuf:"bytes,18,opt,name=header_prefix,json=headerPrefix,proto3" json:"header_prefix,omitempty"`
	StatsServerVersionOverride   *wrappers.UInt64Value       `protobuf:"bytes,19,opt,name=stats_server_version_override,json=statsServerVersionOverride,proto3" json:"stats_server_version_override,omitempty"`
	UseTcpForDnsLookups          bool                        `protobuf:"varint,20,opt,name=use_tcp_for_dns_lookups,json=useTcpForDnsLookups,proto3" json:"use_tcp_for_dns_lookups,omitempty"`
	XXX_NoUnkeyedLiteral         struct{}                    `json:"-"`
	XXX_unrecognized             []byte                      `json:"-"`
	XXX_sizecache                int32                       `json:"-"`
}

func (m *Bootstrap) Reset()         { *m = Bootstrap{} }
func (m *Bootstrap) String() string { return proto.CompactTextString(m) }
func (*Bootstrap) ProtoMessage()    {}
func (*Bootstrap) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{0}
}

func (m *Bootstrap) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Bootstrap.Unmarshal(m, b)
}
func (m *Bootstrap) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Bootstrap.Marshal(b, m, deterministic)
}
func (m *Bootstrap) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Bootstrap.Merge(m, src)
}
func (m *Bootstrap) XXX_Size() int {
	return xxx_messageInfo_Bootstrap.Size(m)
}
func (m *Bootstrap) XXX_DiscardUnknown() {
	xxx_messageInfo_Bootstrap.DiscardUnknown(m)
}

var xxx_messageInfo_Bootstrap proto.InternalMessageInfo

func (m *Bootstrap) GetNode() *v3.Node {
	if m != nil {
		return m.Node
	}
	return nil
}

func (m *Bootstrap) GetStaticResources() *Bootstrap_StaticResources {
	if m != nil {
		return m.StaticResources
	}
	return nil
}

func (m *Bootstrap) GetDynamicResources() *Bootstrap_DynamicResources {
	if m != nil {
		return m.DynamicResources
	}
	return nil
}

func (m *Bootstrap) GetClusterManager() *ClusterManager {
	if m != nil {
		return m.ClusterManager
	}
	return nil
}

func (m *Bootstrap) GetHdsConfig() *v3.ApiConfigSource {
	if m != nil {
		return m.HdsConfig
	}
	return nil
}

func (m *Bootstrap) GetFlagsPath() string {
	if m != nil {
		return m.FlagsPath
	}
	return ""
}

func (m *Bootstrap) GetStatsSinks() []*v31.StatsSink {
	if m != nil {
		return m.StatsSinks
	}
	return nil
}

func (m *Bootstrap) GetStatsConfig() *v31.StatsConfig {
	if m != nil {
		return m.StatsConfig
	}
	return nil
}

func (m *Bootstrap) GetStatsFlushInterval() *duration.Duration {
	if m != nil {
		return m.StatsFlushInterval
	}
	return nil
}

func (m *Bootstrap) GetWatchdog() *Watchdog {
	if m != nil {
		return m.Watchdog
	}
	return nil
}

func (m *Bootstrap) GetTracing() *v32.Tracing {
	if m != nil {
		return m.Tracing
	}
	return nil
}

// Deprecated: Do not use.
func (m *Bootstrap) GetHiddenEnvoyDeprecatedRuntime() *Runtime {
	if m != nil {
		return m.HiddenEnvoyDeprecatedRuntime
	}
	return nil
}

func (m *Bootstrap) GetLayeredRuntime() *LayeredRuntime {
	if m != nil {
		return m.LayeredRuntime
	}
	return nil
}

func (m *Bootstrap) GetAdmin() *Admin {
	if m != nil {
		return m.Admin
	}
	return nil
}

func (m *Bootstrap) GetOverloadManager() *v33.OverloadManager {
	if m != nil {
		return m.OverloadManager
	}
	return nil
}

func (m *Bootstrap) GetEnableDispatcherStats() bool {
	if m != nil {
		return m.EnableDispatcherStats
	}
	return false
}

func (m *Bootstrap) GetHeaderPrefix() string {
	if m != nil {
		return m.HeaderPrefix
	}
	return ""
}

func (m *Bootstrap) GetStatsServerVersionOverride() *wrappers.UInt64Value {
	if m != nil {
		return m.StatsServerVersionOverride
	}
	return nil
}

func (m *Bootstrap) GetUseTcpForDnsLookups() bool {
	if m != nil {
		return m.UseTcpForDnsLookups
	}
	return false
}

type Bootstrap_StaticResources struct {
	Listeners            []*v34.Listener `protobuf:"bytes,1,rep,name=listeners,proto3" json:"listeners,omitempty"`
	Clusters             []*v35.Cluster  `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"`
	Secrets              []*v36.Secret   `protobuf:"bytes,3,rep,name=secrets,proto3" json:"secrets,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *Bootstrap_StaticResources) Reset()         { *m = Bootstrap_StaticResources{} }
func (m *Bootstrap_StaticResources) String() string { return proto.CompactTextString(m) }
func (*Bootstrap_StaticResources) ProtoMessage()    {}
func (*Bootstrap_StaticResources) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{0, 0}
}

func (m *Bootstrap_StaticResources) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Bootstrap_StaticResources.Unmarshal(m, b)
}
func (m *Bootstrap_StaticResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Bootstrap_StaticResources.Marshal(b, m, deterministic)
}
func (m *Bootstrap_StaticResources) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Bootstrap_StaticResources.Merge(m, src)
}
func (m *Bootstrap_StaticResources) XXX_Size() int {
	return xxx_messageInfo_Bootstrap_StaticResources.Size(m)
}
func (m *Bootstrap_StaticResources) XXX_DiscardUnknown() {
	xxx_messageInfo_Bootstrap_StaticResources.DiscardUnknown(m)
}

var xxx_messageInfo_Bootstrap_StaticResources proto.InternalMessageInfo

func (m *Bootstrap_StaticResources) GetListeners() []*v34.Listener {
	if m != nil {
		return m.Listeners
	}
	return nil
}

func (m *Bootstrap_StaticResources) GetClusters() []*v35.Cluster {
	if m != nil {
		return m.Clusters
	}
	return nil
}

func (m *Bootstrap_StaticResources) GetSecrets() []*v36.Secret {
	if m != nil {
		return m.Secrets
	}
	return nil
}

type Bootstrap_DynamicResources struct {
	LdsConfig            *v3.ConfigSource    `protobuf:"bytes,1,opt,name=lds_config,json=ldsConfig,proto3" json:"lds_config,omitempty"`
	CdsConfig            *v3.ConfigSource    `protobuf:"bytes,2,opt,name=cds_config,json=cdsConfig,proto3" json:"cds_config,omitempty"`
	AdsConfig            *v3.ApiConfigSource `protobuf:"bytes,3,opt,name=ads_config,json=adsConfig,proto3" json:"ads_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *Bootstrap_DynamicResources) Reset()         { *m = Bootstrap_DynamicResources{} }
func (m *Bootstrap_DynamicResources) String() string { return proto.CompactTextString(m) }
func (*Bootstrap_DynamicResources) ProtoMessage()    {}
func (*Bootstrap_DynamicResources) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{0, 1}
}

func (m *Bootstrap_DynamicResources) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Bootstrap_DynamicResources.Unmarshal(m, b)
}
func (m *Bootstrap_DynamicResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Bootstrap_DynamicResources.Marshal(b, m, deterministic)
}
func (m *Bootstrap_DynamicResources) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Bootstrap_DynamicResources.Merge(m, src)
}
func (m *Bootstrap_DynamicResources) XXX_Size() int {
	return xxx_messageInfo_Bootstrap_DynamicResources.Size(m)
}
func (m *Bootstrap_DynamicResources) XXX_DiscardUnknown() {
	xxx_messageInfo_Bootstrap_DynamicResources.DiscardUnknown(m)
}

var xxx_messageInfo_Bootstrap_DynamicResources proto.InternalMessageInfo

func (m *Bootstrap_DynamicResources) GetLdsConfig() *v3.ConfigSource {
	if m != nil {
		return m.LdsConfig
	}
	return nil
}

func (m *Bootstrap_DynamicResources) GetCdsConfig() *v3.ConfigSource {
	if m != nil {
		return m.CdsConfig
	}
	return nil
}

func (m *Bootstrap_DynamicResources) GetAdsConfig() *v3.ApiConfigSource {
	if m != nil {
		return m.AdsConfig
	}
	return nil
}

type Admin struct {
	AccessLogPath        string             `protobuf:"bytes,1,opt,name=access_log_path,json=accessLogPath,proto3" json:"access_log_path,omitempty"`
	ProfilePath          string             `protobuf:"bytes,2,opt,name=profile_path,json=profilePath,proto3" json:"profile_path,omitempty"`
	Address              *v3.Address        `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	SocketOptions        []*v3.SocketOption `protobuf:"bytes,4,rep,name=socket_options,json=socketOptions,proto3" json:"socket_options,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Admin) Reset()         { *m = Admin{} }
func (m *Admin) String() string { return proto.CompactTextString(m) }
func (*Admin) ProtoMessage()    {}
func (*Admin) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{1}
}

func (m *Admin) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Admin.Unmarshal(m, b)
}
func (m *Admin) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Admin.Marshal(b, m, deterministic)
}
func (m *Admin) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Admin.Merge(m, src)
}
func (m *Admin) XXX_Size() int {
	return xxx_messageInfo_Admin.Size(m)
}
func (m *Admin) XXX_DiscardUnknown() {
	xxx_messageInfo_Admin.DiscardUnknown(m)
}

var xxx_messageInfo_Admin proto.InternalMessageInfo

func (m *Admin) GetAccessLogPath() string {
	if m != nil {
		return m.AccessLogPath
	}
	return ""
}

func (m *Admin) GetProfilePath() string {
	if m != nil {
		return m.ProfilePath
	}
	return ""
}

func (m *Admin) GetAddress() *v3.Address {
	if m != nil {
		return m.Address
	}
	return nil
}

func (m *Admin) GetSocketOptions() []*v3.SocketOption {
	if m != nil {
		return m.SocketOptions
	}
	return nil
}

type ClusterManager struct {
	LocalClusterName     string                           `protobuf:"bytes,1,opt,name=local_cluster_name,json=localClusterName,proto3" json:"local_cluster_name,omitempty"`
	OutlierDetection     *ClusterManager_OutlierDetection `protobuf:"bytes,2,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	UpstreamBindConfig   *v3.BindConfig                   `protobuf:"bytes,3,opt,name=upstream_bind_config,json=upstreamBindConfig,proto3" json:"upstream_bind_config,omitempty"`
	LoadStatsConfig      *v3.ApiConfigSource              `protobuf:"bytes,4,opt,name=load_stats_config,json=loadStatsConfig,proto3" json:"load_stats_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                         `json:"-"`
	XXX_unrecognized     []byte                           `json:"-"`
	XXX_sizecache        int32                            `json:"-"`
}

func (m *ClusterManager) Reset()         { *m = ClusterManager{} }
func (m *ClusterManager) String() string { return proto.CompactTextString(m) }
func (*ClusterManager) ProtoMessage()    {}
func (*ClusterManager) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{2}
}

func (m *ClusterManager) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterManager.Unmarshal(m, b)
}
func (m *ClusterManager) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterManager.Marshal(b, m, deterministic)
}
func (m *ClusterManager) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterManager.Merge(m, src)
}
func (m *ClusterManager) XXX_Size() int {
	return xxx_messageInfo_ClusterManager.Size(m)
}
func (m *ClusterManager) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterManager.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterManager proto.InternalMessageInfo

func (m *ClusterManager) GetLocalClusterName() string {
	if m != nil {
		return m.LocalClusterName
	}
	return ""
}

func (m *ClusterManager) GetOutlierDetection() *ClusterManager_OutlierDetection {
	if m != nil {
		return m.OutlierDetection
	}
	return nil
}

func (m *ClusterManager) GetUpstreamBindConfig() *v3.BindConfig {
	if m != nil {
		return m.UpstreamBindConfig
	}
	return nil
}

func (m *ClusterManager) GetLoadStatsConfig() *v3.ApiConfigSource {
	if m != nil {
		return m.LoadStatsConfig
	}
	return nil
}

type ClusterManager_OutlierDetection struct {
	EventLogPath         string                 `protobuf:"bytes,1,opt,name=event_log_path,json=eventLogPath,proto3" json:"event_log_path,omitempty"`
	EventService         *v3.EventServiceConfig `protobuf:"bytes,2,opt,name=event_service,json=eventService,proto3" json:"event_service,omitempty"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *ClusterManager_OutlierDetection) Reset()         { *m = ClusterManager_OutlierDetection{} }
func (m *ClusterManager_OutlierDetection) String() string { return proto.CompactTextString(m) }
func (*ClusterManager_OutlierDetection) ProtoMessage()    {}
func (*ClusterManager_OutlierDetection) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{2, 0}
}

func (m *ClusterManager_OutlierDetection) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ClusterManager_OutlierDetection.Unmarshal(m, b)
}
func (m *ClusterManager_OutlierDetection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ClusterManager_OutlierDetection.Marshal(b, m, deterministic)
}
func (m *ClusterManager_OutlierDetection) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ClusterManager_OutlierDetection.Merge(m, src)
}
func (m *ClusterManager_OutlierDetection) XXX_Size() int {
	return xxx_messageInfo_ClusterManager_OutlierDetection.Size(m)
}
func (m *ClusterManager_OutlierDetection) XXX_DiscardUnknown() {
	xxx_messageInfo_ClusterManager_OutlierDetection.DiscardUnknown(m)
}

var xxx_messageInfo_ClusterManager_OutlierDetection proto.InternalMessageInfo

func (m *ClusterManager_OutlierDetection) GetEventLogPath() string {
	if m != nil {
		return m.EventLogPath
	}
	return ""
}

func (m *ClusterManager_OutlierDetection) GetEventService() *v3.EventServiceConfig {
	if m != nil {
		return m.EventService
	}
	return nil
}

type Watchdog struct {
	MissTimeout          *duration.Duration `protobuf:"bytes,1,opt,name=miss_timeout,json=missTimeout,proto3" json:"miss_timeout,omitempty"`
	MegamissTimeout      *duration.Duration `protobuf:"bytes,2,opt,name=megamiss_timeout,json=megamissTimeout,proto3" json:"megamiss_timeout,omitempty"`
	KillTimeout          *duration.Duration `protobuf:"bytes,3,opt,name=kill_timeout,json=killTimeout,proto3" json:"kill_timeout,omitempty"`
	MultikillTimeout     *duration.Duration `protobuf:"bytes,4,opt,name=multikill_timeout,json=multikillTimeout,proto3" json:"multikill_timeout,omitempty"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

func (m *Watchdog) Reset()         { *m = Watchdog{} }
func (m *Watchdog) String() string { return proto.CompactTextString(m) }
func (*Watchdog) ProtoMessage()    {}
func (*Watchdog) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{3}
}

func (m *Watchdog) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Watchdog.Unmarshal(m, b)
}
func (m *Watchdog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Watchdog.Marshal(b, m, deterministic)
}
func (m *Watchdog) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Watchdog.Merge(m, src)
}
func (m *Watchdog) XXX_Size() int {
	return xxx_messageInfo_Watchdog.Size(m)
}
func (m *Watchdog) XXX_DiscardUnknown() {
	xxx_messageInfo_Watchdog.DiscardUnknown(m)
}

var xxx_messageInfo_Watchdog proto.InternalMessageInfo

func (m *Watchdog) GetMissTimeout() *duration.Duration {
	if m != nil {
		return m.MissTimeout
	}
	return nil
}

func (m *Watchdog) GetMegamissTimeout() *duration.Duration {
	if m != nil {
		return m.MegamissTimeout
	}
	return nil
}

func (m *Watchdog) GetKillTimeout() *duration.Duration {
	if m != nil {
		return m.KillTimeout
	}
	return nil
}

func (m *Watchdog) GetMultikillTimeout() *duration.Duration {
	if m != nil {
		return m.MultikillTimeout
	}
	return nil
}

type Runtime struct {
	SymlinkRoot          string          `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"`
	Subdirectory         string          `protobuf:"bytes,2,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"`
	OverrideSubdirectory string          `protobuf:"bytes,3,opt,name=override_subdirectory,json=overrideSubdirectory,proto3" json:"override_subdirectory,omitempty"`
	Base                 *_struct.Struct `protobuf:"bytes,4,opt,name=base,proto3" json:"base,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *Runtime) Reset()         { *m = Runtime{} }
func (m *Runtime) String() string { return proto.CompactTextString(m) }
func (*Runtime) ProtoMessage()    {}
func (*Runtime) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{4}
}

func (m *Runtime) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Runtime.Unmarshal(m, b)
}
func (m *Runtime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Runtime.Marshal(b, m, deterministic)
}
func (m *Runtime) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Runtime.Merge(m, src)
}
func (m *Runtime) XXX_Size() int {
	return xxx_messageInfo_Runtime.Size(m)
}
func (m *Runtime) XXX_DiscardUnknown() {
	xxx_messageInfo_Runtime.DiscardUnknown(m)
}

var xxx_messageInfo_Runtime proto.InternalMessageInfo

func (m *Runtime) GetSymlinkRoot() string {
	if m != nil {
		return m.SymlinkRoot
	}
	return ""
}

func (m *Runtime) GetSubdirectory() string {
	if m != nil {
		return m.Subdirectory
	}
	return ""
}

func (m *Runtime) GetOverrideSubdirectory() string {
	if m != nil {
		return m.OverrideSubdirectory
	}
	return ""
}

func (m *Runtime) GetBase() *_struct.Struct {
	if m != nil {
		return m.Base
	}
	return nil
}

type RuntimeLayer struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are valid to be assigned to LayerSpecifier:
	//	*RuntimeLayer_StaticLayer
	//	*RuntimeLayer_DiskLayer_
	//	*RuntimeLayer_AdminLayer_
	//	*RuntimeLayer_RtdsLayer_
	LayerSpecifier       isRuntimeLayer_LayerSpecifier `protobuf_oneof:"layer_specifier"`
	XXX_NoUnkeyedLiteral struct{}                      `json:"-"`
	XXX_unrecognized     []byte                        `json:"-"`
	XXX_sizecache        int32                         `json:"-"`
}

func (m *RuntimeLayer) Reset()         { *m = RuntimeLayer{} }
func (m *RuntimeLayer) String() string { return proto.CompactTextString(m) }
func (*RuntimeLayer) ProtoMessage()    {}
func (*RuntimeLayer) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{5}
}

func (m *RuntimeLayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RuntimeLayer.Unmarshal(m, b)
}
func (m *RuntimeLayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RuntimeLayer.Marshal(b, m, deterministic)
}
func (m *RuntimeLayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RuntimeLayer.Merge(m, src)
}
func (m *RuntimeLayer) XXX_Size() int {
	return xxx_messageInfo_RuntimeLayer.Size(m)
}
func (m *RuntimeLayer) XXX_DiscardUnknown() {
	xxx_messageInfo_RuntimeLayer.DiscardUnknown(m)
}

var xxx_messageInfo_RuntimeLayer proto.InternalMessageInfo

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

type isRuntimeLayer_LayerSpecifier interface {
	isRuntimeLayer_LayerSpecifier()
}

type RuntimeLayer_StaticLayer struct {
	StaticLayer *_struct.Struct `protobuf:"bytes,2,opt,name=static_layer,json=staticLayer,proto3,oneof"`
}

type RuntimeLayer_DiskLayer_ struct {
	DiskLayer *RuntimeLayer_DiskLayer `protobuf:"bytes,3,opt,name=disk_layer,json=diskLayer,proto3,oneof"`
}

type RuntimeLayer_AdminLayer_ struct {
	AdminLayer *RuntimeLayer_AdminLayer `protobuf:"bytes,4,opt,name=admin_layer,json=adminLayer,proto3,oneof"`
}

type RuntimeLayer_RtdsLayer_ struct {
	RtdsLayer *RuntimeLayer_RtdsLayer `protobuf:"bytes,5,opt,name=rtds_layer,json=rtdsLayer,proto3,oneof"`
}

func (*RuntimeLayer_StaticLayer) isRuntimeLayer_LayerSpecifier() {}

func (*RuntimeLayer_DiskLayer_) isRuntimeLayer_LayerSpecifier() {}

func (*RuntimeLayer_AdminLayer_) isRuntimeLayer_LayerSpecifier() {}

func (*RuntimeLayer_RtdsLayer_) isRuntimeLayer_LayerSpecifier() {}

func (m *RuntimeLayer) GetLayerSpecifier() isRuntimeLayer_LayerSpecifier {
	if m != nil {
		return m.LayerSpecifier
	}
	return nil
}

func (m *RuntimeLayer) GetStaticLayer() *_struct.Struct {
	if x, ok := m.GetLayerSpecifier().(*RuntimeLayer_StaticLayer); ok {
		return x.StaticLayer
	}
	return nil
}

func (m *RuntimeLayer) GetDiskLayer() *RuntimeLayer_DiskLayer {
	if x, ok := m.GetLayerSpecifier().(*RuntimeLayer_DiskLayer_); ok {
		return x.DiskLayer
	}
	return nil
}

func (m *RuntimeLayer) GetAdminLayer() *RuntimeLayer_AdminLayer {
	if x, ok := m.GetLayerSpecifier().(*RuntimeLayer_AdminLayer_); ok {
		return x.AdminLayer
	}
	return nil
}

func (m *RuntimeLayer) GetRtdsLayer() *RuntimeLayer_RtdsLayer {
	if x, ok := m.GetLayerSpecifier().(*RuntimeLayer_RtdsLayer_); ok {
		return x.RtdsLayer
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*RuntimeLayer) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*RuntimeLayer_StaticLayer)(nil),
		(*RuntimeLayer_DiskLayer_)(nil),
		(*RuntimeLayer_AdminLayer_)(nil),
		(*RuntimeLayer_RtdsLayer_)(nil),
	}
}

type RuntimeLayer_DiskLayer struct {
	SymlinkRoot          string   `protobuf:"bytes,1,opt,name=symlink_root,json=symlinkRoot,proto3" json:"symlink_root,omitempty"`
	Subdirectory         string   `protobuf:"bytes,3,opt,name=subdirectory,proto3" json:"subdirectory,omitempty"`
	AppendServiceCluster bool     `protobuf:"varint,2,opt,name=append_service_cluster,json=appendServiceCluster,proto3" json:"append_service_cluster,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RuntimeLayer_DiskLayer) Reset()         { *m = RuntimeLayer_DiskLayer{} }
func (m *RuntimeLayer_DiskLayer) String() string { return proto.CompactTextString(m) }
func (*RuntimeLayer_DiskLayer) ProtoMessage()    {}
func (*RuntimeLayer_DiskLayer) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{5, 0}
}

func (m *RuntimeLayer_DiskLayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RuntimeLayer_DiskLayer.Unmarshal(m, b)
}
func (m *RuntimeLayer_DiskLayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RuntimeLayer_DiskLayer.Marshal(b, m, deterministic)
}
func (m *RuntimeLayer_DiskLayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RuntimeLayer_DiskLayer.Merge(m, src)
}
func (m *RuntimeLayer_DiskLayer) XXX_Size() int {
	return xxx_messageInfo_RuntimeLayer_DiskLayer.Size(m)
}
func (m *RuntimeLayer_DiskLayer) XXX_DiscardUnknown() {
	xxx_messageInfo_RuntimeLayer_DiskLayer.DiscardUnknown(m)
}

var xxx_messageInfo_RuntimeLayer_DiskLayer proto.InternalMessageInfo

func (m *RuntimeLayer_DiskLayer) GetSymlinkRoot() string {
	if m != nil {
		return m.SymlinkRoot
	}
	return ""
}

func (m *RuntimeLayer_DiskLayer) GetSubdirectory() string {
	if m != nil {
		return m.Subdirectory
	}
	return ""
}

func (m *RuntimeLayer_DiskLayer) GetAppendServiceCluster() bool {
	if m != nil {
		return m.AppendServiceCluster
	}
	return false
}

type RuntimeLayer_AdminLayer struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *RuntimeLayer_AdminLayer) Reset()         { *m = RuntimeLayer_AdminLayer{} }
func (m *RuntimeLayer_AdminLayer) String() string { return proto.CompactTextString(m) }
func (*RuntimeLayer_AdminLayer) ProtoMessage()    {}
func (*RuntimeLayer_AdminLayer) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{5, 1}
}

func (m *RuntimeLayer_AdminLayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RuntimeLayer_AdminLayer.Unmarshal(m, b)
}
func (m *RuntimeLayer_AdminLayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RuntimeLayer_AdminLayer.Marshal(b, m, deterministic)
}
func (m *RuntimeLayer_AdminLayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RuntimeLayer_AdminLayer.Merge(m, src)
}
func (m *RuntimeLayer_AdminLayer) XXX_Size() int {
	return xxx_messageInfo_RuntimeLayer_AdminLayer.Size(m)
}
func (m *RuntimeLayer_AdminLayer) XXX_DiscardUnknown() {
	xxx_messageInfo_RuntimeLayer_AdminLayer.DiscardUnknown(m)
}

var xxx_messageInfo_RuntimeLayer_AdminLayer proto.InternalMessageInfo

type RuntimeLayer_RtdsLayer struct {
	Name                 string           `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	RtdsConfig           *v3.ConfigSource `protobuf:"bytes,2,opt,name=rtds_config,json=rtdsConfig,proto3" json:"rtds_config,omitempty"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

func (m *RuntimeLayer_RtdsLayer) Reset()         { *m = RuntimeLayer_RtdsLayer{} }
func (m *RuntimeLayer_RtdsLayer) String() string { return proto.CompactTextString(m) }
func (*RuntimeLayer_RtdsLayer) ProtoMessage()    {}
func (*RuntimeLayer_RtdsLayer) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{5, 2}
}

func (m *RuntimeLayer_RtdsLayer) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_RuntimeLayer_RtdsLayer.Unmarshal(m, b)
}
func (m *RuntimeLayer_RtdsLayer) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_RuntimeLayer_RtdsLayer.Marshal(b, m, deterministic)
}
func (m *RuntimeLayer_RtdsLayer) XXX_Merge(src proto.Message) {
	xxx_messageInfo_RuntimeLayer_RtdsLayer.Merge(m, src)
}
func (m *RuntimeLayer_RtdsLayer) XXX_Size() int {
	return xxx_messageInfo_RuntimeLayer_RtdsLayer.Size(m)
}
func (m *RuntimeLayer_RtdsLayer) XXX_DiscardUnknown() {
	xxx_messageInfo_RuntimeLayer_RtdsLayer.DiscardUnknown(m)
}

var xxx_messageInfo_RuntimeLayer_RtdsLayer proto.InternalMessageInfo

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

func (m *RuntimeLayer_RtdsLayer) GetRtdsConfig() *v3.ConfigSource {
	if m != nil {
		return m.RtdsConfig
	}
	return nil
}

type LayeredRuntime struct {
	Layers               []*RuntimeLayer `protobuf:"bytes,1,rep,name=layers,proto3" json:"layers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

func (m *LayeredRuntime) Reset()         { *m = LayeredRuntime{} }
func (m *LayeredRuntime) String() string { return proto.CompactTextString(m) }
func (*LayeredRuntime) ProtoMessage()    {}
func (*LayeredRuntime) Descriptor() ([]byte, []int) {
	return fileDescriptor_ccaa5ae7dd0aa495, []int{6}
}

func (m *LayeredRuntime) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LayeredRuntime.Unmarshal(m, b)
}
func (m *LayeredRuntime) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LayeredRuntime.Marshal(b, m, deterministic)
}
func (m *LayeredRuntime) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LayeredRuntime.Merge(m, src)
}
func (m *LayeredRuntime) XXX_Size() int {
	return xxx_messageInfo_LayeredRuntime.Size(m)
}
func (m *LayeredRuntime) XXX_DiscardUnknown() {
	xxx_messageInfo_LayeredRuntime.DiscardUnknown(m)
}

var xxx_messageInfo_LayeredRuntime proto.InternalMessageInfo

func (m *LayeredRuntime) GetLayers() []*RuntimeLayer {
	if m != nil {
		return m.Layers
	}
	return nil
}

func init() {
	proto.RegisterType((*Bootstrap)(nil), "envoy.config.bootstrap.v3.Bootstrap")
	proto.RegisterType((*Bootstrap_StaticResources)(nil), "envoy.config.bootstrap.v3.Bootstrap.StaticResources")
	proto.RegisterType((*Bootstrap_DynamicResources)(nil), "envoy.config.bootstrap.v3.Bootstrap.DynamicResources")
	proto.RegisterType((*Admin)(nil), "envoy.config.bootstrap.v3.Admin")
	proto.RegisterType((*ClusterManager)(nil), "envoy.config.bootstrap.v3.ClusterManager")
	proto.RegisterType((*ClusterManager_OutlierDetection)(nil), "envoy.config.bootstrap.v3.ClusterManager.OutlierDetection")
	proto.RegisterType((*Watchdog)(nil), "envoy.config.bootstrap.v3.Watchdog")
	proto.RegisterType((*Runtime)(nil), "envoy.config.bootstrap.v3.Runtime")
	proto.RegisterType((*RuntimeLayer)(nil), "envoy.config.bootstrap.v3.RuntimeLayer")
	proto.RegisterType((*RuntimeLayer_DiskLayer)(nil), "envoy.config.bootstrap.v3.RuntimeLayer.DiskLayer")
	proto.RegisterType((*RuntimeLayer_AdminLayer)(nil), "envoy.config.bootstrap.v3.RuntimeLayer.AdminLayer")
	proto.RegisterType((*RuntimeLayer_RtdsLayer)(nil), "envoy.config.bootstrap.v3.RuntimeLayer.RtdsLayer")
	proto.RegisterType((*LayeredRuntime)(nil), "envoy.config.bootstrap.v3.LayeredRuntime")
}

func init() {
	proto.RegisterFile("envoy/config/bootstrap/v3/bootstrap.proto", fileDescriptor_ccaa5ae7dd0aa495)
}

var fileDescriptor_ccaa5ae7dd0aa495 = []byte{
	// 1843 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x73, 0x23, 0x47,
	0x15, 0xcf, 0xc8, 0xb2, 0x2d, 0x3f, 0xc9, 0xb6, 0xdc, 0x71, 0xb2, 0x13, 0xb1, 0x1f, 0xb6, 0xbc,
	0x1f, 0xda, 0x00, 0x23, 0xd6, 0x72, 0x36, 0x41, 0x59, 0x2a, 0x59, 0x59, 0x59, 0xb2, 0x61, 0x93,
	0x5d, 0xc6, 0x9b, 0x70, 0x63, 0x6a, 0x3c, 0xd3, 0x96, 0xa7, 0x3c, 0x9a, 0x9e, 0xea, 0xee, 0x51,
	0xd6, 0x37, 0x8a, 0xe2, 0xc0, 0xdf, 0x90, 0x2a, 0x0e, 0x5c, 0x29, 0xfe, 0x00, 0x8a, 0x0b, 0x70,
	0xa0, 0x0a, 0x8a, 0x13, 0x5c, 0xe1, 0xc0, 0x5f, 0xc0, 0x81, 0x13, 0x95, 0x03, 0x45, 0xf5, 0xd7,
	0xc8, 0x23, 0x4b, 0xb6, 0xcc, 0xad, 0x3f, 0x7e, 0xbf, 0x5f, 0xbf, 0x7e, 0xfd, 0xde, 0xeb, 0x9e,
	0x81, 0xfb, 0x38, 0x19, 0x91, 0xd3, 0x76, 0x40, 0x92, 0xa3, 0x68, 0xd0, 0x3e, 0x24, 0x84, 0x33,
	0x4e, 0xfd, 0xb4, 0x3d, 0xea, 0x8c, 0x3b, 0x4e, 0x4a, 0x09, 0x27, 0xe8, 0x2d, 0x09, 0x75, 0x14,
	0xd4, 0x19, 0xcf, 0x8e, 0x3a, 0x8d, 0x3b, 0x05, 0x95, 0x20, 0xce, 0x18, 0xc7, 0x54, 0x68, 0xe8,
	0xa6, 0x52, 0x68, 0x34, 0x8b, 0x30, 0x42, 0xb1, 0xc0, 0xf8, 0x61, 0x48, 0x31, 0x63, 0x1a, 0x73,
	0x6b, 0x2a, 0xe6, 0xd0, 0x67, 0x58, 0x03, 0x5a, 0x53, 0x01, 0xaa, 0xeb, 0x31, 0x92, 0xd1, 0xc0,
	0x20, 0xdb, 0x53, 0x91, 0x78, 0x84, 0x13, 0xee, 0x31, 0x4c, 0x47, 0x51, 0x80, 0x3d, 0xbd, 0x9b,
	0x8b, 0xa4, 0x19, 0x09, 0x4e, 0x30, 0xf7, 0x48, 0xca, 0x23, 0x92, 0x68, 0xe4, 0xbd, 0x02, 0x32,
	0x8e, 0x18, 0xc7, 0x89, 0xda, 0xb1, 0x69, 0x6b, 0xe0, 0x4e, 0x01, 0x38, 0xc4, 0x9c, 0x46, 0x01,
	0x93, 0xaa, 0xdc, 0xe7, 0x6c, 0xaa, 0x1a, 0x19, 0x61, 0x1a, 0x13, 0x3f, 0x14, 0x28, 0xd3, 0xd6,
	0xc0, 0xed, 0x02, 0x90, 0x53, 0x3f, 0x90, 0x16, 0xca, 0x86, 0x86, 0xec, 0x29, 0x08, 0x7e, 0xc5,
	0x71, 0xc2, 0x22, 0x92, 0x30, 0x31, 0x9b, 0xb0, 0x94, 0x50, 0xee, 0xa9, 0x9d, 0xb0, 0x36, 0x8f,
	0xa5, 0x09, 0x01, 0xa6, 0x5c, 0xb3, 0x6e, 0x0e, 0x08, 0x19, 0xc4, 0xb8, 0x2d, 0x7b, 0x87, 0xd9,
	0x51, 0x3b, 0xcc, 0xa8, 0x7f, 0x66, 0xbf, 0xd7, 0x27, 0xe7, 0x19, 0xa7, 0x59, 0x30, 0x93, 0xfd,
	0x25, 0xf5, 0xd3, 0x14, 0x53, 0x56, 0x74, 0x82, 0x9f, 0x24, 0x84, 0x4b, 0x55, 0xd6, 0x0e, 0x71,
	0x4a, 0x71, 0x70, 0x76, 0x89, 0x1b, 0x59, 0x98, 0xfa, 0x05, 0x8c, 0x70, 0x51, 0x66, 0x34, 0xb6,
	0xcf, 0x4d, 0x8f, 0x30, 0x15, 0x1b, 0x8c, 0x12, 0x73, 0x7c, 0xd7, 0x46, 0x7e, 0x1c, 0x85, 0x3e,
	0xc7, 0x6d, 0xd3, 0x50, 0x13, 0xcd, 0x7f, 0xae, 0xc3, 0x4a, 0xcf, 0xc4, 0x2b, 0x72, 0xa0, 0x9c,
	0x90, 0x10, 0xdb, 0xd6, 0x96, 0xd5, 0xaa, 0xee, 0x36, 0x9c, 0x42, 0x58, 0x8b, 0x43, 0x77, 0x46,
	0x1d, 0xe7, 0x33, 0x12, 0x62, 0x57, 0xe2, 0x90, 0x07, 0x75, 0x61, 0x49, 0x14, 0x78, 0x14, 0xab,
	0xf8, 0x62, 0x76, 0x49, 0x72, 0xf7, 0x9c, 0x99, 0x29, 0xe1, 0xe4, 0xeb, 0x39, 0x07, 0x92, 0xec,
	0x1a, 0xae, 0xbb, 0xce, 0x8a, 0x03, 0xe8, 0x10, 0x36, 0xc2, 0xd3, 0xc4, 0x1f, 0x16, 0x56, 0x58,
	0x90, 0x2b, 0xbc, 0x33, 0xd7, 0x0a, 0x7d, 0xc5, 0x1e, 0x2f, 0x51, 0x0f, 0x27, 0x46, 0x90, 0x0b,
	0xeb, 0x3a, 0x17, 0xbd, 0xa1, 0x9f, 0xf8, 0x03, 0x4c, 0xed, 0xb2, 0x5c, 0xe1, 0xfe, 0x05, 0x2b,
	0xec, 0x2b, 0xc6, 0xa7, 0x8a, 0xe0, 0xae, 0x05, 0x85, 0x3e, 0xea, 0x03, 0x1c, 0x87, 0x4c, 0xa7,
	0x90, 0xbd, 0x26, 0xe5, 0xee, 0x4c, 0x77, 0xe7, 0xe3, 0x34, 0xda, 0x97, 0x23, 0x07, 0xd2, 0x1e,
	0x77, 0xe5, 0x38, 0x64, 0x6a, 0x00, 0xdd, 0x00, 0x38, 0x8a, 0xfd, 0x01, 0xf3, 0x52, 0x9f, 0x1f,
	0xdb, 0x8b, 0x5b, 0x56, 0x6b, 0xc5, 0x5d, 0x91, 0x23, 0x2f, 0x7c, 0x7e, 0x8c, 0xf6, 0xa1, 0x2a,
	0x53, 0xc5, 0x63, 0x51, 0x72, 0xc2, 0xec, 0xa5, 0xad, 0x85, 0x56, 0x75, 0xb7, 0x59, 0x5c, 0x45,
	0xa7, 0x95, 0x58, 0x48, 0x38, 0x9b, 0x1d, 0x44, 0xc9, 0x89, 0x0b, 0xcc, 0x34, 0x19, 0xfa, 0x3e,
	0xd4, 0x94, 0x88, 0xb6, 0x75, 0x55, 0xda, 0x7a, 0xfb, 0x62, 0x15, 0x65, 0x9f, 0xab, 0x96, 0xd7,
	0xc6, 0xfe, 0x18, 0x36, 0x95, 0xd0, 0x51, 0x9c, 0xb1, 0x63, 0x2f, 0x4a, 0x38, 0xa6, 0x23, 0x3f,
	0xb6, 0x97, 0xa5, 0xe0, 0x5b, 0x8e, 0x4a, 0x04, 0xc7, 0x24, 0x82, 0xd3, 0xd7, 0x69, 0xd4, 0xdb,
	0xf8, 0xba, 0xb7, 0xf6, 0x2b, 0xab, 0xda, 0x58, 0xa8, 0xfc, 0xba, 0xb4, 0x5b, 0xae, 0xff, 0xfe,
	0x67, 0xdf, 0x73, 0x91, 0x54, 0x7a, 0x22, 0x84, 0x9e, 0x6a, 0x1d, 0xf4, 0x01, 0x54, 0xbe, 0xf4,
	0x79, 0x70, 0x1c, 0x92, 0x81, 0x5d, 0x91, 0x9a, 0x3b, 0x17, 0x9c, 0xcf, 0x8f, 0x34, 0xd4, 0xcd,
	0x49, 0xe8, 0x3d, 0x58, 0x16, 0xd5, 0x20, 0x4a, 0x06, 0xf6, 0x8a, 0xe4, 0xdf, 0x2c, 0xf2, 0x55,
	0xa9, 0x18, 0x75, 0x9c, 0x97, 0x0a, 0xe5, 0x1a, 0x38, 0x62, 0x70, 0xeb, 0x38, 0x0a, 0x43, 0x9c,
	0x78, 0x92, 0xe0, 0x99, 0x0c, 0xc5, 0xa1, 0x47, 0xb3, 0x84, 0x47, 0x43, 0x6c, 0x57, 0xa5, 0x62,
	0xf3, 0x02, 0x8b, 0x5c, 0x85, 0xec, 0x55, 0x7e, 0xf3, 0xaf, 0x7f, 0xff, 0x6d, 0xd1, 0xb2, 0x2d,
	0xf7, 0xba, 0x12, 0xfd, 0x48, 0x50, 0xfa, 0xb9, 0xa4, 0xc6, 0x89, 0xb0, 0x8c, 0xfd, 0x53, 0x4c,
	0xcf, 0x2c, 0xb2, 0x71, 0x69, 0x58, 0x3e, 0x53, 0x0c, 0xad, 0xe1, 0xae, 0xc5, 0x85, 0x3e, 0x7a,
	0x08, 0x8b, 0x7e, 0x38, 0x8c, 0x12, 0xbb, 0x26, 0x95, 0xb6, 0x2e, 0x50, 0x7a, 0x2c, 0x70, 0xae,
	0x82, 0xa3, 0x97, 0x50, 0x37, 0xe5, 0x36, 0xcf, 0x91, 0xf5, 0x69, 0xc6, 0xe4, 0x45, 0x79, 0xd4,
	0x71, 0x9e, 0xeb, 0xb6, 0xc9, 0x91, 0x75, 0x52, 0x1c, 0x40, 0x0f, 0xe1, 0x1a, 0x4e, 0xfc, 0xc3,
	0x18, 0x7b, 0x61, 0xc4, 0x52, 0x71, 0x4c, 0x98, 0x7a, 0xf2, 0xe4, 0xed, 0xfa, 0x96, 0xd5, 0xaa,
	0xb8, 0x6f, 0xa8, 0xe9, 0x7e, 0x3e, 0x2b, 0x83, 0x0f, 0xed, 0xc0, 0xea, 0x31, 0xf6, 0x43, 0x4c,
	0xbd, 0x94, 0xe2, 0xa3, 0xe8, 0x95, 0x8d, 0x64, 0x66, 0xd4, 0xd4, 0xe0, 0x0b, 0x39, 0x86, 0x3c,
	0xb8, 0xa1, 0x93, 0x03, 0xd3, 0x11, 0xa6, 0x9e, 0x2e, 0x89, 0x9e, 0x30, 0x82, 0x46, 0x21, 0xb6,
	0x5f, 0x97, 0xf6, 0x5f, 0x3f, 0x17, 0x97, 0x9f, 0x3f, 0x4d, 0xf8, 0xc3, 0xbd, 0x2f, 0xfc, 0x38,
	0xc3, 0x6e, 0x43, 0x25, 0x8a, 0x54, 0xf8, 0x42, 0x09, 0x3c, 0xd7, 0x7c, 0xb4, 0x07, 0xd7, 0x32,
	0x86, 0x3d, 0x1e, 0xa4, 0xde, 0x11, 0xa1, 0x5e, 0x98, 0x30, 0x2f, 0x26, 0xe4, 0x24, 0x4b, 0x99,
	0xbd, 0x29, 0xad, 0x7f, 0x3d, 0x63, 0xf8, 0x65, 0x90, 0x3e, 0x21, 0xb4, 0x9f, 0xb0, 0x67, 0x6a,
	0xaa, 0xf1, 0x55, 0x09, 0xd6, 0x27, 0xaa, 0x1e, 0xfa, 0x10, 0x56, 0xcc, 0xd5, 0xc8, 0x6c, 0x6b,
	0x5a, 0x16, 0xe7, 0x37, 0xa7, 0x38, 0x62, 0xdd, 0x76, 0xc7, 0x24, 0xf4, 0x08, 0x2a, 0xba, 0x00,
	0x89, 0xfa, 0xbb, 0x70, 0xfe, 0x68, 0xcd, 0x63, 0x63, 0x5c, 0xb9, 0xdc, 0x9c, 0x81, 0x7e, 0x00,
	0xcb, 0x0c, 0x07, 0x14, 0x73, 0x51, 0x5a, 0x05, 0xf9, 0x81, 0x26, 0x8f, 0x6f, 0x4a, 0xe7, 0xdc,
	0x4d, 0xe9, 0xf0, 0x58, 0xd5, 0x03, 0xc9, 0x74, 0x8d, 0x42, 0xb7, 0xfb, 0xd5, 0x1f, 0x7f, 0x7e,
	0xf3, 0x1d, 0xe8, 0xcc, 0x8a, 0xac, 0xdd, 0xd9, 0xe5, 0xbf, 0xf1, 0xcb, 0x12, 0xd4, 0x27, 0x0b,
	0x36, 0x7a, 0x0c, 0x10, 0x8f, 0x4b, 0xa9, 0x35, 0x2d, 0xcf, 0x4c, 0x29, 0x2d, 0xd6, 0xd1, 0x38,
	0xaf, 0xa3, 0x8f, 0x01, 0x82, 0xb1, 0x44, 0x69, 0x7e, 0x89, 0x20, 0x97, 0xe8, 0x03, 0xf8, 0x63,
	0x89, 0x85, 0x2b, 0x15, 0x74, 0xdf, 0xa8, 0x74, 0xdf, 0x17, 0xce, 0x79, 0x08, 0x7b, 0xf3, 0x38,
	0x67, 0xd2, 0x11, 0x9f, 0x94, 0x2b, 0xe5, 0xfa, 0x62, 0xf7, 0x6d, 0x21, 0x71, 0x07, 0x76, 0xe6,
	0x90, 0xf8, 0xa4, 0x5c, 0x81, 0x7a, 0xb5, 0xf9, 0x5f, 0x0b, 0x16, 0x65, 0x36, 0xa3, 0xbb, 0xb0,
	0xee, 0x07, 0x01, 0x66, 0x22, 0x52, 0x07, 0xea, 0x52, 0xb1, 0x64, 0xea, 0xac, 0xaa, 0xe1, 0x67,
	0x64, 0x20, 0x2f, 0x96, 0x6d, 0xa8, 0xa5, 0x94, 0x1c, 0x45, 0x31, 0x56, 0xa0, 0x92, 0x04, 0x55,
	0xf5, 0x98, 0x84, 0xbc, 0x0b, 0xcb, 0xfa, 0x71, 0xaa, 0x9d, 0x71, 0x63, 0x86, 0x33, 0x14, 0xc8,
	0x35, 0x68, 0xf4, 0x14, 0xd6, 0x0a, 0xaf, 0x46, 0x66, 0x97, 0xa7, 0x45, 0xbc, 0xe1, 0x1f, 0x48,
	0xec, 0x73, 0x09, 0x75, 0x57, 0xd9, 0x99, 0x1e, 0xeb, 0xde, 0x15, 0xae, 0xd8, 0x86, 0x5b, 0xb3,
	0x5d, 0x21, 0xb7, 0xdd, 0xfc, 0x4b, 0x19, 0xd6, 0x8a, 0xf7, 0x35, 0xfa, 0x16, 0xa0, 0x98, 0x04,
	0x7e, 0xec, 0x99, 0x9b, 0x3f, 0xf1, 0x87, 0x58, 0x3b, 0xa3, 0x2e, 0x67, 0x34, 0xe1, 0x33, 0x7f,
	0x88, 0xd1, 0x00, 0x36, 0x48, 0xc6, 0xe3, 0x08, 0x53, 0x2f, 0xc4, 0x1c, 0x07, 0x62, 0x79, 0x1d,
	0x46, 0xdd, 0xb9, 0xdf, 0x08, 0xce, 0x73, 0x25, 0xd1, 0x37, 0x0a, 0x6e, 0x9d, 0x4c, 0x8c, 0x20,
	0x17, 0x36, 0xb3, 0x94, 0x71, 0x8a, 0xfd, 0xa1, 0x77, 0x18, 0x25, 0x61, 0x31, 0xde, 0xb6, 0xa6,
	0xbb, 0xa8, 0x17, 0x25, 0xa1, 0xbe, 0x90, 0x91, 0x61, 0x8f, 0xc7, 0xd0, 0x0f, 0x61, 0x43, 0xd6,
	0xed, 0xc2, 0x2d, 0x5f, 0xbe, 0x4a, 0x00, 0xaf, 0x0b, 0xfe, 0x99, 0x7b, 0xbf, 0xf1, 0x67, 0x0b,
	0xea, 0x93, 0xbb, 0x41, 0xb7, 0x61, 0x4d, 0x7d, 0x3f, 0x4c, 0xc4, 0x56, 0x4d, 0x8e, 0x9a, 0xd0,
	0xfa, 0x14, 0x56, 0x0b, 0x5f, 0x19, 0xda, 0x8d, 0xad, 0xe9, 0x96, 0x7c, 0x24, 0xa0, 0x07, 0x0a,
	0xa9, 0xb7, 0xa8, 0xe4, 0xf4, 0x58, 0xf7, 0x43, 0x11, 0x02, 0xef, 0xc3, 0x77, 0x67, 0x87, 0xc0,
	0x25, 0x87, 0xd0, 0x6d, 0x0b, 0x85, 0xb7, 0xa1, 0x35, 0xaf, 0x42, 0xf3, 0x77, 0x25, 0xa8, 0x98,
	0xd7, 0x05, 0x7a, 0x04, 0xb5, 0x61, 0xc4, 0x98, 0x27, 0x6e, 0x57, 0x92, 0x71, 0x5d, 0x9e, 0x66,
	0x3f, 0x76, 0xdc, 0xaa, 0x80, 0xbf, 0x54, 0x68, 0xd4, 0x87, 0xfa, 0x10, 0x0f, 0xfc, 0x82, 0x42,
	0xe9, 0x32, 0x85, 0x75, 0x43, 0x31, 0x2a, 0x8f, 0xa0, 0x76, 0x12, 0xc5, 0x71, 0xae, 0xb0, 0x70,
	0xa9, 0x0d, 0x02, 0x6e, 0xd8, 0x4f, 0x60, 0x63, 0x98, 0xc5, 0x3c, 0x2a, 0x48, 0x94, 0x2f, 0x93,
	0xa8, 0xe7, 0x1c, 0xad, 0xd3, 0xbd, 0x2f, 0xfc, 0x78, 0x1b, 0x9a, 0xb3, 0xfd, 0x68, 0x9c, 0xd6,
	0xfc, 0x87, 0x05, 0xcb, 0xe6, 0x45, 0xb2, 0x0d, 0x35, 0x76, 0x3a, 0x8c, 0xa3, 0xe4, 0xc4, 0xa3,
	0x84, 0x70, 0x1d, 0x33, 0x55, 0x3d, 0xe6, 0x12, 0xc2, 0x51, 0x13, 0x6a, 0x2c, 0x3b, 0x0c, 0x23,
	0x8a, 0x03, 0x4e, 0xe8, 0xa9, 0xae, 0x46, 0x85, 0x31, 0xd4, 0x81, 0x37, 0xcc, 0xc5, 0xee, 0x15,
	0xc0, 0x0b, 0x12, 0xbc, 0x69, 0x26, 0x0f, 0xce, 0x92, 0xbe, 0x09, 0x65, 0xf1, 0xf1, 0xac, 0x77,
	0x7b, 0xed, 0xdc, 0x6e, 0x0f, 0xe4, 0x87, 0x9c, 0x2b, 0x41, 0xdd, 0x96, 0xd8, 0xdf, 0x0e, 0x6c,
	0xcf, 0xde, 0x9f, 0xde, 0x52, 0xf3, 0xef, 0x4b, 0x50, 0xd3, 0x6d, 0xf9, 0x1c, 0x43, 0xdf, 0x80,
	0xf2, 0xb8, 0xbc, 0xf4, 0x96, 0xbf, 0xee, 0x95, 0x69, 0x69, 0xcb, 0x72, 0xe5, 0xa0, 0x38, 0x3d,
	0xfd, 0x09, 0x25, 0xdf, 0x6a, 0xfa, 0xfc, 0x67, 0x19, 0xf3, 0xf1, 0x6b, 0xea, 0xd1, 0x1d, 0x05,
	0x4a, 0xda, 0x05, 0x08, 0x23, 0x76, 0xa2, 0xb9, 0xea, 0xe4, 0x1f, 0x5c, 0xfe, 0x08, 0x95, 0x64,
	0xa7, 0x1f, 0xb1, 0x13, 0xd9, 0xfa, 0xf8, 0x35, 0x77, 0x25, 0x34, 0x1d, 0xf4, 0x39, 0x54, 0xe5,
	0xab, 0x4f, 0x8b, 0x2a, 0xef, 0xec, 0xce, 0x2b, 0x2a, 0x4b, 0xae, 0x51, 0x05, 0x3f, 0xef, 0x09,
	0x53, 0x29, 0x0f, 0x99, 0x56, 0x5d, 0xbc, 0x9a, 0xa9, 0x2e, 0x0f, 0x59, 0x6e, 0x2a, 0x35, 0x9d,
	0xc6, 0x1f, 0x2c, 0x58, 0xc9, 0x77, 0xf1, 0xff, 0xc4, 0xd2, 0xc2, 0x94, 0x58, 0xda, 0x83, 0x37,
	0xc5, 0x27, 0x7a, 0x12, 0x8e, 0xff, 0x84, 0xa8, 0x0a, 0x20, 0xcf, 0xa6, 0xe2, 0x6e, 0xaa, 0x59,
	0x53, 0x96, 0xd4, 0x5c, 0xf7, 0x5d, 0x11, 0x1f, 0xbb, 0xf0, 0x9d, 0x4b, 0xe3, 0x63, 0xc2, 0xf7,
	0x8d, 0x27, 0x00, 0x63, 0x9f, 0x75, 0xdf, 0x13, 0x32, 0x1d, 0x78, 0x30, 0xa7, 0xcc, 0x98, 0xd9,
	0xf8, 0x85, 0x05, 0x2b, 0xb9, 0x9b, 0x10, 0x3a, 0x1b, 0x73, 0x3a, 0xd4, 0xf6, 0xa1, 0x2a, 0x4f,
	0xe0, 0xca, 0xef, 0x20, 0x79, 0x70, 0xfa, 0x09, 0x73, 0xc5, 0x7d, 0xe6, 0x16, 0x75, 0xbf, 0x2d,
	0x88, 0x2d, 0xb8, 0x3b, 0x1f, 0xb1, 0xf7, 0xa6, 0xfe, 0xfc, 0xf1, 0x58, 0x8a, 0x83, 0xe8, 0x28,
	0xc2, 0x14, 0x2d, 0xfc, 0xa7, 0x67, 0x35, 0x7f, 0x6a, 0xc1, 0x5a, 0xf1, 0x2b, 0x07, 0x7d, 0x00,
	0x4b, 0x12, 0x6a, 0x1e, 0xcf, 0xf7, 0xe6, 0x8c, 0x2a, 0x57, 0xd3, 0xe6, 0xb8, 0x03, 0x8a, 0x2b,
	0xf6, 0xf6, 0x7f, 0xfb, 0x93, 0x3f, 0xfd, 0x75, 0xa9, 0x54, 0x2f, 0xc1, 0xbd, 0x88, 0xa8, 0xd5,
	0x52, 0x4a, 0x5e, 0x9d, 0xce, 0x5e, 0xb8, 0xb7, 0x96, 0x3f, 0xcb, 0x5e, 0x88, 0x94, 0x7e, 0x61,
	0x1d, 0x2e, 0xc9, 0xdc, 0xee, 0xfc, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x94, 0x5b, 0x1f, 0x0b, 0x68,
	0x14, 0x00, 0x00,
}
