From b5c20aa50bb0a0fa18b471015d02644bb50f3d89 Mon Sep 17 00:00:00 2001 From: Mahmood Ali Date: Mon, 14 Jan 2019 18:47:52 -0500 Subject: [PATCH] Track Basic Memory Usage as reported by cgroups Track current memory usage, `memory.usage_in_bytes`, in addition to `memory.max_memory_usage_in_bytes` and friends. This number is closer what Docker reports. Related to https://github.com/hashicorp/nomad/issues/5165 . --- api/tasks.go | 1 + client/allocrunner/taskrunner/task_runner.go | 5 +- client/logmon/proto/logmon.pb.go | 12 +- client/structs/structs.go | 2 + command/alloc_status.go | 2 + .../docker/docklog/proto/docker_logger.pb.go | 12 +- drivers/docker/driver.go | 2 +- drivers/docker/stats.go | 1 + drivers/docker/stats_test.go | 2 + drivers/shared/executor/executor_linux.go | 3 +- plugins/base/proto/base.pb.go | 22 +- plugins/device/proto/device.pb.go | 32 +- plugins/drivers/proto/driver.pb.go | 496 +++++++++--------- plugins/drivers/proto/driver.proto | 2 + plugins/drivers/utils.go | 6 + plugins/shared/hclspec/hcl_spec.pb.go | 26 +- plugins/shared/structs/proto/attribute.pb.go | 6 +- .../structs/proto/recoverable_error.pb.go | 6 +- plugins/shared/structs/proto/stats.pb.go | 8 +- 19 files changed, 338 insertions(+), 308 deletions(-) diff --git a/api/tasks.go b/api/tasks.go index 82d9e7da1a4f..9b01f862b4c2 100644 --- a/api/tasks.go +++ b/api/tasks.go @@ -16,6 +16,7 @@ type MemoryStats struct { RSS uint64 Cache uint64 Swap uint64 + Usage uint64 MaxUsage uint64 KernelUsage uint64 KernelMaxUsage uint64 diff --git a/client/allocrunner/taskrunner/task_runner.go b/client/allocrunner/taskrunner/task_runner.go index 4562c8f5c729..0906362b713e 100644 --- a/client/allocrunner/taskrunner/task_runner.go +++ b/client/allocrunner/taskrunner/task_runner.go @@ -1114,14 +1114,14 @@ func (tr *TaskRunner) UpdateStats(ru *cstructs.TaskResourceUsage) { //TODO Remove Backwardscompat or use tr.Alloc()? func (tr *TaskRunner) setGaugeForMemory(ru *cstructs.TaskResourceUsage) { if !tr.clientConfig.DisableTaggedMetrics { - metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "rss"}, - float32(ru.ResourceUsage.MemoryStats.RSS), tr.baseLabels) metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "rss"}, float32(ru.ResourceUsage.MemoryStats.RSS), tr.baseLabels) metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "cache"}, float32(ru.ResourceUsage.MemoryStats.Cache), tr.baseLabels) metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "swap"}, float32(ru.ResourceUsage.MemoryStats.Swap), tr.baseLabels) + metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "usage"}, + float32(ru.ResourceUsage.MemoryStats.Usage), tr.baseLabels) metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "max_usage"}, float32(ru.ResourceUsage.MemoryStats.MaxUsage), tr.baseLabels) metrics.SetGaugeWithLabels([]string{"client", "allocs", "memory", "kernel_usage"}, @@ -1134,6 +1134,7 @@ func (tr *TaskRunner) setGaugeForMemory(ru *cstructs.TaskResourceUsage) { metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "rss"}, float32(ru.ResourceUsage.MemoryStats.RSS)) metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "cache"}, float32(ru.ResourceUsage.MemoryStats.Cache)) metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "swap"}, float32(ru.ResourceUsage.MemoryStats.Swap)) + metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "usage"}, float32(ru.ResourceUsage.MemoryStats.Usage)) metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "max_usage"}, float32(ru.ResourceUsage.MemoryStats.MaxUsage)) metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "kernel_usage"}, float32(ru.ResourceUsage.MemoryStats.KernelUsage)) metrics.SetGauge([]string{"client", "allocs", tr.alloc.Job.Name, tr.alloc.TaskGroup, tr.allocID, tr.taskName, "memory", "kernel_max_usage"}, float32(ru.ResourceUsage.MemoryStats.KernelMaxUsage)) diff --git a/client/logmon/proto/logmon.pb.go b/client/logmon/proto/logmon.pb.go index ac1539b55212..ce2d44d53757 100644 --- a/client/logmon/proto/logmon.pb.go +++ b/client/logmon/proto/logmon.pb.go @@ -40,7 +40,7 @@ func (m *StartRequest) Reset() { *m = StartRequest{} } func (m *StartRequest) String() string { return proto.CompactTextString(m) } func (*StartRequest) ProtoMessage() {} func (*StartRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_logmon_6dbff459851a9ae9, []int{0} + return fileDescriptor_logmon_c8f5fe5f286cd193, []int{0} } func (m *StartRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartRequest.Unmarshal(m, b) @@ -119,7 +119,7 @@ func (m *StartResponse) Reset() { *m = StartResponse{} } func (m *StartResponse) String() string { return proto.CompactTextString(m) } func (*StartResponse) ProtoMessage() {} func (*StartResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_logmon_6dbff459851a9ae9, []int{1} + return fileDescriptor_logmon_c8f5fe5f286cd193, []int{1} } func (m *StartResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartResponse.Unmarshal(m, b) @@ -149,7 +149,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} } func (m *StopRequest) String() string { return proto.CompactTextString(m) } func (*StopRequest) ProtoMessage() {} func (*StopRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_logmon_6dbff459851a9ae9, []int{2} + return fileDescriptor_logmon_c8f5fe5f286cd193, []int{2} } func (m *StopRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopRequest.Unmarshal(m, b) @@ -179,7 +179,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} } func (m *StopResponse) String() string { return proto.CompactTextString(m) } func (*StopResponse) ProtoMessage() {} func (*StopResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_logmon_6dbff459851a9ae9, []int{3} + return fileDescriptor_logmon_c8f5fe5f286cd193, []int{3} } func (m *StopResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopResponse.Unmarshal(m, b) @@ -312,10 +312,10 @@ var _LogMon_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("client/logmon/proto/logmon.proto", fileDescriptor_logmon_6dbff459851a9ae9) + proto.RegisterFile("client/logmon/proto/logmon.proto", fileDescriptor_logmon_c8f5fe5f286cd193) } -var fileDescriptor_logmon_6dbff459851a9ae9 = []byte{ +var fileDescriptor_logmon_c8f5fe5f286cd193 = []byte{ // 320 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x90, 0x31, 0x6f, 0xc2, 0x30, 0x10, 0x85, 0x1b, 0x0a, 0xa1, 0x1c, 0x0d, 0x45, 0x5e, 0x1a, 0xd1, 0xa1, 0x28, 0x1d, 0xca, 0x14, diff --git a/client/structs/structs.go b/client/structs/structs.go index f57c1d67c2f4..35ac598053ca 100644 --- a/client/structs/structs.go +++ b/client/structs/structs.go @@ -168,6 +168,7 @@ type MemoryStats struct { RSS uint64 Cache uint64 Swap uint64 + Usage uint64 MaxUsage uint64 KernelUsage uint64 KernelMaxUsage uint64 @@ -184,6 +185,7 @@ func (ms *MemoryStats) Add(other *MemoryStats) { ms.RSS += other.RSS ms.Cache += other.Cache ms.Swap += other.Swap + ms.Usage += other.Usage ms.MaxUsage += other.MaxUsage ms.KernelUsage += other.KernelUsage ms.KernelMaxUsage += other.KernelMaxUsage diff --git a/command/alloc_status.go b/command/alloc_status.go index bc51b6bbbc4d..44ae2bb0a10f 100644 --- a/command/alloc_status.go +++ b/command/alloc_status.go @@ -557,6 +557,8 @@ func (c *AllocStatusCommand) outputVerboseResourceUsage(task string, resourceUsa measuredStats = append(measuredStats, humanize.IBytes(memoryStats.Cache)) case "Swap": measuredStats = append(measuredStats, humanize.IBytes(memoryStats.Swap)) + case "Usage": + measuredStats = append(measuredStats, humanize.IBytes(memoryStats.Usage)) case "Max Usage": measuredStats = append(measuredStats, humanize.IBytes(memoryStats.MaxUsage)) case "Kernel Usage": diff --git a/drivers/docker/docklog/proto/docker_logger.pb.go b/drivers/docker/docklog/proto/docker_logger.pb.go index d6d2e0da6f37..464664b906f8 100644 --- a/drivers/docker/docklog/proto/docker_logger.pb.go +++ b/drivers/docker/docklog/proto/docker_logger.pb.go @@ -40,7 +40,7 @@ func (m *StartRequest) Reset() { *m = StartRequest{} } func (m *StartRequest) String() string { return proto.CompactTextString(m) } func (*StartRequest) ProtoMessage() {} func (*StartRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_docker_logger_0aa5a411831bd10e, []int{0} + return fileDescriptor_docker_logger_550e35425edc00c0, []int{0} } func (m *StartRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartRequest.Unmarshal(m, b) @@ -119,7 +119,7 @@ func (m *StartResponse) Reset() { *m = StartResponse{} } func (m *StartResponse) String() string { return proto.CompactTextString(m) } func (*StartResponse) ProtoMessage() {} func (*StartResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_docker_logger_0aa5a411831bd10e, []int{1} + return fileDescriptor_docker_logger_550e35425edc00c0, []int{1} } func (m *StartResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartResponse.Unmarshal(m, b) @@ -149,7 +149,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} } func (m *StopRequest) String() string { return proto.CompactTextString(m) } func (*StopRequest) ProtoMessage() {} func (*StopRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_docker_logger_0aa5a411831bd10e, []int{2} + return fileDescriptor_docker_logger_550e35425edc00c0, []int{2} } func (m *StopRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopRequest.Unmarshal(m, b) @@ -179,7 +179,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} } func (m *StopResponse) String() string { return proto.CompactTextString(m) } func (*StopResponse) ProtoMessage() {} func (*StopResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_docker_logger_0aa5a411831bd10e, []int{3} + return fileDescriptor_docker_logger_550e35425edc00c0, []int{3} } func (m *StopResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopResponse.Unmarshal(m, b) @@ -312,10 +312,10 @@ var _DockerLogger_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("drivers/docker/docklog/proto/docker_logger.proto", fileDescriptor_docker_logger_0aa5a411831bd10e) + proto.RegisterFile("drivers/docker/docklog/proto/docker_logger.proto", fileDescriptor_docker_logger_550e35425edc00c0) } -var fileDescriptor_docker_logger_0aa5a411831bd10e = []byte{ +var fileDescriptor_docker_logger_550e35425edc00c0 = []byte{ // 328 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x50, 0xb1, 0x4e, 0xeb, 0x40, 0x10, 0x7c, 0xce, 0x8b, 0x9d, 0x70, 0x49, 0x40, 0x3a, 0x09, 0x61, 0xd2, 0x00, 0xae, 0x28, 0x90, diff --git a/drivers/docker/driver.go b/drivers/docker/driver.go index b46190a8f337..8a610c538a52 100644 --- a/drivers/docker/driver.go +++ b/drivers/docker/driver.go @@ -40,7 +40,7 @@ var ( waitClient *docker.Client // The statistics the Docker driver exposes - DockerMeasuredMemStats = []string{"RSS", "Cache", "Swap", "Max Usage"} + DockerMeasuredMemStats = []string{"RSS", "Cache", "Swap", "Usage", "Max Usage"} DockerMeasuredCpuStats = []string{"Throttled Periods", "Throttled Time", "Percent"} // recoverableErrTimeouts returns a recoverable error if the error was due diff --git a/drivers/docker/stats.go b/drivers/docker/stats.go index 71833fc61958..c0a208a9bce1 100644 --- a/drivers/docker/stats.go +++ b/drivers/docker/stats.go @@ -134,6 +134,7 @@ func dockerStatsToTaskResourceUsage(s *docker.Stats) *cstructs.TaskResourceUsage RSS: s.MemoryStats.Stats.Rss, Cache: s.MemoryStats.Stats.Cache, Swap: s.MemoryStats.Stats.Swap, + Usage: s.MemoryStats.Usage, MaxUsage: s.MemoryStats.MaxUsage, Measured: DockerMeasuredMemStats, } diff --git a/drivers/docker/stats_test.go b/drivers/docker/stats_test.go index e61e754ce003..66cd42306e13 100644 --- a/drivers/docker/stats_test.go +++ b/drivers/docker/stats_test.go @@ -23,6 +23,7 @@ func TestDriver_DockerStatsCollector(t *testing.T) { stats.MemoryStats.Stats.Rss = 6537216 stats.MemoryStats.Stats.Cache = 1234 stats.MemoryStats.Stats.Swap = 0 + stats.MemoryStats.Usage = 5651904 stats.MemoryStats.MaxUsage = 6651904 go dockerStatsCollector(dst, src, time.Second) @@ -38,6 +39,7 @@ func TestDriver_DockerStatsCollector(t *testing.T) { require.Equal(stats.MemoryStats.Stats.Rss, ru.ResourceUsage.MemoryStats.RSS) require.Equal(stats.MemoryStats.Stats.Cache, ru.ResourceUsage.MemoryStats.Cache) require.Equal(stats.MemoryStats.Stats.Swap, ru.ResourceUsage.MemoryStats.Swap) + require.Equal(stats.MemoryStats.Usage, ru.ResourceUsage.MemoryStats.Usage) require.Equal(stats.MemoryStats.MaxUsage, ru.ResourceUsage.MemoryStats.MaxUsage) require.Equal(stats.CPUStats.ThrottlingData.ThrottledPeriods, ru.ResourceUsage.CpuStats.ThrottledPeriods) require.Equal(stats.CPUStats.ThrottlingData.ThrottledTime, ru.ResourceUsage.CpuStats.ThrottledTime) diff --git a/drivers/shared/executor/executor_linux.go b/drivers/shared/executor/executor_linux.go index 11953567090c..050570902491 100644 --- a/drivers/shared/executor/executor_linux.go +++ b/drivers/shared/executor/executor_linux.go @@ -39,7 +39,7 @@ const ( var ( // ExecutorCgroupMeasuredMemStats is the list of memory stats captured by the executor - ExecutorCgroupMeasuredMemStats = []string{"RSS", "Cache", "Swap", "Max Usage", "Kernel Usage", "Kernel Max Usage"} + ExecutorCgroupMeasuredMemStats = []string{"RSS", "Cache", "Swap", "Usage", "Max Usage", "Kernel Usage", "Kernel Max Usage"} // ExecutorCgroupMeasuredCpuStats is the list of CPU stats captures by the executor ExecutorCgroupMeasuredCpuStats = []string{"System Mode", "User Mode", "Throttled Periods", "Throttled Time", "Percent"} @@ -400,6 +400,7 @@ func (l *LibcontainerExecutor) handleStats(ch chan *cstructs.TaskResourceUsage, RSS: rss, Cache: cache, Swap: swap.Usage, + Usage: stats.MemoryStats.Usage.Usage, MaxUsage: maxUsage, KernelUsage: stats.MemoryStats.KernelUsage.Usage, KernelMaxUsage: stats.MemoryStats.KernelUsage.MaxUsage, diff --git a/plugins/base/proto/base.pb.go b/plugins/base/proto/base.pb.go index 88ce710013fa..4be310ba5d29 100644 --- a/plugins/base/proto/base.pb.go +++ b/plugins/base/proto/base.pb.go @@ -48,7 +48,7 @@ func (x PluginType) String() string { return proto.EnumName(PluginType_name, int32(x)) } func (PluginType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{0} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{0} } // PluginInfoRequest is used to request the plugins basic information. @@ -62,7 +62,7 @@ func (m *PluginInfoRequest) Reset() { *m = PluginInfoRequest{} } func (m *PluginInfoRequest) String() string { return proto.CompactTextString(m) } func (*PluginInfoRequest) ProtoMessage() {} func (*PluginInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{0} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{0} } func (m *PluginInfoRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PluginInfoRequest.Unmarshal(m, b) @@ -104,7 +104,7 @@ func (m *PluginInfoResponse) Reset() { *m = PluginInfoResponse{} } func (m *PluginInfoResponse) String() string { return proto.CompactTextString(m) } func (*PluginInfoResponse) ProtoMessage() {} func (*PluginInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{1} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{1} } func (m *PluginInfoResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PluginInfoResponse.Unmarshal(m, b) @@ -163,7 +163,7 @@ func (m *ConfigSchemaRequest) Reset() { *m = ConfigSchemaRequest{} } func (m *ConfigSchemaRequest) String() string { return proto.CompactTextString(m) } func (*ConfigSchemaRequest) ProtoMessage() {} func (*ConfigSchemaRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{2} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{2} } func (m *ConfigSchemaRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigSchemaRequest.Unmarshal(m, b) @@ -196,7 +196,7 @@ func (m *ConfigSchemaResponse) Reset() { *m = ConfigSchemaResponse{} } func (m *ConfigSchemaResponse) String() string { return proto.CompactTextString(m) } func (*ConfigSchemaResponse) ProtoMessage() {} func (*ConfigSchemaResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{3} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{3} } func (m *ConfigSchemaResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfigSchemaResponse.Unmarshal(m, b) @@ -240,7 +240,7 @@ func (m *SetConfigRequest) Reset() { *m = SetConfigRequest{} } func (m *SetConfigRequest) String() string { return proto.CompactTextString(m) } func (*SetConfigRequest) ProtoMessage() {} func (*SetConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{4} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{4} } func (m *SetConfigRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConfigRequest.Unmarshal(m, b) @@ -294,7 +294,7 @@ func (m *NomadConfig) Reset() { *m = NomadConfig{} } func (m *NomadConfig) String() string { return proto.CompactTextString(m) } func (*NomadConfig) ProtoMessage() {} func (*NomadConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{5} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{5} } func (m *NomadConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NomadConfig.Unmarshal(m, b) @@ -339,7 +339,7 @@ func (m *NomadDriverConfig) Reset() { *m = NomadDriverConfig{} } func (m *NomadDriverConfig) String() string { return proto.CompactTextString(m) } func (*NomadDriverConfig) ProtoMessage() {} func (*NomadDriverConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{6} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{6} } func (m *NomadDriverConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NomadDriverConfig.Unmarshal(m, b) @@ -384,7 +384,7 @@ func (m *SetConfigResponse) Reset() { *m = SetConfigResponse{} } func (m *SetConfigResponse) String() string { return proto.CompactTextString(m) } func (*SetConfigResponse) ProtoMessage() {} func (*SetConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_base_f2480776612a8fbd, []int{7} + return fileDescriptor_base_6a1a5ff99a0b9e5d, []int{7} } func (m *SetConfigResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConfigResponse.Unmarshal(m, b) @@ -560,9 +560,9 @@ var _BasePlugin_serviceDesc = grpc.ServiceDesc{ Metadata: "plugins/base/proto/base.proto", } -func init() { proto.RegisterFile("plugins/base/proto/base.proto", fileDescriptor_base_f2480776612a8fbd) } +func init() { proto.RegisterFile("plugins/base/proto/base.proto", fileDescriptor_base_6a1a5ff99a0b9e5d) } -var fileDescriptor_base_f2480776612a8fbd = []byte{ +var fileDescriptor_base_6a1a5ff99a0b9e5d = []byte{ // 535 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x41, 0x8f, 0x12, 0x4d, 0x10, 0xdd, 0x01, 0x3e, 0x36, 0x14, 0xb0, 0x81, 0xe6, 0x33, 0x21, 0x24, 0x26, 0x64, 0xa2, 0x09, diff --git a/plugins/device/proto/device.pb.go b/plugins/device/proto/device.pb.go index 9c8ffd71493f..744eff163965 100644 --- a/plugins/device/proto/device.pb.go +++ b/plugins/device/proto/device.pb.go @@ -37,7 +37,7 @@ func (m *FingerprintRequest) Reset() { *m = FingerprintRequest{} } func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) } func (*FingerprintRequest) ProtoMessage() {} func (*FingerprintRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{0} + return fileDescriptor_device_a4d1cccedbd8401c, []int{0} } func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b) @@ -72,7 +72,7 @@ func (m *FingerprintResponse) Reset() { *m = FingerprintResponse{} } func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) } func (*FingerprintResponse) ProtoMessage() {} func (*FingerprintResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{1} + return fileDescriptor_device_a4d1cccedbd8401c, []int{1} } func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b) @@ -121,7 +121,7 @@ func (m *DeviceGroup) Reset() { *m = DeviceGroup{} } func (m *DeviceGroup) String() string { return proto.CompactTextString(m) } func (*DeviceGroup) ProtoMessage() {} func (*DeviceGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{2} + return fileDescriptor_device_a4d1cccedbd8401c, []int{2} } func (m *DeviceGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeviceGroup.Unmarshal(m, b) @@ -198,7 +198,7 @@ func (m *DetectedDevice) Reset() { *m = DetectedDevice{} } func (m *DetectedDevice) String() string { return proto.CompactTextString(m) } func (*DetectedDevice) ProtoMessage() {} func (*DetectedDevice) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{3} + return fileDescriptor_device_a4d1cccedbd8401c, []int{3} } func (m *DetectedDevice) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DetectedDevice.Unmarshal(m, b) @@ -260,7 +260,7 @@ func (m *DeviceLocality) Reset() { *m = DeviceLocality{} } func (m *DeviceLocality) String() string { return proto.CompactTextString(m) } func (*DeviceLocality) ProtoMessage() {} func (*DeviceLocality) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{4} + return fileDescriptor_device_a4d1cccedbd8401c, []int{4} } func (m *DeviceLocality) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeviceLocality.Unmarshal(m, b) @@ -301,7 +301,7 @@ func (m *ReserveRequest) Reset() { *m = ReserveRequest{} } func (m *ReserveRequest) String() string { return proto.CompactTextString(m) } func (*ReserveRequest) ProtoMessage() {} func (*ReserveRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{5} + return fileDescriptor_device_a4d1cccedbd8401c, []int{5} } func (m *ReserveRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReserveRequest.Unmarshal(m, b) @@ -344,7 +344,7 @@ func (m *ReserveResponse) Reset() { *m = ReserveResponse{} } func (m *ReserveResponse) String() string { return proto.CompactTextString(m) } func (*ReserveResponse) ProtoMessage() {} func (*ReserveResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{6} + return fileDescriptor_device_a4d1cccedbd8401c, []int{6} } func (m *ReserveResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReserveResponse.Unmarshal(m, b) @@ -389,7 +389,7 @@ func (m *ContainerReservation) Reset() { *m = ContainerReservation{} } func (m *ContainerReservation) String() string { return proto.CompactTextString(m) } func (*ContainerReservation) ProtoMessage() {} func (*ContainerReservation) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{7} + return fileDescriptor_device_a4d1cccedbd8401c, []int{7} } func (m *ContainerReservation) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ContainerReservation.Unmarshal(m, b) @@ -448,7 +448,7 @@ func (m *Mount) Reset() { *m = Mount{} } func (m *Mount) String() string { return proto.CompactTextString(m) } func (*Mount) ProtoMessage() {} func (*Mount) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{8} + return fileDescriptor_device_a4d1cccedbd8401c, []int{8} } func (m *Mount) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Mount.Unmarshal(m, b) @@ -509,7 +509,7 @@ func (m *DeviceSpec) Reset() { *m = DeviceSpec{} } func (m *DeviceSpec) String() string { return proto.CompactTextString(m) } func (*DeviceSpec) ProtoMessage() {} func (*DeviceSpec) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{9} + return fileDescriptor_device_a4d1cccedbd8401c, []int{9} } func (m *DeviceSpec) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeviceSpec.Unmarshal(m, b) @@ -563,7 +563,7 @@ func (m *StatsRequest) Reset() { *m = StatsRequest{} } func (m *StatsRequest) String() string { return proto.CompactTextString(m) } func (*StatsRequest) ProtoMessage() {} func (*StatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{10} + return fileDescriptor_device_a4d1cccedbd8401c, []int{10} } func (m *StatsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatsRequest.Unmarshal(m, b) @@ -603,7 +603,7 @@ func (m *StatsResponse) Reset() { *m = StatsResponse{} } func (m *StatsResponse) String() string { return proto.CompactTextString(m) } func (*StatsResponse) ProtoMessage() {} func (*StatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{11} + return fileDescriptor_device_a4d1cccedbd8401c, []int{11} } func (m *StatsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatsResponse.Unmarshal(m, b) @@ -647,7 +647,7 @@ func (m *DeviceGroupStats) Reset() { *m = DeviceGroupStats{} } func (m *DeviceGroupStats) String() string { return proto.CompactTextString(m) } func (*DeviceGroupStats) ProtoMessage() {} func (*DeviceGroupStats) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{12} + return fileDescriptor_device_a4d1cccedbd8401c, []int{12} } func (m *DeviceGroupStats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeviceGroupStats.Unmarshal(m, b) @@ -713,7 +713,7 @@ func (m *DeviceStats) Reset() { *m = DeviceStats{} } func (m *DeviceStats) String() string { return proto.CompactTextString(m) } func (*DeviceStats) ProtoMessage() {} func (*DeviceStats) Descriptor() ([]byte, []int) { - return fileDescriptor_device_c21dc006d6a19ae5, []int{13} + return fileDescriptor_device_a4d1cccedbd8401c, []int{13} } func (m *DeviceStats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeviceStats.Unmarshal(m, b) @@ -984,10 +984,10 @@ var _DevicePlugin_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("plugins/device/proto/device.proto", fileDescriptor_device_c21dc006d6a19ae5) + proto.RegisterFile("plugins/device/proto/device.proto", fileDescriptor_device_a4d1cccedbd8401c) } -var fileDescriptor_device_c21dc006d6a19ae5 = []byte{ +var fileDescriptor_device_a4d1cccedbd8401c = []byte{ // 979 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xef, 0x8e, 0x1b, 0x35, 0x10, 0x27, 0xb9, 0xcb, 0x25, 0x99, 0xdc, 0x5d, 0x8b, 0x7b, 0x42, 0x61, 0x81, 0xf6, 0x58, 0x09, diff --git a/plugins/drivers/proto/driver.pb.go b/plugins/drivers/proto/driver.pb.go index dc3708c1cfdb..f8aaec484c7b 100644 --- a/plugins/drivers/proto/driver.pb.go +++ b/plugins/drivers/proto/driver.pb.go @@ -50,7 +50,7 @@ func (x TaskState) String() string { return proto.EnumName(TaskState_name, int32(x)) } func (TaskState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{0} + return fileDescriptor_driver_c4182101cb9dea81, []int{0} } type FingerprintResponse_HealthState int32 @@ -76,7 +76,7 @@ func (x FingerprintResponse_HealthState) String() string { return proto.EnumName(FingerprintResponse_HealthState_name, int32(x)) } func (FingerprintResponse_HealthState) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{5, 0} + return fileDescriptor_driver_c4182101cb9dea81, []int{5, 0} } type StartTaskResponse_Result int32 @@ -102,7 +102,7 @@ func (x StartTaskResponse_Result) String() string { return proto.EnumName(StartTaskResponse_Result_name, int32(x)) } func (StartTaskResponse_Result) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{9, 0} + return fileDescriptor_driver_c4182101cb9dea81, []int{9, 0} } type DriverCapabilities_FSIsolation int32 @@ -128,7 +128,7 @@ func (x DriverCapabilities_FSIsolation) String() string { return proto.EnumName(DriverCapabilities_FSIsolation_name, int32(x)) } func (DriverCapabilities_FSIsolation) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{25, 0} + return fileDescriptor_driver_c4182101cb9dea81, []int{25, 0} } type CPUUsage_Fields int32 @@ -163,7 +163,7 @@ func (x CPUUsage_Fields) String() string { return proto.EnumName(CPUUsage_Fields_name, int32(x)) } func (CPUUsage_Fields) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{43, 0} + return fileDescriptor_driver_c4182101cb9dea81, []int{43, 0} } type MemoryUsage_Fields int32 @@ -174,6 +174,7 @@ const ( MemoryUsage_MAX_USAGE MemoryUsage_Fields = 2 MemoryUsage_KERNEL_USAGE MemoryUsage_Fields = 3 MemoryUsage_KERNEL_MAX_USAGE MemoryUsage_Fields = 4 + MemoryUsage_USAGE MemoryUsage_Fields = 5 ) var MemoryUsage_Fields_name = map[int32]string{ @@ -182,6 +183,7 @@ var MemoryUsage_Fields_name = map[int32]string{ 2: "MAX_USAGE", 3: "KERNEL_USAGE", 4: "KERNEL_MAX_USAGE", + 5: "USAGE", } var MemoryUsage_Fields_value = map[string]int32{ "RSS": 0, @@ -189,13 +191,14 @@ var MemoryUsage_Fields_value = map[string]int32{ "MAX_USAGE": 2, "KERNEL_USAGE": 3, "KERNEL_MAX_USAGE": 4, + "USAGE": 5, } func (x MemoryUsage_Fields) String() string { return proto.EnumName(MemoryUsage_Fields_name, int32(x)) } func (MemoryUsage_Fields) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{44, 0} + return fileDescriptor_driver_c4182101cb9dea81, []int{44, 0} } type TaskConfigSchemaRequest struct { @@ -208,7 +211,7 @@ func (m *TaskConfigSchemaRequest) Reset() { *m = TaskConfigSchemaRequest func (m *TaskConfigSchemaRequest) String() string { return proto.CompactTextString(m) } func (*TaskConfigSchemaRequest) ProtoMessage() {} func (*TaskConfigSchemaRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{0} + return fileDescriptor_driver_c4182101cb9dea81, []int{0} } func (m *TaskConfigSchemaRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskConfigSchemaRequest.Unmarshal(m, b) @@ -240,7 +243,7 @@ func (m *TaskConfigSchemaResponse) Reset() { *m = TaskConfigSchemaRespon func (m *TaskConfigSchemaResponse) String() string { return proto.CompactTextString(m) } func (*TaskConfigSchemaResponse) ProtoMessage() {} func (*TaskConfigSchemaResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{1} + return fileDescriptor_driver_c4182101cb9dea81, []int{1} } func (m *TaskConfigSchemaResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskConfigSchemaResponse.Unmarshal(m, b) @@ -277,7 +280,7 @@ func (m *CapabilitiesRequest) Reset() { *m = CapabilitiesRequest{} } func (m *CapabilitiesRequest) String() string { return proto.CompactTextString(m) } func (*CapabilitiesRequest) ProtoMessage() {} func (*CapabilitiesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{2} + return fileDescriptor_driver_c4182101cb9dea81, []int{2} } func (m *CapabilitiesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CapabilitiesRequest.Unmarshal(m, b) @@ -312,7 +315,7 @@ func (m *CapabilitiesResponse) Reset() { *m = CapabilitiesResponse{} } func (m *CapabilitiesResponse) String() string { return proto.CompactTextString(m) } func (*CapabilitiesResponse) ProtoMessage() {} func (*CapabilitiesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{3} + return fileDescriptor_driver_c4182101cb9dea81, []int{3} } func (m *CapabilitiesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CapabilitiesResponse.Unmarshal(m, b) @@ -349,7 +352,7 @@ func (m *FingerprintRequest) Reset() { *m = FingerprintRequest{} } func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) } func (*FingerprintRequest) ProtoMessage() {} func (*FingerprintRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{4} + return fileDescriptor_driver_c4182101cb9dea81, []int{4} } func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b) @@ -392,7 +395,7 @@ func (m *FingerprintResponse) Reset() { *m = FingerprintResponse{} } func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) } func (*FingerprintResponse) ProtoMessage() {} func (*FingerprintResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{5} + return fileDescriptor_driver_c4182101cb9dea81, []int{5} } func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b) @@ -447,7 +450,7 @@ func (m *RecoverTaskRequest) Reset() { *m = RecoverTaskRequest{} } func (m *RecoverTaskRequest) String() string { return proto.CompactTextString(m) } func (*RecoverTaskRequest) ProtoMessage() {} func (*RecoverTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{6} + return fileDescriptor_driver_c4182101cb9dea81, []int{6} } func (m *RecoverTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RecoverTaskRequest.Unmarshal(m, b) @@ -491,7 +494,7 @@ func (m *RecoverTaskResponse) Reset() { *m = RecoverTaskResponse{} } func (m *RecoverTaskResponse) String() string { return proto.CompactTextString(m) } func (*RecoverTaskResponse) ProtoMessage() {} func (*RecoverTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{7} + return fileDescriptor_driver_c4182101cb9dea81, []int{7} } func (m *RecoverTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RecoverTaskResponse.Unmarshal(m, b) @@ -523,7 +526,7 @@ func (m *StartTaskRequest) Reset() { *m = StartTaskRequest{} } func (m *StartTaskRequest) String() string { return proto.CompactTextString(m) } func (*StartTaskRequest) ProtoMessage() {} func (*StartTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{8} + return fileDescriptor_driver_c4182101cb9dea81, []int{8} } func (m *StartTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartTaskRequest.Unmarshal(m, b) @@ -577,7 +580,7 @@ func (m *StartTaskResponse) Reset() { *m = StartTaskResponse{} } func (m *StartTaskResponse) String() string { return proto.CompactTextString(m) } func (*StartTaskResponse) ProtoMessage() {} func (*StartTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{9} + return fileDescriptor_driver_c4182101cb9dea81, []int{9} } func (m *StartTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartTaskResponse.Unmarshal(m, b) @@ -637,7 +640,7 @@ func (m *WaitTaskRequest) Reset() { *m = WaitTaskRequest{} } func (m *WaitTaskRequest) String() string { return proto.CompactTextString(m) } func (*WaitTaskRequest) ProtoMessage() {} func (*WaitTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{10} + return fileDescriptor_driver_c4182101cb9dea81, []int{10} } func (m *WaitTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WaitTaskRequest.Unmarshal(m, b) @@ -678,7 +681,7 @@ func (m *WaitTaskResponse) Reset() { *m = WaitTaskResponse{} } func (m *WaitTaskResponse) String() string { return proto.CompactTextString(m) } func (*WaitTaskResponse) ProtoMessage() {} func (*WaitTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{11} + return fileDescriptor_driver_c4182101cb9dea81, []int{11} } func (m *WaitTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WaitTaskResponse.Unmarshal(m, b) @@ -730,7 +733,7 @@ func (m *StopTaskRequest) Reset() { *m = StopTaskRequest{} } func (m *StopTaskRequest) String() string { return proto.CompactTextString(m) } func (*StopTaskRequest) ProtoMessage() {} func (*StopTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{12} + return fileDescriptor_driver_c4182101cb9dea81, []int{12} } func (m *StopTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopTaskRequest.Unmarshal(m, b) @@ -781,7 +784,7 @@ func (m *StopTaskResponse) Reset() { *m = StopTaskResponse{} } func (m *StopTaskResponse) String() string { return proto.CompactTextString(m) } func (*StopTaskResponse) ProtoMessage() {} func (*StopTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{13} + return fileDescriptor_driver_c4182101cb9dea81, []int{13} } func (m *StopTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopTaskResponse.Unmarshal(m, b) @@ -815,7 +818,7 @@ func (m *DestroyTaskRequest) Reset() { *m = DestroyTaskRequest{} } func (m *DestroyTaskRequest) String() string { return proto.CompactTextString(m) } func (*DestroyTaskRequest) ProtoMessage() {} func (*DestroyTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{14} + return fileDescriptor_driver_c4182101cb9dea81, []int{14} } func (m *DestroyTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DestroyTaskRequest.Unmarshal(m, b) @@ -859,7 +862,7 @@ func (m *DestroyTaskResponse) Reset() { *m = DestroyTaskResponse{} } func (m *DestroyTaskResponse) String() string { return proto.CompactTextString(m) } func (*DestroyTaskResponse) ProtoMessage() {} func (*DestroyTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{15} + return fileDescriptor_driver_c4182101cb9dea81, []int{15} } func (m *DestroyTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DestroyTaskResponse.Unmarshal(m, b) @@ -891,7 +894,7 @@ func (m *InspectTaskRequest) Reset() { *m = InspectTaskRequest{} } func (m *InspectTaskRequest) String() string { return proto.CompactTextString(m) } func (*InspectTaskRequest) ProtoMessage() {} func (*InspectTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{16} + return fileDescriptor_driver_c4182101cb9dea81, []int{16} } func (m *InspectTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InspectTaskRequest.Unmarshal(m, b) @@ -934,7 +937,7 @@ func (m *InspectTaskResponse) Reset() { *m = InspectTaskResponse{} } func (m *InspectTaskResponse) String() string { return proto.CompactTextString(m) } func (*InspectTaskResponse) ProtoMessage() {} func (*InspectTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{17} + return fileDescriptor_driver_c4182101cb9dea81, []int{17} } func (m *InspectTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InspectTaskResponse.Unmarshal(m, b) @@ -989,7 +992,7 @@ func (m *TaskStatsRequest) Reset() { *m = TaskStatsRequest{} } func (m *TaskStatsRequest) String() string { return proto.CompactTextString(m) } func (*TaskStatsRequest) ProtoMessage() {} func (*TaskStatsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{18} + return fileDescriptor_driver_c4182101cb9dea81, []int{18} } func (m *TaskStatsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskStatsRequest.Unmarshal(m, b) @@ -1035,7 +1038,7 @@ func (m *TaskStatsResponse) Reset() { *m = TaskStatsResponse{} } func (m *TaskStatsResponse) String() string { return proto.CompactTextString(m) } func (*TaskStatsResponse) ProtoMessage() {} func (*TaskStatsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{19} + return fileDescriptor_driver_c4182101cb9dea81, []int{19} } func (m *TaskStatsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskStatsResponse.Unmarshal(m, b) @@ -1072,7 +1075,7 @@ func (m *TaskEventsRequest) Reset() { *m = TaskEventsRequest{} } func (m *TaskEventsRequest) String() string { return proto.CompactTextString(m) } func (*TaskEventsRequest) ProtoMessage() {} func (*TaskEventsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{20} + return fileDescriptor_driver_c4182101cb9dea81, []int{20} } func (m *TaskEventsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskEventsRequest.Unmarshal(m, b) @@ -1106,7 +1109,7 @@ func (m *SignalTaskRequest) Reset() { *m = SignalTaskRequest{} } func (m *SignalTaskRequest) String() string { return proto.CompactTextString(m) } func (*SignalTaskRequest) ProtoMessage() {} func (*SignalTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{21} + return fileDescriptor_driver_c4182101cb9dea81, []int{21} } func (m *SignalTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalTaskRequest.Unmarshal(m, b) @@ -1150,7 +1153,7 @@ func (m *SignalTaskResponse) Reset() { *m = SignalTaskResponse{} } func (m *SignalTaskResponse) String() string { return proto.CompactTextString(m) } func (*SignalTaskResponse) ProtoMessage() {} func (*SignalTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{22} + return fileDescriptor_driver_c4182101cb9dea81, []int{22} } func (m *SignalTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalTaskResponse.Unmarshal(m, b) @@ -1187,7 +1190,7 @@ func (m *ExecTaskRequest) Reset() { *m = ExecTaskRequest{} } func (m *ExecTaskRequest) String() string { return proto.CompactTextString(m) } func (*ExecTaskRequest) ProtoMessage() {} func (*ExecTaskRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{23} + return fileDescriptor_driver_c4182101cb9dea81, []int{23} } func (m *ExecTaskRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecTaskRequest.Unmarshal(m, b) @@ -1244,7 +1247,7 @@ func (m *ExecTaskResponse) Reset() { *m = ExecTaskResponse{} } func (m *ExecTaskResponse) String() string { return proto.CompactTextString(m) } func (*ExecTaskResponse) ProtoMessage() {} func (*ExecTaskResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{24} + return fileDescriptor_driver_c4182101cb9dea81, []int{24} } func (m *ExecTaskResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExecTaskResponse.Unmarshal(m, b) @@ -1303,7 +1306,7 @@ func (m *DriverCapabilities) Reset() { *m = DriverCapabilities{} } func (m *DriverCapabilities) String() string { return proto.CompactTextString(m) } func (*DriverCapabilities) ProtoMessage() {} func (*DriverCapabilities) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{25} + return fileDescriptor_driver_c4182101cb9dea81, []int{25} } func (m *DriverCapabilities) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DriverCapabilities.Unmarshal(m, b) @@ -1389,7 +1392,7 @@ func (m *TaskConfig) Reset() { *m = TaskConfig{} } func (m *TaskConfig) String() string { return proto.CompactTextString(m) } func (*TaskConfig) ProtoMessage() {} func (*TaskConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{26} + return fileDescriptor_driver_c4182101cb9dea81, []int{26} } func (m *TaskConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskConfig.Unmarshal(m, b) @@ -1528,7 +1531,7 @@ func (m *Resources) Reset() { *m = Resources{} } func (m *Resources) String() string { return proto.CompactTextString(m) } func (*Resources) ProtoMessage() {} func (*Resources) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{27} + return fileDescriptor_driver_c4182101cb9dea81, []int{27} } func (m *Resources) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Resources.Unmarshal(m, b) @@ -1575,7 +1578,7 @@ func (m *AllocatedTaskResources) Reset() { *m = AllocatedTaskResources{} func (m *AllocatedTaskResources) String() string { return proto.CompactTextString(m) } func (*AllocatedTaskResources) ProtoMessage() {} func (*AllocatedTaskResources) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{28} + return fileDescriptor_driver_c4182101cb9dea81, []int{28} } func (m *AllocatedTaskResources) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllocatedTaskResources.Unmarshal(m, b) @@ -1627,7 +1630,7 @@ func (m *AllocatedCpuResources) Reset() { *m = AllocatedCpuResources{} } func (m *AllocatedCpuResources) String() string { return proto.CompactTextString(m) } func (*AllocatedCpuResources) ProtoMessage() {} func (*AllocatedCpuResources) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{29} + return fileDescriptor_driver_c4182101cb9dea81, []int{29} } func (m *AllocatedCpuResources) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllocatedCpuResources.Unmarshal(m, b) @@ -1665,7 +1668,7 @@ func (m *AllocatedMemoryResources) Reset() { *m = AllocatedMemoryResourc func (m *AllocatedMemoryResources) String() string { return proto.CompactTextString(m) } func (*AllocatedMemoryResources) ProtoMessage() {} func (*AllocatedMemoryResources) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{30} + return fileDescriptor_driver_c4182101cb9dea81, []int{30} } func (m *AllocatedMemoryResources) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AllocatedMemoryResources.Unmarshal(m, b) @@ -1708,7 +1711,7 @@ func (m *NetworkResource) Reset() { *m = NetworkResource{} } func (m *NetworkResource) String() string { return proto.CompactTextString(m) } func (*NetworkResource) ProtoMessage() {} func (*NetworkResource) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{31} + return fileDescriptor_driver_c4182101cb9dea81, []int{31} } func (m *NetworkResource) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NetworkResource.Unmarshal(m, b) @@ -1782,7 +1785,7 @@ func (m *NetworkPort) Reset() { *m = NetworkPort{} } func (m *NetworkPort) String() string { return proto.CompactTextString(m) } func (*NetworkPort) ProtoMessage() {} func (*NetworkPort) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{32} + return fileDescriptor_driver_c4182101cb9dea81, []int{32} } func (m *NetworkPort) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NetworkPort.Unmarshal(m, b) @@ -1842,7 +1845,7 @@ func (m *LinuxResources) Reset() { *m = LinuxResources{} } func (m *LinuxResources) String() string { return proto.CompactTextString(m) } func (*LinuxResources) ProtoMessage() {} func (*LinuxResources) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{33} + return fileDescriptor_driver_c4182101cb9dea81, []int{33} } func (m *LinuxResources) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LinuxResources.Unmarshal(m, b) @@ -1934,7 +1937,7 @@ func (m *Mount) Reset() { *m = Mount{} } func (m *Mount) String() string { return proto.CompactTextString(m) } func (*Mount) ProtoMessage() {} func (*Mount) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{34} + return fileDescriptor_driver_c4182101cb9dea81, []int{34} } func (m *Mount) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Mount.Unmarshal(m, b) @@ -1997,7 +2000,7 @@ func (m *Device) Reset() { *m = Device{} } func (m *Device) String() string { return proto.CompactTextString(m) } func (*Device) ProtoMessage() {} func (*Device) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{35} + return fileDescriptor_driver_c4182101cb9dea81, []int{35} } func (m *Device) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Device.Unmarshal(m, b) @@ -2055,7 +2058,7 @@ func (m *TaskHandle) Reset() { *m = TaskHandle{} } func (m *TaskHandle) String() string { return proto.CompactTextString(m) } func (*TaskHandle) ProtoMessage() {} func (*TaskHandle) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{36} + return fileDescriptor_driver_c4182101cb9dea81, []int{36} } func (m *TaskHandle) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskHandle.Unmarshal(m, b) @@ -2115,7 +2118,7 @@ func (m *NetworkOverride) Reset() { *m = NetworkOverride{} } func (m *NetworkOverride) String() string { return proto.CompactTextString(m) } func (*NetworkOverride) ProtoMessage() {} func (*NetworkOverride) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{37} + return fileDescriptor_driver_c4182101cb9dea81, []int{37} } func (m *NetworkOverride) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NetworkOverride.Unmarshal(m, b) @@ -2173,7 +2176,7 @@ func (m *ExitResult) Reset() { *m = ExitResult{} } func (m *ExitResult) String() string { return proto.CompactTextString(m) } func (*ExitResult) ProtoMessage() {} func (*ExitResult) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{38} + return fileDescriptor_driver_c4182101cb9dea81, []int{38} } func (m *ExitResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExitResult.Unmarshal(m, b) @@ -2236,7 +2239,7 @@ func (m *TaskStatus) Reset() { *m = TaskStatus{} } func (m *TaskStatus) String() string { return proto.CompactTextString(m) } func (*TaskStatus) ProtoMessage() {} func (*TaskStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{39} + return fileDescriptor_driver_c4182101cb9dea81, []int{39} } func (m *TaskStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskStatus.Unmarshal(m, b) @@ -2311,7 +2314,7 @@ func (m *TaskDriverStatus) Reset() { *m = TaskDriverStatus{} } func (m *TaskDriverStatus) String() string { return proto.CompactTextString(m) } func (*TaskDriverStatus) ProtoMessage() {} func (*TaskDriverStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{40} + return fileDescriptor_driver_c4182101cb9dea81, []int{40} } func (m *TaskDriverStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskDriverStatus.Unmarshal(m, b) @@ -2356,7 +2359,7 @@ func (m *TaskStats) Reset() { *m = TaskStats{} } func (m *TaskStats) String() string { return proto.CompactTextString(m) } func (*TaskStats) ProtoMessage() {} func (*TaskStats) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{41} + return fileDescriptor_driver_c4182101cb9dea81, []int{41} } func (m *TaskStats) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskStats.Unmarshal(m, b) @@ -2418,7 +2421,7 @@ func (m *TaskResourceUsage) Reset() { *m = TaskResourceUsage{} } func (m *TaskResourceUsage) String() string { return proto.CompactTextString(m) } func (*TaskResourceUsage) ProtoMessage() {} func (*TaskResourceUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{42} + return fileDescriptor_driver_c4182101cb9dea81, []int{42} } func (m *TaskResourceUsage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TaskResourceUsage.Unmarshal(m, b) @@ -2470,7 +2473,7 @@ func (m *CPUUsage) Reset() { *m = CPUUsage{} } func (m *CPUUsage) String() string { return proto.CompactTextString(m) } func (*CPUUsage) ProtoMessage() {} func (*CPUUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{43} + return fileDescriptor_driver_c4182101cb9dea81, []int{43} } func (m *CPUUsage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CPUUsage.Unmarshal(m, b) @@ -2545,6 +2548,7 @@ type MemoryUsage struct { MaxUsage uint64 `protobuf:"varint,3,opt,name=max_usage,json=maxUsage,proto3" json:"max_usage,omitempty"` KernelUsage uint64 `protobuf:"varint,4,opt,name=kernel_usage,json=kernelUsage,proto3" json:"kernel_usage,omitempty"` KernelMaxUsage uint64 `protobuf:"varint,5,opt,name=kernel_max_usage,json=kernelMaxUsage,proto3" json:"kernel_max_usage,omitempty"` + Usage uint64 `protobuf:"varint,7,opt,name=usage,proto3" json:"usage,omitempty"` // MeasuredFields indicates which fields were actually sampled MeasuredFields []MemoryUsage_Fields `protobuf:"varint,6,rep,packed,name=measured_fields,json=measuredFields,proto3,enum=hashicorp.nomad.plugins.drivers.proto.MemoryUsage_Fields" json:"measured_fields,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -2556,7 +2560,7 @@ func (m *MemoryUsage) Reset() { *m = MemoryUsage{} } func (m *MemoryUsage) String() string { return proto.CompactTextString(m) } func (*MemoryUsage) ProtoMessage() {} func (*MemoryUsage) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{44} + return fileDescriptor_driver_c4182101cb9dea81, []int{44} } func (m *MemoryUsage) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemoryUsage.Unmarshal(m, b) @@ -2611,6 +2615,13 @@ func (m *MemoryUsage) GetKernelMaxUsage() uint64 { return 0 } +func (m *MemoryUsage) GetUsage() uint64 { + if m != nil { + return m.Usage + } + return 0 +} + func (m *MemoryUsage) GetMeasuredFields() []MemoryUsage_Fields { if m != nil { return m.MeasuredFields @@ -2640,7 +2651,7 @@ func (m *DriverTaskEvent) Reset() { *m = DriverTaskEvent{} } func (m *DriverTaskEvent) String() string { return proto.CompactTextString(m) } func (*DriverTaskEvent) ProtoMessage() {} func (*DriverTaskEvent) Descriptor() ([]byte, []int) { - return fileDescriptor_driver_5a41b73816b77fc1, []int{45} + return fileDescriptor_driver_c4182101cb9dea81, []int{45} } func (m *DriverTaskEvent) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DriverTaskEvent.Unmarshal(m, b) @@ -3375,194 +3386,195 @@ var _Driver_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("plugins/drivers/proto/driver.proto", fileDescriptor_driver_5a41b73816b77fc1) -} - -var fileDescriptor_driver_5a41b73816b77fc1 = []byte{ - // 2958 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x6f, 0x23, 0xc7, - 0xb1, 0x17, 0x49, 0x91, 0x22, 0x8b, 0x12, 0x35, 0xdb, 0xbb, 0x6b, 0xd3, 0x34, 0xde, 0xf3, 0x7a, - 0x00, 0x3f, 0x08, 0xb6, 0x97, 0xb2, 0x65, 0xbc, 0xfd, 0x7a, 0xfe, 0xa2, 0xa9, 0x59, 0x49, 0x5e, - 0x89, 0xd2, 0x6b, 0x52, 0x58, 0x6f, 0x12, 0x7b, 0x32, 0x9a, 0x69, 0x91, 0xb3, 0xe2, 0x7c, 0xb8, - 0xa7, 0x47, 0x96, 0x10, 0x04, 0x09, 0x1c, 0x20, 0x48, 0x0e, 0x01, 0x72, 0x31, 0x72, 0x4f, 0x8e, - 0xf9, 0x0b, 0x92, 0xc0, 0x97, 0xfc, 0x15, 0x01, 0x72, 0x4a, 0x80, 0x00, 0xb9, 0xe6, 0x3f, 0x08, - 0xfa, 0x63, 0x86, 0x43, 0x49, 0xeb, 0x1d, 0x72, 0x73, 0x22, 0xbb, 0xba, 0xeb, 0xd7, 0x35, 0x55, - 0xd5, 0x55, 0xd5, 0x5d, 0xa0, 0x87, 0xe3, 0x78, 0xe8, 0xfa, 0xd1, 0xba, 0x43, 0xdd, 0x53, 0x42, - 0xa3, 0xf5, 0x90, 0x06, 0x2c, 0x50, 0xa3, 0xb6, 0x18, 0xa0, 0x37, 0x46, 0x56, 0x34, 0x72, 0xed, - 0x80, 0x86, 0x6d, 0x3f, 0xf0, 0x2c, 0xa7, 0xad, 0x78, 0xda, 0x8a, 0x47, 0x2e, 0x6b, 0xfd, 0xf7, - 0x30, 0x08, 0x86, 0x63, 0x22, 0x11, 0x8e, 0xe2, 0xe3, 0x75, 0x27, 0xa6, 0x16, 0x73, 0x03, 0x5f, - 0xcd, 0xbf, 0x76, 0x71, 0x9e, 0xb9, 0x1e, 0x89, 0x98, 0xe5, 0x85, 0x6a, 0xc1, 0xc7, 0x43, 0x97, - 0x8d, 0xe2, 0xa3, 0xb6, 0x1d, 0x78, 0xeb, 0xe9, 0x96, 0xeb, 0x62, 0xcb, 0xf5, 0x44, 0xcc, 0x68, - 0x64, 0x51, 0xe2, 0xac, 0x8f, 0xec, 0x71, 0x14, 0x12, 0x9b, 0xff, 0x9a, 0xfc, 0x8f, 0x42, 0xd8, - 0xca, 0x8f, 0x10, 0x31, 0x1a, 0xdb, 0x2c, 0xf9, 0x5e, 0x8b, 0x31, 0xea, 0x1e, 0xc5, 0x8c, 0x48, - 0x20, 0xfd, 0x15, 0x78, 0x79, 0x60, 0x45, 0x27, 0xdd, 0xc0, 0x3f, 0x76, 0x87, 0x7d, 0x7b, 0x44, - 0x3c, 0x0b, 0x93, 0x2f, 0x63, 0x12, 0x31, 0xfd, 0x07, 0xd0, 0xbc, 0x3c, 0x15, 0x85, 0x81, 0x1f, - 0x11, 0xf4, 0x31, 0x2c, 0x72, 0x69, 0x9a, 0x85, 0x5b, 0x85, 0xb5, 0xfa, 0xc6, 0xdb, 0xed, 0x67, - 0x29, 0x4e, 0xca, 0xd0, 0x56, 0x5f, 0xd1, 0xee, 0x87, 0xc4, 0xc6, 0x82, 0x53, 0xbf, 0x09, 0xd7, - 0xbb, 0x56, 0x68, 0x1d, 0xb9, 0x63, 0x97, 0xb9, 0x24, 0x4a, 0x36, 0x8d, 0xe1, 0xc6, 0x34, 0x59, - 0x6d, 0xf8, 0x39, 0x2c, 0xdb, 0x19, 0xba, 0xda, 0xf8, 0x7e, 0x3b, 0x97, 0xc5, 0xda, 0x9b, 0x62, - 0x34, 0x05, 0x3c, 0x05, 0xa7, 0xdf, 0x00, 0xf4, 0xd0, 0xf5, 0x87, 0x84, 0x86, 0xd4, 0xf5, 0x59, - 0x22, 0xcc, 0xb7, 0x25, 0xb8, 0x3e, 0x45, 0x56, 0xc2, 0x3c, 0x05, 0x48, 0xf5, 0xc8, 0x45, 0x29, - 0xad, 0xd5, 0x37, 0x3e, 0xcd, 0x29, 0xca, 0x15, 0x78, 0xed, 0x4e, 0x0a, 0x66, 0xf8, 0x8c, 0x9e, - 0xe3, 0x0c, 0x3a, 0xfa, 0x02, 0x2a, 0x23, 0x62, 0x8d, 0xd9, 0xa8, 0x59, 0xbc, 0x55, 0x58, 0x6b, - 0x6c, 0x3c, 0x7c, 0x81, 0x7d, 0xb6, 0x05, 0x50, 0x9f, 0x59, 0x8c, 0x60, 0x85, 0x8a, 0x6e, 0x03, - 0x92, 0xff, 0x4c, 0x87, 0x44, 0x36, 0x75, 0x43, 0xee, 0xc8, 0xcd, 0xd2, 0xad, 0xc2, 0x5a, 0x0d, - 0x5f, 0x93, 0x33, 0x9b, 0x93, 0x89, 0x56, 0x08, 0xab, 0x17, 0xa4, 0x45, 0x1a, 0x94, 0x4e, 0xc8, - 0xb9, 0xb0, 0x48, 0x0d, 0xf3, 0xbf, 0x68, 0x0b, 0xca, 0xa7, 0xd6, 0x38, 0x26, 0x42, 0xe4, 0xfa, - 0xc6, 0xbb, 0xcf, 0x73, 0x0f, 0xe5, 0xa2, 0x13, 0x3d, 0x60, 0xc9, 0xff, 0xa0, 0x78, 0xaf, 0xa0, - 0xdf, 0x87, 0x7a, 0x46, 0x6e, 0xd4, 0x00, 0x38, 0xec, 0x6d, 0x1a, 0x03, 0xa3, 0x3b, 0x30, 0x36, - 0xb5, 0x05, 0xb4, 0x02, 0xb5, 0xc3, 0xde, 0xb6, 0xd1, 0xd9, 0x1d, 0x6c, 0x3f, 0xd1, 0x0a, 0xa8, - 0x0e, 0x4b, 0xc9, 0xa0, 0xa8, 0x9f, 0x01, 0xc2, 0xc4, 0x0e, 0x4e, 0x09, 0xe5, 0x8e, 0xac, 0xac, - 0x8a, 0x5e, 0x86, 0x25, 0x66, 0x45, 0x27, 0xa6, 0xeb, 0x28, 0x99, 0x2b, 0x7c, 0xb8, 0xe3, 0xa0, - 0x1d, 0xa8, 0x8c, 0x2c, 0xdf, 0x19, 0x3f, 0x5f, 0xee, 0x69, 0x55, 0x73, 0xf0, 0x6d, 0xc1, 0x88, - 0x15, 0x00, 0xf7, 0xee, 0xa9, 0x9d, 0xa5, 0x01, 0xf4, 0x27, 0xa0, 0xf5, 0x99, 0x45, 0x59, 0x56, - 0x1c, 0x03, 0x16, 0xf9, 0xfe, 0xca, 0xa3, 0x67, 0xd9, 0x53, 0x9e, 0x4c, 0x2c, 0xd8, 0xf5, 0x7f, - 0x15, 0xe1, 0x5a, 0x06, 0x5b, 0x79, 0xea, 0x63, 0xa8, 0x50, 0x12, 0xc5, 0x63, 0x26, 0xe0, 0x1b, - 0x1b, 0x1f, 0xe5, 0x84, 0xbf, 0x84, 0xd4, 0xc6, 0x02, 0x06, 0x2b, 0x38, 0xb4, 0x06, 0x9a, 0xe4, - 0x30, 0x09, 0xa5, 0x01, 0x35, 0xbd, 0x68, 0x28, 0xb4, 0x56, 0xc3, 0x0d, 0x49, 0x37, 0x38, 0x79, - 0x2f, 0x1a, 0x66, 0xb4, 0x5a, 0x7a, 0x41, 0xad, 0x22, 0x0b, 0x34, 0x9f, 0xb0, 0xaf, 0x02, 0x7a, - 0x62, 0x72, 0xd5, 0x52, 0xd7, 0x21, 0xcd, 0x45, 0x01, 0x7a, 0x27, 0x27, 0x68, 0x4f, 0xb2, 0xef, - 0x2b, 0x6e, 0xbc, 0xea, 0x4f, 0x13, 0xf4, 0xb7, 0xa0, 0x22, 0xbf, 0x94, 0x7b, 0x52, 0xff, 0xb0, - 0xdb, 0x35, 0xfa, 0x7d, 0x6d, 0x01, 0xd5, 0xa0, 0x8c, 0x8d, 0x01, 0xe6, 0x1e, 0x56, 0x83, 0xf2, - 0xc3, 0xce, 0xa0, 0xb3, 0xab, 0x15, 0xf5, 0x37, 0x61, 0xf5, 0xb1, 0xe5, 0xb2, 0x3c, 0xce, 0xa5, - 0x07, 0xa0, 0x4d, 0xd6, 0x2a, 0xeb, 0xec, 0x4c, 0x59, 0x27, 0xbf, 0x6a, 0x8c, 0x33, 0x97, 0x5d, - 0xb0, 0x87, 0x06, 0x25, 0x42, 0xa9, 0x32, 0x01, 0xff, 0xab, 0x7f, 0x05, 0xab, 0x7d, 0x16, 0x84, - 0xb9, 0x3c, 0xff, 0x3d, 0x58, 0xe2, 0x39, 0x2a, 0x88, 0x99, 0x72, 0xfd, 0x57, 0xda, 0x32, 0x87, - 0xb5, 0x93, 0x1c, 0xd6, 0xde, 0x54, 0x39, 0x0e, 0x27, 0x2b, 0xd1, 0x4b, 0x50, 0x89, 0xdc, 0xa1, - 0x6f, 0x8d, 0x55, 0xb4, 0x50, 0x23, 0x1d, 0x71, 0x27, 0x4f, 0x36, 0x56, 0x8e, 0xdf, 0x05, 0xb4, - 0x49, 0x22, 0x46, 0x83, 0xf3, 0x5c, 0xf2, 0xdc, 0x80, 0xf2, 0x71, 0x40, 0x6d, 0x79, 0x10, 0xab, - 0x58, 0x0e, 0xf8, 0xa1, 0x9a, 0x02, 0x51, 0xd8, 0xb7, 0x01, 0xed, 0xf8, 0x3c, 0xa7, 0xe4, 0x33, - 0xc4, 0xaf, 0x8b, 0x70, 0x7d, 0x6a, 0xbd, 0x32, 0xc6, 0xfc, 0xe7, 0x90, 0x07, 0xa6, 0x38, 0x92, - 0xe7, 0x10, 0xed, 0x43, 0x45, 0xae, 0x50, 0x9a, 0xbc, 0x3b, 0x03, 0x90, 0x4c, 0x53, 0x0a, 0x4e, - 0xc1, 0x5c, 0xe9, 0xf4, 0xa5, 0xff, 0xac, 0xd3, 0x6f, 0x81, 0x96, 0x7c, 0x47, 0xf4, 0x5c, 0xdb, - 0xb4, 0xa0, 0xea, 0xfa, 0x8c, 0xd0, 0x53, 0x6b, 0x2c, 0x3e, 0xb1, 0x84, 0xd3, 0xb1, 0xfe, 0x7d, - 0xb8, 0x96, 0x01, 0x52, 0x8a, 0x7d, 0x08, 0xe5, 0x88, 0x13, 0x94, 0x66, 0xdf, 0x99, 0x51, 0xb3, - 0x11, 0x96, 0xec, 0xfa, 0x75, 0x09, 0x6e, 0x9c, 0x12, 0x3f, 0x15, 0x53, 0xdf, 0x84, 0x6b, 0x7d, - 0xe1, 0x76, 0xb9, 0xfc, 0x6a, 0xe2, 0xb2, 0xc5, 0x29, 0x97, 0xbd, 0x01, 0x28, 0x8b, 0xa2, 0x1c, - 0xeb, 0x1c, 0x56, 0x8d, 0x33, 0x62, 0xe7, 0x42, 0x6e, 0xc2, 0x92, 0x1d, 0x78, 0x9e, 0xe5, 0x3b, - 0xcd, 0xe2, 0xad, 0xd2, 0x5a, 0x0d, 0x27, 0xc3, 0xec, 0xd9, 0x2a, 0xe5, 0x3d, 0x5b, 0xfa, 0xaf, - 0x0a, 0xa0, 0x4d, 0xf6, 0x56, 0x8a, 0xe4, 0xd2, 0x33, 0x87, 0x03, 0xf1, 0xbd, 0x97, 0xb1, 0x1a, - 0x29, 0x7a, 0x72, 0xfc, 0x25, 0x9d, 0x50, 0x9a, 0x09, 0x2f, 0xa5, 0x17, 0x0c, 0x2f, 0xfa, 0x3f, - 0x0a, 0x80, 0x2e, 0x17, 0x51, 0xe8, 0x75, 0x58, 0x8e, 0x88, 0xef, 0x98, 0x52, 0x8d, 0xd2, 0xc2, - 0x55, 0x5c, 0xe7, 0x34, 0xa9, 0xcf, 0x08, 0x21, 0x58, 0x24, 0x67, 0xc4, 0x56, 0x27, 0x59, 0xfc, - 0x47, 0x23, 0x58, 0x3e, 0x8e, 0x4c, 0x37, 0x0a, 0xc6, 0x56, 0x5a, 0x6d, 0x34, 0x36, 0x8c, 0xb9, - 0x8b, 0xb9, 0xf6, 0xc3, 0xfe, 0x4e, 0x02, 0x86, 0xeb, 0xc7, 0x51, 0x3a, 0xd0, 0xdb, 0x50, 0xcf, - 0xcc, 0xa1, 0x2a, 0x2c, 0xf6, 0xf6, 0x7b, 0x86, 0xb6, 0x80, 0x00, 0x2a, 0xdd, 0x6d, 0xbc, 0xbf, - 0x3f, 0x90, 0x11, 0x7d, 0x67, 0xaf, 0xb3, 0x65, 0x68, 0x45, 0xfd, 0x0f, 0x15, 0x80, 0x49, 0x6a, - 0x45, 0x0d, 0x28, 0xa6, 0x96, 0x2e, 0xba, 0x0e, 0xff, 0x18, 0xdf, 0xf2, 0x88, 0xf2, 0x1e, 0xf1, - 0x1f, 0x6d, 0xc0, 0x4d, 0x2f, 0x1a, 0x86, 0x96, 0x7d, 0x62, 0xaa, 0x8c, 0x68, 0x0b, 0x66, 0xf1, - 0x55, 0xcb, 0xf8, 0xba, 0x9a, 0x54, 0x52, 0x4b, 0xdc, 0x5d, 0x28, 0x11, 0xff, 0xb4, 0xb9, 0x28, - 0x2a, 0xc7, 0x07, 0x33, 0xa7, 0xfc, 0xb6, 0xe1, 0x9f, 0xca, 0x4a, 0x91, 0xc3, 0x20, 0x13, 0xc0, - 0x21, 0xa7, 0xae, 0x4d, 0x4c, 0x0e, 0x5a, 0x16, 0xa0, 0x1f, 0xcf, 0x0e, 0xba, 0x29, 0x30, 0x52, - 0xe8, 0x9a, 0x93, 0x8c, 0x51, 0x0f, 0x6a, 0x94, 0x44, 0x41, 0x4c, 0x6d, 0x12, 0x35, 0x2b, 0x33, - 0x9d, 0x62, 0x9c, 0xf0, 0xe1, 0x09, 0x04, 0xda, 0x84, 0x8a, 0x17, 0xc4, 0x3e, 0x8b, 0x9a, 0x4b, - 0x42, 0xd8, 0xb7, 0x73, 0x82, 0xed, 0x71, 0x26, 0xac, 0x78, 0xd1, 0x16, 0x2c, 0x49, 0x11, 0xa3, - 0x66, 0x55, 0xc0, 0xdc, 0xce, 0xeb, 0x40, 0x82, 0x0b, 0x27, 0xdc, 0xdc, 0xaa, 0x71, 0x44, 0x68, - 0xb3, 0x26, 0xad, 0xca, 0xff, 0xa3, 0x57, 0xa1, 0x66, 0x8d, 0xc7, 0x81, 0x6d, 0x3a, 0x2e, 0x6d, - 0x82, 0x98, 0xa8, 0x0a, 0xc2, 0xa6, 0x4b, 0xd1, 0x6b, 0x50, 0x97, 0x47, 0xcf, 0x0c, 0x2d, 0x36, - 0x6a, 0xd6, 0xc5, 0x34, 0x48, 0xd2, 0x81, 0xc5, 0x46, 0x6a, 0x01, 0xa1, 0x54, 0x2e, 0x58, 0x4e, - 0x17, 0x10, 0x4a, 0xc5, 0x82, 0xff, 0x81, 0x55, 0x11, 0x47, 0x86, 0x34, 0x88, 0x43, 0x53, 0xf8, - 0xd4, 0x8a, 0x58, 0xb4, 0xc2, 0xc9, 0x5b, 0x9c, 0xda, 0xe3, 0xce, 0xf5, 0x0a, 0x54, 0x9f, 0x06, - 0x47, 0x72, 0x41, 0x43, 0x2c, 0x58, 0x7a, 0x1a, 0x1c, 0x25, 0x53, 0x52, 0x42, 0xd7, 0x69, 0xae, - 0xca, 0x29, 0x31, 0xde, 0x71, 0x5a, 0x77, 0xa0, 0x9a, 0x98, 0xf1, 0x8a, 0xea, 0xfc, 0x46, 0xb6, - 0x3a, 0xaf, 0x65, 0x4a, 0xed, 0xd6, 0xfb, 0xd0, 0x98, 0x76, 0x82, 0x59, 0xb8, 0xf5, 0xbf, 0x16, - 0xa0, 0x96, 0x9a, 0x1b, 0xf9, 0x70, 0x5d, 0x88, 0x63, 0x31, 0xe2, 0x98, 0x13, 0xef, 0x91, 0x39, - 0xe0, 0x83, 0x9c, 0x96, 0xea, 0x24, 0x08, 0x2a, 0x0e, 0x2a, 0x57, 0x42, 0x29, 0xf2, 0x64, 0xbf, - 0x2f, 0x60, 0x75, 0xec, 0xfa, 0xf1, 0x59, 0x66, 0x2f, 0x99, 0x80, 0xff, 0x37, 0xe7, 0x5e, 0xbb, - 0x9c, 0x7b, 0xb2, 0x47, 0x63, 0x3c, 0x35, 0xd6, 0xbf, 0x29, 0xc2, 0x4b, 0x57, 0x8b, 0x83, 0x7a, - 0x50, 0xb2, 0xc3, 0x58, 0x7d, 0xda, 0xfb, 0xb3, 0x7e, 0x5a, 0x37, 0x8c, 0x27, 0xbb, 0x72, 0x20, - 0x5e, 0xb4, 0x7b, 0xc4, 0x0b, 0xe8, 0xb9, 0xfa, 0x82, 0x8f, 0x66, 0x85, 0xdc, 0x13, 0xdc, 0x13, - 0x54, 0x05, 0x87, 0x30, 0x54, 0x55, 0xea, 0x8f, 0x54, 0x98, 0x98, 0xb1, 0x84, 0x48, 0x20, 0x71, - 0x8a, 0xa3, 0xdf, 0x81, 0x9b, 0x57, 0x7e, 0x0a, 0xfa, 0x2f, 0x00, 0x3b, 0x8c, 0x4d, 0x71, 0xc5, - 0x93, 0x76, 0x2f, 0xe1, 0x9a, 0x1d, 0xc6, 0x7d, 0x41, 0xd0, 0xef, 0x42, 0xf3, 0x59, 0xf2, 0xf2, - 0xc3, 0x27, 0x25, 0x36, 0xbd, 0xa3, 0xa4, 0xc6, 0x90, 0x84, 0xbd, 0x23, 0xfd, 0x37, 0x45, 0x58, - 0xbd, 0x20, 0x0e, 0xcf, 0x80, 0xf2, 0x30, 0x27, 0x59, 0x59, 0x8e, 0xf8, 0xc9, 0xb6, 0x5d, 0x27, - 0x29, 0x8b, 0xc5, 0x7f, 0x11, 0xd3, 0x43, 0x55, 0xb2, 0x16, 0xdd, 0x90, 0x3b, 0xb4, 0x77, 0xe4, - 0xb2, 0x48, 0xdc, 0x24, 0xca, 0x58, 0x0e, 0xd0, 0x13, 0x68, 0x50, 0x12, 0x11, 0x7a, 0x4a, 0x1c, - 0x33, 0x0c, 0x28, 0x4b, 0x14, 0xb6, 0x31, 0x9b, 0xc2, 0x0e, 0x02, 0xca, 0xf0, 0x4a, 0x82, 0xc4, - 0x47, 0x11, 0x7a, 0x0c, 0x2b, 0xce, 0xb9, 0x6f, 0x79, 0xae, 0xad, 0x90, 0x2b, 0x73, 0x23, 0x2f, - 0x2b, 0x20, 0x01, 0xcc, 0x6f, 0xca, 0x99, 0x49, 0xfe, 0x61, 0x63, 0xeb, 0x88, 0x8c, 0x95, 0x4e, - 0xe4, 0x60, 0xfa, 0xfc, 0x96, 0xd5, 0xf9, 0xd5, 0x7f, 0x57, 0x84, 0xc6, 0xf4, 0x01, 0x48, 0xec, - 0x17, 0x12, 0xea, 0x06, 0x4e, 0xc6, 0x7e, 0x07, 0x82, 0xc0, 0x6d, 0xc4, 0xa7, 0xbf, 0x8c, 0x03, - 0x66, 0x25, 0x36, 0xb2, 0xc3, 0xf8, 0xff, 0xf9, 0xf8, 0x82, 0xed, 0x4b, 0x17, 0x6c, 0x8f, 0xde, - 0x06, 0xa4, 0xec, 0x3b, 0x76, 0x3d, 0x97, 0x99, 0x47, 0xe7, 0x8c, 0x48, 0xfd, 0x97, 0xb0, 0x26, - 0x67, 0x76, 0xf9, 0xc4, 0x27, 0x9c, 0x8e, 0x74, 0x58, 0x09, 0x02, 0xcf, 0x8c, 0xec, 0x80, 0x12, - 0xd3, 0x72, 0x9e, 0x36, 0xcb, 0x62, 0x61, 0x3d, 0x08, 0xbc, 0x3e, 0xa7, 0x75, 0x9c, 0xa7, 0x3c, - 0xe0, 0xda, 0x61, 0x1c, 0x11, 0x66, 0xf2, 0x1f, 0x91, 0xa3, 0x6a, 0x18, 0x24, 0xa9, 0x1b, 0xc6, - 0x51, 0x66, 0x81, 0x47, 0x3c, 0x9e, 0x77, 0x32, 0x0b, 0xf6, 0x88, 0xc7, 0x77, 0x59, 0x3e, 0x20, - 0xd4, 0x26, 0x3e, 0x1b, 0xb8, 0xf6, 0x09, 0x4f, 0x29, 0x85, 0xb5, 0x02, 0x9e, 0xa2, 0xe9, 0x9f, - 0x43, 0x59, 0xa4, 0x20, 0xfe, 0xf1, 0x22, 0x7c, 0x8b, 0xe8, 0x2e, 0xd5, 0x5b, 0xe5, 0x04, 0x11, - 0xdb, 0x5f, 0x85, 0xda, 0x28, 0x88, 0x54, 0x6e, 0x90, 0x9e, 0x57, 0xe5, 0x04, 0x31, 0xd9, 0x82, - 0x2a, 0x25, 0x96, 0x13, 0xf8, 0xe3, 0x73, 0xa1, 0x97, 0x2a, 0x4e, 0xc7, 0xfa, 0x97, 0x50, 0x91, - 0xe1, 0xf7, 0x05, 0xf0, 0x6f, 0x03, 0xb2, 0x65, 0x52, 0x09, 0x09, 0xf5, 0xdc, 0x28, 0x72, 0x03, - 0x3f, 0x4a, 0x9e, 0x73, 0xe4, 0xcc, 0xc1, 0x64, 0x42, 0xff, 0x73, 0x41, 0xd6, 0x3b, 0xf2, 0xa2, - 0xcd, 0x2b, 0x46, 0x55, 0xbc, 0xcc, 0xfd, 0x1a, 0xa1, 0x00, 0x92, 0xaa, 0x9f, 0xa8, 0x67, 0xab, - 0x59, 0xab, 0x7e, 0x22, 0xab, 0x7e, 0xc2, 0x4b, 0x4c, 0x55, 0x56, 0x49, 0x38, 0x59, 0x55, 0xd5, - 0x9d, 0xf4, 0xaa, 0x44, 0xf4, 0x7f, 0x16, 0xd2, 0x88, 0x90, 0x5c, 0x69, 0xd0, 0x17, 0x50, 0xe5, - 0x87, 0xcb, 0xf4, 0xac, 0x50, 0x3d, 0xd0, 0x75, 0xe7, 0xbb, 0x2d, 0xb5, 0xf9, 0x59, 0xda, 0xb3, - 0x42, 0x59, 0x14, 0x2d, 0x85, 0x72, 0xc4, 0x23, 0x8b, 0xe5, 0x4c, 0x22, 0x0b, 0xff, 0x8f, 0xde, - 0x80, 0x86, 0x15, 0xb3, 0xc0, 0xb4, 0x9c, 0x53, 0x42, 0x99, 0x1b, 0x11, 0x65, 0xe1, 0x15, 0x4e, - 0xed, 0x24, 0xc4, 0xd6, 0x03, 0x58, 0xce, 0x62, 0x3e, 0x2f, 0xc7, 0x96, 0xb3, 0x39, 0xf6, 0x87, - 0x00, 0x93, 0xea, 0x9c, 0x7b, 0x02, 0x39, 0x73, 0x99, 0x69, 0x07, 0x8e, 0x8c, 0x7c, 0x65, 0x5c, - 0xe5, 0x84, 0x6e, 0xe0, 0x90, 0x0b, 0x77, 0x9d, 0x72, 0x72, 0xd7, 0xe1, 0x67, 0x93, 0x1f, 0xa7, - 0x13, 0x77, 0x3c, 0x26, 0x8e, 0x92, 0xb0, 0x16, 0x04, 0xde, 0x23, 0x41, 0xd0, 0xbf, 0x2d, 0x4a, - 0x8f, 0x90, 0xb7, 0xd0, 0x5c, 0x15, 0x70, 0x6a, 0xea, 0xd2, 0x8b, 0x99, 0xfa, 0x3e, 0x40, 0xc4, - 0x2c, 0xca, 0x0b, 0x06, 0x8b, 0xa9, 0x87, 0x9d, 0xd6, 0xa5, 0xcb, 0xd2, 0x20, 0x79, 0x4c, 0xc7, - 0x35, 0xb5, 0xba, 0xc3, 0xd0, 0x07, 0xb0, 0x6c, 0x07, 0x5e, 0x38, 0x26, 0x8a, 0xb9, 0xfc, 0x5c, - 0xe6, 0x7a, 0xba, 0xbe, 0xc3, 0x32, 0x37, 0xa5, 0xca, 0x8b, 0xde, 0x94, 0xfe, 0x58, 0x90, 0x97, - 0xe9, 0xec, 0x5d, 0x1e, 0x0d, 0xaf, 0x78, 0x30, 0xde, 0x9a, 0xf3, 0x61, 0xe0, 0xbb, 0x5e, 0x8b, - 0x5b, 0x1f, 0xe4, 0x79, 0x9e, 0x7d, 0x76, 0x09, 0xf7, 0xa7, 0x12, 0xd4, 0xd2, 0x7b, 0xf7, 0x25, - 0xdb, 0xdf, 0x83, 0x5a, 0xda, 0xc9, 0x50, 0xa5, 0xc9, 0x77, 0x9a, 0x27, 0x5d, 0x8c, 0x8e, 0x01, - 0x59, 0xc3, 0x61, 0x5a, 0x9a, 0x99, 0x71, 0x64, 0x0d, 0x93, 0x57, 0x8c, 0x7b, 0x33, 0xe8, 0x21, - 0xc9, 0x4e, 0x87, 0x9c, 0x1f, 0x6b, 0xd6, 0x70, 0x38, 0x45, 0x41, 0x3f, 0x82, 0x9b, 0xd3, 0x7b, - 0x98, 0x47, 0xe7, 0x66, 0xe8, 0x3a, 0xea, 0xa6, 0xb5, 0x3d, 0xeb, 0xd3, 0x43, 0x7b, 0x0a, 0xfe, - 0x93, 0xf3, 0x03, 0xd7, 0x91, 0x3a, 0x47, 0xf4, 0xd2, 0x44, 0xeb, 0x27, 0xf0, 0xf2, 0x33, 0x96, - 0x5f, 0x61, 0x83, 0xde, 0xf4, 0x13, 0xf9, 0xfc, 0x4a, 0xc8, 0x58, 0xef, 0xb7, 0x05, 0xf9, 0x42, - 0x32, 0xad, 0x93, 0x4e, 0xb6, 0x3a, 0x5d, 0xcf, 0xb9, 0x4f, 0xf7, 0xe0, 0x50, 0xc2, 0x8b, 0x82, - 0xf4, 0xd3, 0x0b, 0x05, 0x69, 0xde, 0x52, 0x45, 0xd6, 0x75, 0x12, 0x48, 0x21, 0xe8, 0xbf, 0x2f, - 0x41, 0x35, 0x41, 0x17, 0xf7, 0xa4, 0xf3, 0x88, 0x11, 0xcf, 0xf4, 0x92, 0x10, 0x56, 0xc0, 0x20, - 0x49, 0x7b, 0x3c, 0x88, 0xbd, 0x0a, 0x35, 0x7e, 0x1d, 0x93, 0xd3, 0x45, 0x31, 0x5d, 0xe5, 0x04, - 0x31, 0xf9, 0x1a, 0xd4, 0x59, 0xc0, 0xac, 0xb1, 0xc9, 0x44, 0xc6, 0x2e, 0x49, 0x6e, 0x41, 0x12, - 0xf9, 0x1a, 0xbd, 0x05, 0xd7, 0xd8, 0x88, 0x06, 0x8c, 0x8d, 0x79, 0x15, 0x27, 0xea, 0x16, 0x59, - 0x66, 0x2c, 0x62, 0x2d, 0x9d, 0x90, 0xf5, 0x4c, 0xc4, 0xa3, 0xf7, 0x64, 0x31, 0x77, 0x5d, 0x11, - 0x44, 0x16, 0xf1, 0x4a, 0x4a, 0xe5, 0xae, 0x8d, 0x9a, 0xb0, 0x14, 0xca, 0x9a, 0x40, 0xc4, 0x8a, - 0x02, 0x4e, 0x86, 0xc8, 0x84, 0x55, 0x8f, 0x58, 0x51, 0x4c, 0x89, 0x63, 0x1e, 0xbb, 0x64, 0xec, - 0xc8, 0xeb, 0x6d, 0x23, 0x77, 0x91, 0x9d, 0xa8, 0xa5, 0xfd, 0x50, 0x70, 0xe3, 0x46, 0x02, 0x27, - 0xc7, 0xbc, 0x3e, 0x90, 0xff, 0xd0, 0x2a, 0xd4, 0xfb, 0x4f, 0xfa, 0x03, 0x63, 0xcf, 0xdc, 0xdb, - 0xdf, 0x34, 0x54, 0x17, 0xa4, 0x6f, 0x60, 0x39, 0x2c, 0xf0, 0xf9, 0xc1, 0xfe, 0xa0, 0xb3, 0x6b, - 0x0e, 0x76, 0xba, 0x8f, 0xfa, 0x5a, 0x11, 0xdd, 0x84, 0x6b, 0x83, 0x6d, 0xbc, 0x3f, 0x18, 0xec, - 0x1a, 0x9b, 0xe6, 0x81, 0x81, 0x77, 0xf6, 0x37, 0xfb, 0x5a, 0x09, 0x21, 0x68, 0x4c, 0xc8, 0x83, - 0x9d, 0x3d, 0x43, 0x5b, 0x44, 0x75, 0x58, 0x3a, 0x30, 0x70, 0xd7, 0xe8, 0x0d, 0xb4, 0xb2, 0xfe, - 0x97, 0x22, 0xd4, 0x33, 0x56, 0xe4, 0x8e, 0x4c, 0x23, 0x59, 0xcd, 0x2f, 0x62, 0xfe, 0x97, 0x07, - 0x13, 0xdb, 0xb2, 0x47, 0xd2, 0x3a, 0x8b, 0x58, 0x0e, 0x44, 0x05, 0x6f, 0x9d, 0x65, 0xce, 0xf9, - 0x22, 0xae, 0x7a, 0xd6, 0x99, 0x04, 0x79, 0x1d, 0x96, 0x4f, 0x08, 0xf5, 0xc9, 0x58, 0xcd, 0x4b, - 0x8b, 0xd4, 0x25, 0x4d, 0x2e, 0x59, 0x03, 0x4d, 0x2d, 0x99, 0xc0, 0x48, 0x73, 0x34, 0x24, 0x7d, - 0x2f, 0x01, 0x3b, 0xba, 0xac, 0xf5, 0x8a, 0xd0, 0xfa, 0xfd, 0xd9, 0x9d, 0xf4, 0x59, 0x8a, 0xef, - 0xa7, 0x8a, 0x5f, 0x82, 0x12, 0x4e, 0x1a, 0x02, 0xdd, 0x4e, 0x77, 0x9b, 0x2b, 0x7b, 0x05, 0x6a, - 0x7b, 0x9d, 0xcf, 0xcc, 0xc3, 0xbe, 0x78, 0x42, 0x42, 0x1a, 0x2c, 0x3f, 0x32, 0x70, 0xcf, 0xd8, - 0x55, 0x94, 0x12, 0xba, 0x01, 0x9a, 0xa2, 0x4c, 0xd6, 0x2d, 0xea, 0x7f, 0x2b, 0xc2, 0xaa, 0x8c, - 0xeb, 0xe9, 0xab, 0xe6, 0xb3, 0x9f, 0x17, 0xb3, 0x97, 0xfd, 0xe2, 0xd4, 0x65, 0x3f, 0xad, 0x15, - 0x45, 0x5a, 0x2e, 0x4d, 0x6a, 0x45, 0xf1, 0x48, 0x30, 0x15, 0xb2, 0x17, 0x67, 0x09, 0xd9, 0x4d, - 0x58, 0xf2, 0x48, 0x94, 0x2a, 0xbe, 0x86, 0x93, 0x21, 0x72, 0xa1, 0x6e, 0xf9, 0x7e, 0xc0, 0xc4, - 0x93, 0x5a, 0x72, 0x7b, 0xd9, 0x9a, 0xe9, 0xf1, 0x2e, 0xfd, 0xe2, 0x76, 0x67, 0x82, 0x24, 0x23, - 0x6b, 0x16, 0xbb, 0xf5, 0x21, 0x68, 0x17, 0x17, 0xcc, 0x92, 0xcf, 0xde, 0x7c, 0x77, 0x92, 0xce, - 0x08, 0x77, 0xec, 0xc3, 0xde, 0xa3, 0xde, 0xfe, 0xe3, 0x9e, 0xb6, 0xc0, 0x07, 0xf8, 0xb0, 0xd7, - 0xdb, 0xe9, 0x6d, 0x69, 0x05, 0x04, 0x50, 0x31, 0x3e, 0xdb, 0x19, 0x18, 0x9b, 0x5a, 0x71, 0xe3, - 0xef, 0x2b, 0x50, 0x91, 0x42, 0xa2, 0x6f, 0x54, 0x2a, 0xcf, 0x76, 0xc0, 0xd1, 0x87, 0x33, 0x97, - 0xc4, 0x53, 0x5d, 0xf5, 0xd6, 0x47, 0x73, 0xf3, 0xab, 0x57, 0xe9, 0x05, 0xf4, 0xcb, 0x02, 0x2c, - 0x4f, 0x3d, 0xc3, 0xe6, 0x7d, 0x41, 0xbc, 0xa2, 0xe1, 0xde, 0xfa, 0xbf, 0xb9, 0x78, 0x53, 0x59, - 0x7e, 0x51, 0x80, 0x7a, 0xa6, 0xd5, 0x8c, 0xee, 0xcf, 0xd3, 0x9e, 0x96, 0x92, 0x3c, 0x98, 0xbf, - 0xb3, 0xad, 0x2f, 0xbc, 0x53, 0x40, 0x3f, 0x2f, 0x40, 0x3d, 0xd3, 0x74, 0xcd, 0x2d, 0xca, 0xe5, - 0x16, 0x71, 0x6e, 0x51, 0xae, 0xea, 0xf1, 0x2e, 0xa0, 0x9f, 0x16, 0xa0, 0x96, 0x36, 0x50, 0xd1, - 0xdd, 0xd9, 0x5b, 0xae, 0x52, 0x88, 0x7b, 0xf3, 0xf6, 0x6a, 0xf5, 0x05, 0xf4, 0x63, 0xa8, 0x26, - 0xdd, 0x46, 0x94, 0x37, 0xfd, 0x5c, 0x68, 0x65, 0xb6, 0xee, 0xce, 0xcc, 0x97, 0xdd, 0x3e, 0x69, - 0x01, 0xe6, 0xde, 0xfe, 0x42, 0xb3, 0xb2, 0x75, 0x77, 0x66, 0xbe, 0x74, 0x7b, 0xee, 0x09, 0x99, - 0x4e, 0x61, 0x6e, 0x4f, 0xb8, 0xdc, 0xa2, 0xcc, 0xed, 0x09, 0x57, 0x35, 0x26, 0xa5, 0x20, 0x99, - 0x5e, 0x63, 0x6e, 0x41, 0x2e, 0xf7, 0x33, 0x73, 0x0b, 0x72, 0x45, 0x6b, 0x53, 0x5f, 0x40, 0x5f, - 0x17, 0xb2, 0x85, 0xfd, 0xdd, 0x99, 0x5b, 0x70, 0x33, 0xba, 0xe4, 0xa5, 0x26, 0xa0, 0x38, 0xa0, - 0x5f, 0xab, 0xc7, 0x06, 0xd9, 0xc1, 0x43, 0xb3, 0x80, 0x4d, 0x35, 0xfd, 0x5a, 0x77, 0xe6, 0x4b, - 0x36, 0x42, 0x88, 0x9f, 0x15, 0x00, 0x26, 0xbd, 0xbe, 0xdc, 0x42, 0x5c, 0x6a, 0x32, 0xb6, 0xee, - 0xcf, 0xc1, 0x99, 0x3d, 0x20, 0x49, 0x7b, 0x2f, 0xf7, 0x01, 0xb9, 0xd0, 0x8b, 0xcc, 0x7d, 0x40, - 0x2e, 0xf6, 0x11, 0xf5, 0x85, 0x4f, 0x96, 0xbe, 0x57, 0x96, 0xd9, 0xbf, 0x22, 0x7e, 0xde, 0xfb, - 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5d, 0xb1, 0x64, 0x16, 0x1e, 0x27, 0x00, 0x00, + proto.RegisterFile("plugins/drivers/proto/driver.proto", fileDescriptor_driver_c4182101cb9dea81) +} + +var fileDescriptor_driver_c4182101cb9dea81 = []byte{ + // 2968 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x6f, 0x23, 0xc7, + 0xf1, 0x17, 0xdf, 0x64, 0x51, 0xa2, 0x66, 0x7b, 0xb5, 0x36, 0x4d, 0xe3, 0xff, 0xf7, 0x7a, 0x00, + 0x07, 0x82, 0xed, 0xa5, 0x6c, 0x19, 0xd9, 0x57, 0xfc, 0xa2, 0xc9, 0x59, 0x49, 0x5e, 0x89, 0x52, + 0x9a, 0x14, 0xd6, 0x9b, 0xc4, 0x3b, 0x19, 0xcd, 0xb4, 0xc8, 0x59, 0x71, 0x1e, 0x9e, 0xe9, 0x91, + 0x25, 0x04, 0x41, 0x02, 0x07, 0x08, 0x92, 0x43, 0x80, 0x5c, 0x8c, 0xdc, 0x93, 0x63, 0x3e, 0x41, + 0x12, 0xf8, 0x92, 0xaf, 0x91, 0x53, 0x02, 0x04, 0xc8, 0x35, 0xc7, 0xdc, 0x82, 0x7e, 0xcc, 0x70, + 0x28, 0x69, 0xbd, 0x43, 0x6e, 0x4e, 0x33, 0x5d, 0xdd, 0xf5, 0xeb, 0xea, 0xae, 0xea, 0xaa, 0xea, + 0x2e, 0x50, 0xfd, 0x49, 0x34, 0xb2, 0xdd, 0x70, 0xc3, 0x0a, 0xec, 0x53, 0x12, 0x84, 0x1b, 0x7e, + 0xe0, 0x51, 0x4f, 0xb6, 0xda, 0xbc, 0x81, 0xde, 0x18, 0x1b, 0xe1, 0xd8, 0x36, 0xbd, 0xc0, 0x6f, + 0xbb, 0x9e, 0x63, 0x58, 0x6d, 0xc9, 0xd3, 0x96, 0x3c, 0x62, 0x58, 0xeb, 0xff, 0x47, 0x9e, 0x37, + 0x9a, 0x10, 0x81, 0x70, 0x14, 0x1d, 0x6f, 0x58, 0x51, 0x60, 0x50, 0xdb, 0x73, 0x65, 0xff, 0x6b, + 0x17, 0xfb, 0xa9, 0xed, 0x90, 0x90, 0x1a, 0x8e, 0x2f, 0x07, 0x7c, 0x3c, 0xb2, 0xe9, 0x38, 0x3a, + 0x6a, 0x9b, 0x9e, 0xb3, 0x91, 0x4c, 0xb9, 0xc1, 0xa7, 0xdc, 0x88, 0xc5, 0x0c, 0xc7, 0x46, 0x40, + 0xac, 0x8d, 0xb1, 0x39, 0x09, 0x7d, 0x62, 0xb2, 0xaf, 0xce, 0x7e, 0x24, 0xc2, 0x56, 0x76, 0x84, + 0x90, 0x06, 0x91, 0x49, 0xe3, 0xf5, 0x1a, 0x94, 0x06, 0xf6, 0x51, 0x44, 0x89, 0x00, 0x52, 0x5f, + 0x81, 0x97, 0x87, 0x46, 0x78, 0xd2, 0xf5, 0xdc, 0x63, 0x7b, 0x34, 0x30, 0xc7, 0xc4, 0x31, 0x30, + 0xf9, 0x22, 0x22, 0x21, 0x55, 0x7f, 0x04, 0xcd, 0xcb, 0x5d, 0xa1, 0xef, 0xb9, 0x21, 0x41, 0x1f, + 0x43, 0x91, 0x49, 0xd3, 0xcc, 0xdd, 0xcc, 0xad, 0xd7, 0x37, 0xdf, 0x6e, 0x3f, 0x6b, 0xe3, 0x84, + 0x0c, 0x6d, 0xb9, 0x8a, 0xf6, 0xc0, 0x27, 0x26, 0xe6, 0x9c, 0xea, 0x0d, 0xb8, 0xde, 0x35, 0x7c, + 0xe3, 0xc8, 0x9e, 0xd8, 0xd4, 0x26, 0x61, 0x3c, 0x69, 0x04, 0x6b, 0xb3, 0x64, 0x39, 0xe1, 0xe7, + 0xb0, 0x6c, 0xa6, 0xe8, 0x72, 0xe2, 0x7b, 0xed, 0x4c, 0x1a, 0x6b, 0xf7, 0x78, 0x6b, 0x06, 0x78, + 0x06, 0x4e, 0x5d, 0x03, 0xf4, 0xc0, 0x76, 0x47, 0x24, 0xf0, 0x03, 0xdb, 0xa5, 0xb1, 0x30, 0xdf, + 0x14, 0xe0, 0xfa, 0x0c, 0x59, 0x0a, 0xf3, 0x14, 0x20, 0xd9, 0x47, 0x26, 0x4a, 0x61, 0xbd, 0xbe, + 0xf9, 0x69, 0x46, 0x51, 0xae, 0xc0, 0x6b, 0x77, 0x12, 0x30, 0xcd, 0xa5, 0xc1, 0x39, 0x4e, 0xa1, + 0xa3, 0x27, 0x50, 0x1e, 0x13, 0x63, 0x42, 0xc7, 0xcd, 0xfc, 0xcd, 0xdc, 0x7a, 0x63, 0xf3, 0xc1, + 0x0b, 0xcc, 0xb3, 0xcd, 0x81, 0x06, 0xd4, 0xa0, 0x04, 0x4b, 0x54, 0x74, 0x0b, 0x90, 0xf8, 0xd3, + 0x2d, 0x12, 0x9a, 0x81, 0xed, 0x33, 0x43, 0x6e, 0x16, 0x6e, 0xe6, 0xd6, 0x6b, 0xf8, 0x9a, 0xe8, + 0xe9, 0x4d, 0x3b, 0x5a, 0x3e, 0xac, 0x5e, 0x90, 0x16, 0x29, 0x50, 0x38, 0x21, 0xe7, 0x5c, 0x23, + 0x35, 0xcc, 0x7e, 0xd1, 0x16, 0x94, 0x4e, 0x8d, 0x49, 0x44, 0xb8, 0xc8, 0xf5, 0xcd, 0x77, 0x9f, + 0x67, 0x1e, 0xd2, 0x44, 0xa7, 0xfb, 0x80, 0x05, 0xff, 0xfd, 0xfc, 0xdd, 0x9c, 0x7a, 0x0f, 0xea, + 0x29, 0xb9, 0x51, 0x03, 0xe0, 0xb0, 0xdf, 0xd3, 0x86, 0x5a, 0x77, 0xa8, 0xf5, 0x94, 0x25, 0xb4, + 0x02, 0xb5, 0xc3, 0xfe, 0xb6, 0xd6, 0xd9, 0x1d, 0x6e, 0x3f, 0x56, 0x72, 0xa8, 0x0e, 0x95, 0xb8, + 0x91, 0x57, 0xcf, 0x00, 0x61, 0x62, 0x7a, 0xa7, 0x24, 0x60, 0x86, 0x2c, 0xb5, 0x8a, 0x5e, 0x86, + 0x0a, 0x35, 0xc2, 0x13, 0xdd, 0xb6, 0xa4, 0xcc, 0x65, 0xd6, 0xdc, 0xb1, 0xd0, 0x0e, 0x94, 0xc7, + 0x86, 0x6b, 0x4d, 0x9e, 0x2f, 0xf7, 0xec, 0x56, 0x33, 0xf0, 0x6d, 0xce, 0x88, 0x25, 0x00, 0xb3, + 0xee, 0x99, 0x99, 0x85, 0x02, 0xd4, 0xc7, 0xa0, 0x0c, 0xa8, 0x11, 0xd0, 0xb4, 0x38, 0x1a, 0x14, + 0xd9, 0xfc, 0xd2, 0xa2, 0xe7, 0x99, 0x53, 0x9c, 0x4c, 0xcc, 0xd9, 0xd5, 0x7f, 0xe7, 0xe1, 0x5a, + 0x0a, 0x5b, 0x5a, 0xea, 0x23, 0x28, 0x07, 0x24, 0x8c, 0x26, 0x94, 0xc3, 0x37, 0x36, 0x3f, 0xca, + 0x08, 0x7f, 0x09, 0xa9, 0x8d, 0x39, 0x0c, 0x96, 0x70, 0x68, 0x1d, 0x14, 0xc1, 0xa1, 0x93, 0x20, + 0xf0, 0x02, 0xdd, 0x09, 0x47, 0x7c, 0xd7, 0x6a, 0xb8, 0x21, 0xe8, 0x1a, 0x23, 0xef, 0x85, 0xa3, + 0xd4, 0xae, 0x16, 0x5e, 0x70, 0x57, 0x91, 0x01, 0x8a, 0x4b, 0xe8, 0x97, 0x5e, 0x70, 0xa2, 0xb3, + 0xad, 0x0d, 0x6c, 0x8b, 0x34, 0x8b, 0x1c, 0xf4, 0x76, 0x46, 0xd0, 0xbe, 0x60, 0xdf, 0x97, 0xdc, + 0x78, 0xd5, 0x9d, 0x25, 0xa8, 0x6f, 0x41, 0x59, 0xac, 0x94, 0x59, 0xd2, 0xe0, 0xb0, 0xdb, 0xd5, + 0x06, 0x03, 0x65, 0x09, 0xd5, 0xa0, 0x84, 0xb5, 0x21, 0x66, 0x16, 0x56, 0x83, 0xd2, 0x83, 0xce, + 0xb0, 0xb3, 0xab, 0xe4, 0xd5, 0x37, 0x61, 0xf5, 0x91, 0x61, 0xd3, 0x2c, 0xc6, 0xa5, 0x7a, 0xa0, + 0x4c, 0xc7, 0x4a, 0xed, 0xec, 0xcc, 0x68, 0x27, 0xfb, 0xd6, 0x68, 0x67, 0x36, 0xbd, 0xa0, 0x0f, + 0x05, 0x0a, 0x24, 0x08, 0xa4, 0x0a, 0xd8, 0xaf, 0xfa, 0x25, 0xac, 0x0e, 0xa8, 0xe7, 0x67, 0xb2, + 0xfc, 0xf7, 0xa0, 0xc2, 0x62, 0x94, 0x17, 0x51, 0x69, 0xfa, 0xaf, 0xb4, 0x45, 0x0c, 0x6b, 0xc7, + 0x31, 0xac, 0xdd, 0x93, 0x31, 0x0e, 0xc7, 0x23, 0xd1, 0x4b, 0x50, 0x0e, 0xed, 0x91, 0x6b, 0x4c, + 0xa4, 0xb7, 0x90, 0x2d, 0x15, 0x31, 0x23, 0x8f, 0x27, 0x96, 0x86, 0xdf, 0x05, 0xd4, 0x23, 0x21, + 0x0d, 0xbc, 0xf3, 0x4c, 0xf2, 0xac, 0x41, 0xe9, 0xd8, 0x0b, 0x4c, 0x71, 0x10, 0xab, 0x58, 0x34, + 0xd8, 0xa1, 0x9a, 0x01, 0x91, 0xd8, 0xb7, 0x00, 0xed, 0xb8, 0x2c, 0xa6, 0x64, 0x53, 0xc4, 0x6f, + 0xf3, 0x70, 0x7d, 0x66, 0xbc, 0x54, 0xc6, 0xe2, 0xe7, 0x90, 0x39, 0xa6, 0x28, 0x14, 0xe7, 0x10, + 0xed, 0x43, 0x59, 0x8c, 0x90, 0x3b, 0x79, 0x67, 0x0e, 0x20, 0x11, 0xa6, 0x24, 0x9c, 0x84, 0xb9, + 0xd2, 0xe8, 0x0b, 0xff, 0x5b, 0xa3, 0xdf, 0x02, 0x25, 0x5e, 0x47, 0xf8, 0x5c, 0xdd, 0xb4, 0xa0, + 0x6a, 0xbb, 0x94, 0x04, 0xa7, 0xc6, 0x84, 0x2f, 0xb1, 0x80, 0x93, 0xb6, 0xfa, 0x43, 0xb8, 0x96, + 0x02, 0x92, 0x1b, 0xfb, 0x00, 0x4a, 0x21, 0x23, 0xc8, 0x9d, 0x7d, 0x67, 0xce, 0x9d, 0x0d, 0xb1, + 0x60, 0x57, 0xaf, 0x0b, 0x70, 0xed, 0x94, 0xb8, 0x89, 0x98, 0x6a, 0x0f, 0xae, 0x0d, 0xb8, 0xd9, + 0x65, 0xb2, 0xab, 0xa9, 0xc9, 0xe6, 0x67, 0x4c, 0x76, 0x0d, 0x50, 0x1a, 0x45, 0x1a, 0xd6, 0x39, + 0xac, 0x6a, 0x67, 0xc4, 0xcc, 0x84, 0xdc, 0x84, 0x8a, 0xe9, 0x39, 0x8e, 0xe1, 0x5a, 0xcd, 0xfc, + 0xcd, 0xc2, 0x7a, 0x0d, 0xc7, 0xcd, 0xf4, 0xd9, 0x2a, 0x64, 0x3d, 0x5b, 0xea, 0x6f, 0x72, 0xa0, + 0x4c, 0xe7, 0x96, 0x1b, 0xc9, 0xa4, 0xa7, 0x16, 0x03, 0x62, 0x73, 0x2f, 0x63, 0xd9, 0x92, 0xf4, + 0xf8, 0xf8, 0x0b, 0x3a, 0x09, 0x82, 0x94, 0x7b, 0x29, 0xbc, 0xa0, 0x7b, 0x51, 0xff, 0x99, 0x03, + 0x74, 0x39, 0x89, 0x42, 0xaf, 0xc3, 0x72, 0x48, 0x5c, 0x4b, 0x17, 0xdb, 0x28, 0x34, 0x5c, 0xc5, + 0x75, 0x46, 0x13, 0xfb, 0x19, 0x22, 0x04, 0x45, 0x72, 0x46, 0x4c, 0x79, 0x92, 0xf9, 0x3f, 0x1a, + 0xc3, 0xf2, 0x71, 0xa8, 0xdb, 0xa1, 0x37, 0x31, 0x92, 0x6c, 0xa3, 0xb1, 0xa9, 0x2d, 0x9c, 0xcc, + 0xb5, 0x1f, 0x0c, 0x76, 0x62, 0x30, 0x5c, 0x3f, 0x0e, 0x93, 0x86, 0xda, 0x86, 0x7a, 0xaa, 0x0f, + 0x55, 0xa1, 0xd8, 0xdf, 0xef, 0x6b, 0xca, 0x12, 0x02, 0x28, 0x77, 0xb7, 0xf1, 0xfe, 0xfe, 0x50, + 0x78, 0xf4, 0x9d, 0xbd, 0xce, 0x96, 0xa6, 0xe4, 0xd5, 0x3f, 0x95, 0x01, 0xa6, 0xa1, 0x15, 0x35, + 0x20, 0x9f, 0x68, 0x3a, 0x6f, 0x5b, 0x6c, 0x31, 0xae, 0xe1, 0x10, 0x69, 0x3d, 0xfc, 0x1f, 0x6d, + 0xc2, 0x0d, 0x27, 0x1c, 0xf9, 0x86, 0x79, 0xa2, 0xcb, 0x88, 0x68, 0x72, 0x66, 0xbe, 0xaa, 0x65, + 0x7c, 0x5d, 0x76, 0x4a, 0xa9, 0x05, 0xee, 0x2e, 0x14, 0x88, 0x7b, 0xda, 0x2c, 0xf2, 0xcc, 0xf1, + 0xfe, 0xdc, 0x21, 0xbf, 0xad, 0xb9, 0xa7, 0x22, 0x53, 0x64, 0x30, 0x48, 0x07, 0xb0, 0xc8, 0xa9, + 0x6d, 0x12, 0x9d, 0x81, 0x96, 0x38, 0xe8, 0xc7, 0xf3, 0x83, 0xf6, 0x38, 0x46, 0x02, 0x5d, 0xb3, + 0xe2, 0x36, 0xea, 0x43, 0x2d, 0x20, 0xa1, 0x17, 0x05, 0x26, 0x09, 0x9b, 0xe5, 0xb9, 0x4e, 0x31, + 0x8e, 0xf9, 0xf0, 0x14, 0x02, 0xf5, 0xa0, 0xec, 0x78, 0x91, 0x4b, 0xc3, 0x66, 0x85, 0x0b, 0xfb, + 0x76, 0x46, 0xb0, 0x3d, 0xc6, 0x84, 0x25, 0x2f, 0xda, 0x82, 0x8a, 0x10, 0x31, 0x6c, 0x56, 0x39, + 0xcc, 0xad, 0xac, 0x06, 0xc4, 0xb9, 0x70, 0xcc, 0xcd, 0xb4, 0x1a, 0x85, 0x24, 0x68, 0xd6, 0x84, + 0x56, 0xd9, 0x3f, 0x7a, 0x15, 0x6a, 0xc6, 0x64, 0xe2, 0x99, 0xba, 0x65, 0x07, 0x4d, 0xe0, 0x1d, + 0x55, 0x4e, 0xe8, 0xd9, 0x01, 0x7a, 0x0d, 0xea, 0xe2, 0xe8, 0xe9, 0xbe, 0x41, 0xc7, 0xcd, 0x3a, + 0xef, 0x06, 0x41, 0x3a, 0x30, 0xe8, 0x58, 0x0e, 0x20, 0x41, 0x20, 0x06, 0x2c, 0x27, 0x03, 0x48, + 0x10, 0xf0, 0x01, 0xdf, 0x81, 0x55, 0xee, 0x47, 0x46, 0x81, 0x17, 0xf9, 0x3a, 0xb7, 0xa9, 0x15, + 0x3e, 0x68, 0x85, 0x91, 0xb7, 0x18, 0xb5, 0xcf, 0x8c, 0xeb, 0x15, 0xa8, 0x3e, 0xf5, 0x8e, 0xc4, + 0x80, 0x06, 0x1f, 0x50, 0x79, 0xea, 0x1d, 0xc5, 0x5d, 0x42, 0x42, 0xdb, 0x6a, 0xae, 0x8a, 0x2e, + 0xde, 0xde, 0xb1, 0x5a, 0xb7, 0xa1, 0x1a, 0xab, 0xf1, 0x8a, 0xec, 0x7c, 0x2d, 0x9d, 0x9d, 0xd7, + 0x52, 0xa9, 0x76, 0xeb, 0x7d, 0x68, 0xcc, 0x1a, 0xc1, 0x3c, 0xdc, 0xea, 0xdf, 0x72, 0x50, 0x4b, + 0xd4, 0x8d, 0x5c, 0xb8, 0xce, 0xc5, 0x31, 0x28, 0xb1, 0xf4, 0xa9, 0xf5, 0x88, 0x18, 0xf0, 0x41, + 0x46, 0x4d, 0x75, 0x62, 0x04, 0xe9, 0x07, 0xa5, 0x29, 0xa1, 0x04, 0x79, 0x3a, 0xdf, 0x13, 0x58, + 0x9d, 0xd8, 0x6e, 0x74, 0x96, 0x9a, 0x4b, 0x04, 0xe0, 0xef, 0x66, 0x9c, 0x6b, 0x97, 0x71, 0x4f, + 0xe7, 0x68, 0x4c, 0x66, 0xda, 0xea, 0xd7, 0x79, 0x78, 0xe9, 0x6a, 0x71, 0x50, 0x1f, 0x0a, 0xa6, + 0x1f, 0xc9, 0xa5, 0xbd, 0x3f, 0xef, 0xd2, 0xba, 0x7e, 0x34, 0x9d, 0x95, 0x01, 0xb1, 0xa4, 0xdd, + 0x21, 0x8e, 0x17, 0x9c, 0xcb, 0x15, 0x7c, 0x34, 0x2f, 0xe4, 0x1e, 0xe7, 0x9e, 0xa2, 0x4a, 0x38, + 0x84, 0xa1, 0x2a, 0x43, 0x7f, 0x28, 0xdd, 0xc4, 0x9c, 0x29, 0x44, 0x0c, 0x89, 0x13, 0x1c, 0xf5, + 0x36, 0xdc, 0xb8, 0x72, 0x29, 0xe8, 0xff, 0x00, 0x4c, 0x3f, 0xd2, 0xf9, 0x15, 0x4f, 0xe8, 0xbd, + 0x80, 0x6b, 0xa6, 0x1f, 0x0d, 0x38, 0x41, 0xbd, 0x03, 0xcd, 0x67, 0xc9, 0xcb, 0x0e, 0x9f, 0x90, + 0x58, 0x77, 0x8e, 0xe2, 0x1c, 0x43, 0x10, 0xf6, 0x8e, 0xd4, 0xdf, 0xe5, 0x61, 0xf5, 0x82, 0x38, + 0x2c, 0x02, 0x8a, 0xc3, 0x1c, 0x47, 0x65, 0xd1, 0x62, 0x27, 0xdb, 0xb4, 0xad, 0x38, 0x2d, 0xe6, + 0xff, 0xdc, 0xa7, 0xfb, 0x32, 0x65, 0xcd, 0xdb, 0x3e, 0x33, 0x68, 0xe7, 0xc8, 0xa6, 0x21, 0xbf, + 0x49, 0x94, 0xb0, 0x68, 0xa0, 0xc7, 0xd0, 0x08, 0x48, 0x48, 0x82, 0x53, 0x62, 0xe9, 0xbe, 0x17, + 0xd0, 0x78, 0xc3, 0x36, 0xe7, 0xdb, 0xb0, 0x03, 0x2f, 0xa0, 0x78, 0x25, 0x46, 0x62, 0xad, 0x10, + 0x3d, 0x82, 0x15, 0xeb, 0xdc, 0x35, 0x1c, 0xdb, 0x94, 0xc8, 0xe5, 0x85, 0x91, 0x97, 0x25, 0x10, + 0x07, 0x66, 0x37, 0xe5, 0x54, 0x27, 0x5b, 0xd8, 0xc4, 0x38, 0x22, 0x13, 0xb9, 0x27, 0xa2, 0x31, + 0x7b, 0x7e, 0x4b, 0xf2, 0xfc, 0xaa, 0x7f, 0xc8, 0x43, 0x63, 0xf6, 0x00, 0xc4, 0xfa, 0xf3, 0x49, + 0x60, 0x7b, 0x56, 0x4a, 0x7f, 0x07, 0x9c, 0xc0, 0x74, 0xc4, 0xba, 0xbf, 0x88, 0x3c, 0x6a, 0xc4, + 0x3a, 0x32, 0xfd, 0xe8, 0xfb, 0xac, 0x7d, 0x41, 0xf7, 0x85, 0x0b, 0xba, 0x47, 0x6f, 0x03, 0x92, + 0xfa, 0x9d, 0xd8, 0x8e, 0x4d, 0xf5, 0xa3, 0x73, 0x4a, 0xc4, 0xfe, 0x17, 0xb0, 0x22, 0x7a, 0x76, + 0x59, 0xc7, 0x27, 0x8c, 0x8e, 0x54, 0x58, 0xf1, 0x3c, 0x47, 0x0f, 0x4d, 0x2f, 0x20, 0xba, 0x61, + 0x3d, 0x6d, 0x96, 0xf8, 0xc0, 0xba, 0xe7, 0x39, 0x03, 0x46, 0xeb, 0x58, 0x4f, 0x99, 0xc3, 0x35, + 0xfd, 0x28, 0x24, 0x54, 0x67, 0x1f, 0x1e, 0xa3, 0x6a, 0x18, 0x04, 0xa9, 0xeb, 0x47, 0x61, 0x6a, + 0x80, 0x43, 0x1c, 0x16, 0x77, 0x52, 0x03, 0xf6, 0x88, 0xc3, 0x66, 0x59, 0x3e, 0x20, 0x81, 0x49, + 0x5c, 0x3a, 0xb4, 0xcd, 0x13, 0x16, 0x52, 0x72, 0xeb, 0x39, 0x3c, 0x43, 0x53, 0x3f, 0x87, 0x12, + 0x0f, 0x41, 0x6c, 0xf1, 0xdc, 0x7d, 0x73, 0xef, 0x2e, 0xb6, 0xb7, 0xca, 0x08, 0xdc, 0xb7, 0xbf, + 0x0a, 0xb5, 0xb1, 0x17, 0xca, 0xd8, 0x20, 0x2c, 0xaf, 0xca, 0x08, 0xbc, 0xb3, 0x05, 0xd5, 0x80, + 0x18, 0x96, 0xe7, 0x4e, 0xce, 0xf9, 0xbe, 0x54, 0x71, 0xd2, 0x56, 0xbf, 0x80, 0xb2, 0x70, 0xbf, + 0x2f, 0x80, 0x7f, 0x0b, 0x90, 0x29, 0x82, 0x8a, 0x4f, 0x02, 0xc7, 0x0e, 0x43, 0xdb, 0x73, 0xc3, + 0xf8, 0x39, 0x47, 0xf4, 0x1c, 0x4c, 0x3b, 0xd4, 0xbf, 0xe6, 0x44, 0xbe, 0x23, 0x2e, 0xda, 0x2c, + 0x63, 0x94, 0xc9, 0xcb, 0xc2, 0xaf, 0x11, 0x12, 0x20, 0xce, 0xfa, 0x89, 0x7c, 0xb6, 0x9a, 0x37, + 0xeb, 0x27, 0x22, 0xeb, 0x27, 0x2c, 0xc5, 0x94, 0x69, 0x95, 0x80, 0x13, 0x59, 0x55, 0xdd, 0x4a, + 0xae, 0x4a, 0x44, 0xfd, 0x57, 0x2e, 0xf1, 0x08, 0xf1, 0x95, 0x06, 0x3d, 0x81, 0x2a, 0x3b, 0x5c, + 0xba, 0x63, 0xf8, 0xf2, 0x81, 0xae, 0xbb, 0xd8, 0x6d, 0xa9, 0xcd, 0xce, 0xd2, 0x9e, 0xe1, 0x8b, + 0xa4, 0xa8, 0xe2, 0x8b, 0x16, 0xf3, 0x2c, 0x86, 0x35, 0xf5, 0x2c, 0xec, 0x1f, 0xbd, 0x01, 0x0d, + 0x23, 0xa2, 0x9e, 0x6e, 0x58, 0xa7, 0x24, 0xa0, 0x76, 0x48, 0xa4, 0x86, 0x57, 0x18, 0xb5, 0x13, + 0x13, 0x5b, 0xf7, 0x61, 0x39, 0x8d, 0xf9, 0xbc, 0x18, 0x5b, 0x4a, 0xc7, 0xd8, 0x1f, 0x03, 0x4c, + 0xb3, 0x73, 0x66, 0x09, 0xe4, 0xcc, 0xa6, 0xba, 0xe9, 0x59, 0xc2, 0xf3, 0x95, 0x70, 0x95, 0x11, + 0xba, 0x9e, 0x45, 0x2e, 0xdc, 0x75, 0x4a, 0xf1, 0x5d, 0x87, 0x9d, 0x4d, 0x76, 0x9c, 0x4e, 0xec, + 0xc9, 0x84, 0x58, 0x52, 0xc2, 0x9a, 0xe7, 0x39, 0x0f, 0x39, 0x41, 0xfd, 0x26, 0x2f, 0x2c, 0x42, + 0xdc, 0x42, 0x33, 0x65, 0xc0, 0x89, 0xaa, 0x0b, 0x2f, 0xa6, 0xea, 0x7b, 0x00, 0x21, 0x35, 0x02, + 0x96, 0x30, 0x18, 0x54, 0x3e, 0xec, 0xb4, 0x2e, 0x5d, 0x96, 0x86, 0xf1, 0x63, 0x3a, 0xae, 0xc9, + 0xd1, 0x1d, 0x8a, 0x3e, 0x80, 0x65, 0xd3, 0x73, 0xfc, 0x09, 0x91, 0xcc, 0xa5, 0xe7, 0x32, 0xd7, + 0x93, 0xf1, 0x1d, 0x9a, 0xba, 0x29, 0x95, 0x5f, 0xf4, 0xa6, 0xf4, 0xe7, 0x9c, 0xb8, 0x4c, 0xa7, + 0xef, 0xf2, 0x68, 0x74, 0xc5, 0x83, 0xf1, 0xd6, 0x82, 0x0f, 0x03, 0xdf, 0xf6, 0x5a, 0xdc, 0xfa, + 0x20, 0xcb, 0xf3, 0xec, 0xb3, 0x53, 0xb8, 0xbf, 0x14, 0xa0, 0x96, 0xdc, 0xbb, 0x2f, 0xe9, 0xfe, + 0x2e, 0xd4, 0x92, 0x4a, 0x86, 0x4c, 0x4d, 0xbe, 0x55, 0x3d, 0xc9, 0x60, 0x74, 0x0c, 0xc8, 0x18, + 0x8d, 0x92, 0xd4, 0x4c, 0x8f, 0x42, 0x63, 0x14, 0xbf, 0x62, 0xdc, 0x9d, 0x63, 0x1f, 0xe2, 0xe8, + 0x74, 0xc8, 0xf8, 0xb1, 0x62, 0x8c, 0x46, 0x33, 0x14, 0xf4, 0x13, 0xb8, 0x31, 0x3b, 0x87, 0x7e, + 0x74, 0xae, 0xfb, 0xb6, 0x25, 0x6f, 0x5a, 0xdb, 0xf3, 0x3e, 0x3d, 0xb4, 0x67, 0xe0, 0x3f, 0x39, + 0x3f, 0xb0, 0x2d, 0xb1, 0xe7, 0x28, 0xb8, 0xd4, 0xd1, 0xfa, 0x19, 0xbc, 0xfc, 0x8c, 0xe1, 0x57, + 0xe8, 0xa0, 0x3f, 0xfb, 0x44, 0xbe, 0xf8, 0x26, 0xa4, 0xb4, 0xf7, 0xfb, 0x9c, 0x78, 0x21, 0x99, + 0xdd, 0x93, 0x4e, 0x3a, 0x3b, 0xdd, 0xc8, 0x38, 0x4f, 0xf7, 0xe0, 0x50, 0xc0, 0xf3, 0x84, 0xf4, + 0xd3, 0x0b, 0x09, 0x69, 0xd6, 0x54, 0x45, 0xe4, 0x75, 0x02, 0x48, 0x22, 0xa8, 0x7f, 0x2c, 0x40, + 0x35, 0x46, 0xe7, 0xf7, 0xa4, 0xf3, 0x90, 0x12, 0x47, 0x77, 0x62, 0x17, 0x96, 0xc3, 0x20, 0x48, + 0x7b, 0xcc, 0x89, 0xbd, 0x0a, 0x35, 0x76, 0x1d, 0x13, 0xdd, 0x79, 0xde, 0x5d, 0x65, 0x04, 0xde, + 0xf9, 0x1a, 0xd4, 0xa9, 0x47, 0x8d, 0x89, 0x4e, 0x79, 0xc4, 0x2e, 0x08, 0x6e, 0x4e, 0xe2, 0xf1, + 0x1a, 0xbd, 0x05, 0xd7, 0xe8, 0x38, 0xf0, 0x28, 0x9d, 0xb0, 0x2c, 0x8e, 0xe7, 0x2d, 0x22, 0xcd, + 0x28, 0x62, 0x25, 0xe9, 0x10, 0xf9, 0x4c, 0xc8, 0xbc, 0xf7, 0x74, 0x30, 0x33, 0x5d, 0xee, 0x44, + 0x8a, 0x78, 0x25, 0xa1, 0x32, 0xd3, 0x46, 0x4d, 0xa8, 0xf8, 0x22, 0x27, 0xe0, 0xbe, 0x22, 0x87, + 0xe3, 0x26, 0xd2, 0x61, 0xd5, 0x21, 0x46, 0x18, 0x05, 0xc4, 0xd2, 0x8f, 0x6d, 0x32, 0xb1, 0xc4, + 0xf5, 0xb6, 0x91, 0x39, 0xc9, 0x8e, 0xb7, 0xa5, 0xfd, 0x80, 0x73, 0xe3, 0x46, 0x0c, 0x27, 0xda, + 0x2c, 0x3f, 0x10, 0x7f, 0x68, 0x15, 0xea, 0x83, 0xc7, 0x83, 0xa1, 0xb6, 0xa7, 0xef, 0xed, 0xf7, + 0x34, 0x59, 0x05, 0x19, 0x68, 0x58, 0x34, 0x73, 0xac, 0x7f, 0xb8, 0x3f, 0xec, 0xec, 0xea, 0xc3, + 0x9d, 0xee, 0xc3, 0x81, 0x92, 0x47, 0x37, 0xe0, 0xda, 0x70, 0x1b, 0xef, 0x0f, 0x87, 0xbb, 0x5a, + 0x4f, 0x3f, 0xd0, 0xf0, 0xce, 0x7e, 0x6f, 0xa0, 0x14, 0x10, 0x82, 0xc6, 0x94, 0x3c, 0xdc, 0xd9, + 0xd3, 0x94, 0x22, 0xaa, 0x43, 0xe5, 0x40, 0xc3, 0x5d, 0xad, 0x3f, 0x54, 0x4a, 0xea, 0x7f, 0xf2, + 0x50, 0x4f, 0x69, 0x91, 0x19, 0x72, 0x10, 0x8a, 0x6c, 0xbe, 0x88, 0xd9, 0x2f, 0x73, 0x26, 0xa6, + 0x61, 0x8e, 0x85, 0x76, 0x8a, 0x58, 0x34, 0x78, 0x06, 0x6f, 0x9c, 0xa5, 0xce, 0x79, 0x11, 0x57, + 0x1d, 0xe3, 0x4c, 0x80, 0xbc, 0x0e, 0xcb, 0x27, 0x24, 0x70, 0xc9, 0x44, 0xf6, 0x0b, 0x8d, 0xd4, + 0x05, 0x4d, 0x0c, 0x59, 0x07, 0x45, 0x0e, 0x99, 0xc2, 0x08, 0x75, 0x34, 0x04, 0x7d, 0x2f, 0x06, + 0x5b, 0x83, 0x92, 0xe8, 0xae, 0x88, 0xf9, 0x79, 0x03, 0x1d, 0x5d, 0xd6, 0x45, 0x99, 0xeb, 0xe2, + 0xde, 0xfc, 0xa6, 0xfb, 0x2c, 0x75, 0x3c, 0x49, 0xd4, 0x51, 0x81, 0x02, 0x8e, 0xcb, 0x04, 0xdd, + 0x4e, 0x77, 0x9b, 0xa9, 0x60, 0x05, 0x6a, 0x7b, 0x9d, 0xcf, 0xf4, 0xc3, 0x01, 0x7f, 0x58, 0x42, + 0x0a, 0x2c, 0x3f, 0xd4, 0x70, 0x5f, 0xdb, 0x95, 0x94, 0x02, 0x5a, 0x03, 0x45, 0x52, 0xa6, 0xe3, + 0x8a, 0x0c, 0x41, 0xfc, 0x96, 0xd4, 0xbf, 0xe7, 0x61, 0x55, 0x38, 0xfe, 0xe4, 0xd9, 0xf3, 0xd9, + 0xef, 0x8f, 0xe9, 0xd7, 0x80, 0xfc, 0xcc, 0x6b, 0x40, 0x92, 0x4c, 0xf2, 0xb8, 0x5d, 0x98, 0x26, + 0x93, 0xfc, 0x15, 0x61, 0xc6, 0xa7, 0x17, 0xe7, 0xf1, 0xe9, 0x4d, 0xa8, 0x38, 0x24, 0x4c, 0x34, + 0x53, 0xc3, 0x71, 0x13, 0xd9, 0x50, 0x37, 0x5c, 0xd7, 0xa3, 0xfc, 0xcd, 0x2d, 0xbe, 0xde, 0x6c, + 0xcd, 0xf5, 0xba, 0x97, 0xac, 0xb8, 0xdd, 0x99, 0x22, 0x09, 0xd7, 0x9b, 0xc6, 0x6e, 0x7d, 0x08, + 0xca, 0xc5, 0x01, 0xf3, 0x04, 0xbc, 0x37, 0xdf, 0x9d, 0xc6, 0x3b, 0xc2, 0x2c, 0xff, 0xb0, 0xff, + 0xb0, 0xbf, 0xff, 0xa8, 0xaf, 0x2c, 0xb1, 0x06, 0x3e, 0xec, 0xf7, 0x77, 0xfa, 0x5b, 0x4a, 0x0e, + 0x01, 0x94, 0xb5, 0xcf, 0x76, 0x86, 0x5a, 0x4f, 0xc9, 0x6f, 0xfe, 0x63, 0x05, 0xca, 0x42, 0x48, + 0xf4, 0xb5, 0x8c, 0xf5, 0xe9, 0x12, 0x39, 0xfa, 0x70, 0xee, 0x9c, 0x79, 0xa6, 0xec, 0xde, 0xfa, + 0x68, 0x61, 0x7e, 0xf9, 0x6c, 0xbd, 0x84, 0x7e, 0x9d, 0x83, 0xe5, 0x99, 0x77, 0xda, 0xac, 0x4f, + 0x8c, 0x57, 0x54, 0xe4, 0x5b, 0xdf, 0x5b, 0x88, 0x37, 0x91, 0xe5, 0x57, 0x39, 0xa8, 0xa7, 0x6a, + 0xd1, 0xe8, 0xde, 0x22, 0xf5, 0x6b, 0x21, 0xc9, 0xfd, 0xc5, 0x4b, 0xdf, 0xea, 0xd2, 0x3b, 0x39, + 0xf4, 0xcb, 0x1c, 0xd4, 0x53, 0x55, 0xd9, 0xcc, 0xa2, 0x5c, 0xae, 0x21, 0x67, 0x16, 0xe5, 0xaa, + 0x22, 0xf0, 0x12, 0xfa, 0x79, 0x0e, 0x6a, 0x49, 0x85, 0x15, 0xdd, 0x99, 0xbf, 0x26, 0x2b, 0x84, + 0xb8, 0xbb, 0x68, 0x31, 0x57, 0x5d, 0x42, 0x3f, 0x85, 0x6a, 0x5c, 0x8e, 0x44, 0x59, 0xe3, 0xd3, + 0x85, 0x5a, 0x67, 0xeb, 0xce, 0xdc, 0x7c, 0xe9, 0xe9, 0xe3, 0x1a, 0x61, 0xe6, 0xe9, 0x2f, 0x54, + 0x33, 0x5b, 0x77, 0xe6, 0xe6, 0x4b, 0xa6, 0x67, 0x96, 0x90, 0x2a, 0x25, 0x66, 0xb6, 0x84, 0xcb, + 0x35, 0xcc, 0xcc, 0x96, 0x70, 0x55, 0xe5, 0x52, 0x08, 0x92, 0x2a, 0x46, 0x66, 0x16, 0xe4, 0x72, + 0xc1, 0x33, 0xb3, 0x20, 0x57, 0xd4, 0x3e, 0xd5, 0x25, 0xf4, 0x55, 0x2e, 0x9d, 0xf9, 0xdf, 0x99, + 0xbb, 0x46, 0x37, 0xa7, 0x49, 0x5e, 0xaa, 0x12, 0xf2, 0x03, 0xfa, 0x95, 0x7c, 0x8d, 0x10, 0x25, + 0x3e, 0x34, 0x0f, 0xd8, 0x4c, 0x55, 0xb0, 0x75, 0x7b, 0xb1, 0x60, 0xc3, 0x85, 0xf8, 0x45, 0x0e, + 0x60, 0x5a, 0x0c, 0xcc, 0x2c, 0xc4, 0xa5, 0x2a, 0x64, 0xeb, 0xde, 0x02, 0x9c, 0xe9, 0x03, 0x12, + 0xd7, 0xff, 0x32, 0x1f, 0x90, 0x0b, 0xc5, 0xca, 0xcc, 0x07, 0xe4, 0x62, 0xa1, 0x51, 0x5d, 0xfa, + 0xa4, 0xf2, 0x83, 0x92, 0x88, 0xfe, 0x65, 0xfe, 0x79, 0xef, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xe1, 0x95, 0x71, 0x38, 0x3f, 0x27, 0x00, 0x00, } diff --git a/plugins/drivers/proto/driver.proto b/plugins/drivers/proto/driver.proto index 16927f21f450..0bb77ce12bac 100644 --- a/plugins/drivers/proto/driver.proto +++ b/plugins/drivers/proto/driver.proto @@ -564,6 +564,7 @@ message MemoryUsage { uint64 max_usage = 3; uint64 kernel_usage = 4; uint64 kernel_max_usage = 5; + uint64 usage = 7; enum Fields { RSS = 0; @@ -571,6 +572,7 @@ message MemoryUsage { MAX_USAGE = 2; KERNEL_USAGE = 3; KERNEL_MAX_USAGE = 4; + USAGE = 5; } // MeasuredFields indicates which fields were actually sampled repeated Fields measured_fields = 6; diff --git a/plugins/drivers/utils.go b/plugins/drivers/utils.go index a56c2c1ba4d9..85b14c2187d5 100644 --- a/plugins/drivers/utils.go +++ b/plugins/drivers/utils.go @@ -452,6 +452,9 @@ func resourceUsageToProto(ru *ResourceUsage) *proto.TaskResourceUsage { case "Cache": memory.Cache = ru.MemoryStats.Cache memory.MeasuredFields = append(memory.MeasuredFields, proto.MemoryUsage_CACHE) + case "Usage": + memory.Usage = ru.MemoryStats.Usage + memory.MeasuredFields = append(memory.MeasuredFields, proto.MemoryUsage_USAGE) case "Max Usage": memory.MaxUsage = ru.MemoryStats.MaxUsage memory.MeasuredFields = append(memory.MeasuredFields, proto.MemoryUsage_MAX_USAGE) @@ -507,6 +510,9 @@ func resourceUsageFromProto(pb *proto.TaskResourceUsage) *ResourceUsage { case proto.MemoryUsage_CACHE: memory.Cache = pb.Memory.Cache memory.Measured = append(memory.Measured, "Cache") + case proto.MemoryUsage_USAGE: + memory.Usage = pb.Memory.Usage + memory.Measured = append(memory.Measured, "Usage") case proto.MemoryUsage_MAX_USAGE: memory.MaxUsage = pb.Memory.MaxUsage memory.Measured = append(memory.Measured, "Max Usage") diff --git a/plugins/shared/hclspec/hcl_spec.pb.go b/plugins/shared/hclspec/hcl_spec.pb.go index e02b7ac7baa6..6bbc916d685f 100644 --- a/plugins/shared/hclspec/hcl_spec.pb.go +++ b/plugins/shared/hclspec/hcl_spec.pb.go @@ -94,7 +94,7 @@ func (m *Spec) Reset() { *m = Spec{} } func (m *Spec) String() string { return proto.CompactTextString(m) } func (*Spec) ProtoMessage() {} func (*Spec) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{0} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{0} } func (m *Spec) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Spec.Unmarshal(m, b) @@ -522,7 +522,7 @@ func (m *Attr) Reset() { *m = Attr{} } func (m *Attr) String() string { return proto.CompactTextString(m) } func (*Attr) ProtoMessage() {} func (*Attr) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{1} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{1} } func (m *Attr) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Attr.Unmarshal(m, b) @@ -611,7 +611,7 @@ func (m *Block) Reset() { *m = Block{} } func (m *Block) String() string { return proto.CompactTextString(m) } func (*Block) ProtoMessage() {} func (*Block) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{2} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{2} } func (m *Block) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Block.Unmarshal(m, b) @@ -697,7 +697,7 @@ func (m *BlockAttrs) Reset() { *m = BlockAttrs{} } func (m *BlockAttrs) String() string { return proto.CompactTextString(m) } func (*BlockAttrs) ProtoMessage() {} func (*BlockAttrs) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{3} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{3} } func (m *BlockAttrs) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockAttrs.Unmarshal(m, b) @@ -792,7 +792,7 @@ func (m *BlockList) Reset() { *m = BlockList{} } func (m *BlockList) String() string { return proto.CompactTextString(m) } func (*BlockList) ProtoMessage() {} func (*BlockList) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{4} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{4} } func (m *BlockList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockList.Unmarshal(m, b) @@ -875,7 +875,7 @@ func (m *BlockSet) Reset() { *m = BlockSet{} } func (m *BlockSet) String() string { return proto.CompactTextString(m) } func (*BlockSet) ProtoMessage() {} func (*BlockSet) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{5} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{5} } func (m *BlockSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockSet.Unmarshal(m, b) @@ -974,7 +974,7 @@ func (m *BlockMap) Reset() { *m = BlockMap{} } func (m *BlockMap) String() string { return proto.CompactTextString(m) } func (*BlockMap) ProtoMessage() {} func (*BlockMap) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{6} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{6} } func (m *BlockMap) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockMap.Unmarshal(m, b) @@ -1044,7 +1044,7 @@ func (m *Literal) Reset() { *m = Literal{} } func (m *Literal) String() string { return proto.CompactTextString(m) } func (*Literal) ProtoMessage() {} func (*Literal) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{7} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{7} } func (m *Literal) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Literal.Unmarshal(m, b) @@ -1108,7 +1108,7 @@ func (m *Default) Reset() { *m = Default{} } func (m *Default) String() string { return proto.CompactTextString(m) } func (*Default) ProtoMessage() {} func (*Default) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{8} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{8} } func (m *Default) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Default.Unmarshal(m, b) @@ -1182,7 +1182,7 @@ func (m *Object) Reset() { *m = Object{} } func (m *Object) String() string { return proto.CompactTextString(m) } func (*Object) ProtoMessage() {} func (*Object) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{9} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{9} } func (m *Object) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Object.Unmarshal(m, b) @@ -1238,7 +1238,7 @@ func (m *Array) Reset() { *m = Array{} } func (m *Array) String() string { return proto.CompactTextString(m) } func (*Array) ProtoMessage() {} func (*Array) Descriptor() ([]byte, []int) { - return fileDescriptor_hcl_spec_45ead239ae3df7c4, []int{10} + return fileDescriptor_hcl_spec_8d078e4df12ae415, []int{10} } func (m *Array) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Array.Unmarshal(m, b) @@ -1281,10 +1281,10 @@ func init() { } func init() { - proto.RegisterFile("plugins/shared/hclspec/hcl_spec.proto", fileDescriptor_hcl_spec_45ead239ae3df7c4) + proto.RegisterFile("plugins/shared/hclspec/hcl_spec.proto", fileDescriptor_hcl_spec_8d078e4df12ae415) } -var fileDescriptor_hcl_spec_45ead239ae3df7c4 = []byte{ +var fileDescriptor_hcl_spec_8d078e4df12ae415 = []byte{ // 624 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x96, 0x4d, 0x6f, 0xd3, 0x4c, 0x10, 0xc7, 0xe3, 0xc4, 0xaf, 0xd3, 0xc3, 0xf3, 0x68, 0x85, 0x90, 0x55, 0x0e, 0x54, 0x96, 0x40, diff --git a/plugins/shared/structs/proto/attribute.pb.go b/plugins/shared/structs/proto/attribute.pb.go index fa61b0cc1c62..eaa0fca68b23 100644 --- a/plugins/shared/structs/proto/attribute.pb.go +++ b/plugins/shared/structs/proto/attribute.pb.go @@ -38,7 +38,7 @@ func (m *Attribute) Reset() { *m = Attribute{} } func (m *Attribute) String() string { return proto.CompactTextString(m) } func (*Attribute) ProtoMessage() {} func (*Attribute) Descriptor() ([]byte, []int) { - return fileDescriptor_attribute_47573829d12e3945, []int{0} + return fileDescriptor_attribute_aa187fb710a98f5a, []int{0} } func (m *Attribute) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Attribute.Unmarshal(m, b) @@ -230,10 +230,10 @@ func init() { } func init() { - proto.RegisterFile("plugins/shared/structs/proto/attribute.proto", fileDescriptor_attribute_47573829d12e3945) + proto.RegisterFile("plugins/shared/structs/proto/attribute.proto", fileDescriptor_attribute_aa187fb710a98f5a) } -var fileDescriptor_attribute_47573829d12e3945 = []byte{ +var fileDescriptor_attribute_aa187fb710a98f5a = []byte{ // 218 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x34, 0x8f, 0xb1, 0x4e, 0xc3, 0x30, 0x10, 0x40, 0x63, 0xda, 0x34, 0xc9, 0x8d, 0x99, 0x8a, 0x10, 0x22, 0x62, 0x40, 0x19, 0x90, 0x33, diff --git a/plugins/shared/structs/proto/recoverable_error.pb.go b/plugins/shared/structs/proto/recoverable_error.pb.go index 236c50dfdd1f..fdaf7973e524 100644 --- a/plugins/shared/structs/proto/recoverable_error.pb.go +++ b/plugins/shared/structs/proto/recoverable_error.pb.go @@ -31,7 +31,7 @@ func (m *RecoverableError) Reset() { *m = RecoverableError{} } func (m *RecoverableError) String() string { return proto.CompactTextString(m) } func (*RecoverableError) ProtoMessage() {} func (*RecoverableError) Descriptor() ([]byte, []int) { - return fileDescriptor_recoverable_error_8c5d7f86073ca00c, []int{0} + return fileDescriptor_recoverable_error_f746254fd69675b0, []int{0} } func (m *RecoverableError) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RecoverableError.Unmarshal(m, b) @@ -63,10 +63,10 @@ func init() { } func init() { - proto.RegisterFile("plugins/shared/structs/proto/recoverable_error.proto", fileDescriptor_recoverable_error_8c5d7f86073ca00c) + proto.RegisterFile("plugins/shared/structs/proto/recoverable_error.proto", fileDescriptor_recoverable_error_f746254fd69675b0) } -var fileDescriptor_recoverable_error_8c5d7f86073ca00c = []byte{ +var fileDescriptor_recoverable_error_f746254fd69675b0 = []byte{ // 138 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x32, 0x29, 0xc8, 0x29, 0x4d, 0xcf, 0xcc, 0x2b, 0xd6, 0x2f, 0xce, 0x48, 0x2c, 0x4a, 0x4d, 0xd1, 0x2f, 0x2e, 0x29, 0x2a, 0x4d, diff --git a/plugins/shared/structs/proto/stats.pb.go b/plugins/shared/structs/proto/stats.pb.go index 51ef147faa9e..38267ebef975 100644 --- a/plugins/shared/structs/proto/stats.pb.go +++ b/plugins/shared/structs/proto/stats.pb.go @@ -35,7 +35,7 @@ func (m *StatObject) Reset() { *m = StatObject{} } func (m *StatObject) String() string { return proto.CompactTextString(m) } func (*StatObject) ProtoMessage() {} func (*StatObject) Descriptor() ([]byte, []int) { - return fileDescriptor_stats_9457a07d62f0d5fa, []int{0} + return fileDescriptor_stats_73a5e405c9cf442c, []int{0} } func (m *StatObject) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatObject.Unmarshal(m, b) @@ -100,7 +100,7 @@ func (m *StatValue) Reset() { *m = StatValue{} } func (m *StatValue) String() string { return proto.CompactTextString(m) } func (*StatValue) ProtoMessage() {} func (*StatValue) Descriptor() ([]byte, []int) { - return fileDescriptor_stats_9457a07d62f0d5fa, []int{1} + return fileDescriptor_stats_73a5e405c9cf442c, []int{1} } func (m *StatValue) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatValue.Unmarshal(m, b) @@ -184,10 +184,10 @@ func init() { } func init() { - proto.RegisterFile("plugins/shared/structs/proto/stats.proto", fileDescriptor_stats_9457a07d62f0d5fa) + proto.RegisterFile("plugins/shared/structs/proto/stats.proto", fileDescriptor_stats_73a5e405c9cf442c) } -var fileDescriptor_stats_9457a07d62f0d5fa = []byte{ +var fileDescriptor_stats_73a5e405c9cf442c = []byte{ // 444 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0xd2, 0xdf, 0x6a, 0x13, 0x41, 0x14, 0x06, 0x70, 0x36, 0xdb, 0x24, 0xcd, 0xc9, 0x45, 0xed, 0x14, 0x61, 0x89, 0x22, 0xa1, 0x17,