From 6b2afc6b463ccf96d933a5e2166f7e8f02444efa Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Tue, 24 Feb 2026 17:20:19 +0200 Subject: [PATCH 1/4] api,stub: add dedicated RPC calls for all pod events. Define dedicated RPC calls on the wire for all pod lifecycle events. Update stub, builtin and WASM plugins accordingly. Signed-off-by: Krisztian Litkey --- pkg/adaptation/builtin/plugin.go | 68 +- pkg/api/api.pb.go | 3250 +++++++++++++++++------------- pkg/api/api.proto | 68 +- pkg/api/api_host.pb.go | 304 ++- pkg/api/api_plugin.pb.go | 128 +- pkg/api/api_service.pb.go | 12 +- pkg/api/api_ttrpc.pb.go | 96 +- pkg/api/api_vtproto.pb.go | 1262 ++++++++++-- pkg/api/event.go | 30 +- pkg/stub/stub.go | 68 +- plugins/wasm/plugin.go | 28 +- 11 files changed, 3657 insertions(+), 1657 deletions(-) diff --git a/pkg/adaptation/builtin/plugin.go b/pkg/adaptation/builtin/plugin.go index bc0c0058..08ebcba1 100644 --- a/pkg/adaptation/builtin/plugin.go +++ b/pkg/adaptation/builtin/plugin.go @@ -131,6 +131,46 @@ func (b *BuiltinPlugin) Shutdown(context.Context, *api.ShutdownRequest) (*api.Sh return &api.ShutdownResponse{}, nil } +// RunPodSandbox implements PluginService of the NRI API. +func (b *BuiltinPlugin) RunPodSandbox(ctx context.Context, req *api.RunPodSandboxRequest) (*api.RunPodSandboxResponse, error) { + if b.Handlers.RunPodSandbox != nil { + return &api.RunPodSandboxResponse{}, b.Handlers.RunPodSandbox(ctx, req) + } + return &api.RunPodSandboxResponse{}, nil +} + +// UpdatePodSandbox implements PluginService of the NRI API. +func (b *BuiltinPlugin) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandboxRequest) (*api.UpdatePodSandboxResponse, error) { + if b.Handlers.UpdatePodSandbox != nil { + return b.Handlers.UpdatePodSandbox(ctx, req) + } + return &api.UpdatePodSandboxResponse{}, nil +} + +// PostUpdatePodSandbox is a handler for the PostUpdatePodSandbox event. +func (b *BuiltinPlugin) PostUpdatePodSandbox(ctx context.Context, req *api.PostUpdatePodSandboxRequest) (*api.PostUpdatePodSandboxResponse, error) { + if b.Handlers.PostUpdatePodSandbox != nil { + return &api.PostUpdatePodSandboxResponse{}, b.Handlers.PostUpdatePodSandbox(ctx, req) + } + return &api.PostUpdatePodSandboxResponse{}, nil +} + +// StopPodSandbox implements PluginService of the NRI API. +func (b *BuiltinPlugin) StopPodSandbox(ctx context.Context, req *api.StopPodSandboxRequest) (*api.StopPodSandboxResponse, error) { + if b.Handlers.StopPodSandbox != nil { + return &api.StopPodSandboxResponse{}, b.Handlers.StopPodSandbox(ctx, req) + } + return &api.StopPodSandboxResponse{}, nil +} + +// RemovePodSandbox implements PluginService of the NRI API. +func (b *BuiltinPlugin) RemovePodSandbox(ctx context.Context, req *api.RemovePodSandboxRequest) (*api.RemovePodSandboxResponse, error) { + if b.Handlers.RemovePodSandbox != nil { + return &api.RemovePodSandboxResponse{}, b.Handlers.RemovePodSandbox(ctx, req) + } + return &api.RemovePodSandboxResponse{}, nil +} + // CreateContainer implements PluginService of the NRI API. func (b *BuiltinPlugin) CreateContainer(ctx context.Context, req *api.CreateContainerRequest) (*api.CreateContainerResponse, error) { if b.Handlers.CreateContainer != nil { @@ -159,18 +199,6 @@ func (b *BuiltinPlugin) StopContainer(ctx context.Context, req *api.StopContaine func (b *BuiltinPlugin) StateChange(ctx context.Context, evt *api.StateChangeEvent) (*api.StateChangeResponse, error) { var err error switch evt.Event { - case api.Event_RUN_POD_SANDBOX: - if b.Handlers.RunPodSandbox != nil { - err = b.Handlers.RunPodSandbox(ctx, evt) - } - case api.Event_STOP_POD_SANDBOX: - if b.Handlers.StopPodSandbox != nil { - err = b.Handlers.StopPodSandbox(ctx, evt) - } - case api.Event_REMOVE_POD_SANDBOX: - if b.Handlers.RemovePodSandbox != nil { - err = b.Handlers.RemovePodSandbox(ctx, evt) - } case api.Event_POST_CREATE_CONTAINER: if b.Handlers.PostCreateContainer != nil { err = b.Handlers.PostCreateContainer(ctx, evt) @@ -196,22 +224,6 @@ func (b *BuiltinPlugin) StateChange(ctx context.Context, evt *api.StateChangeEve return &api.StateChangeResponse{}, err } -// UpdatePodSandbox implements PluginService of the NRI API. -func (b *BuiltinPlugin) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandboxRequest) (*api.UpdatePodSandboxResponse, error) { - if b.Handlers.UpdatePodSandbox != nil { - return b.Handlers.UpdatePodSandbox(ctx, req) - } - return &api.UpdatePodSandboxResponse{}, nil -} - -// PostUpdatePodSandbox is a handler for the PostUpdatePodSandbox event. -func (b *BuiltinPlugin) PostUpdatePodSandbox(ctx context.Context, req *api.PostUpdatePodSandboxRequest) error { - if b.Handlers.PostUpdatePodSandbox != nil { - return b.Handlers.PostUpdatePodSandbox(ctx, req) - } - return nil -} - // ValidateContainerAdjustment implements PluginService of the NRI API. func (b *BuiltinPlugin) ValidateContainerAdjustment(ctx context.Context, req *api.ValidateContainerAdjustmentRequest) (*api.ValidateContainerAdjustmentResponse, error) { if b.Handlers.ValidateContainerAdjustment != nil { diff --git a/pkg/api/api.pb.go b/pkg/api/api.pb.go index 11e4904c..9d68dc6f 100644 --- a/pkg/api/api.pb.go +++ b/pkg/api/api.pb.go @@ -621,7 +621,7 @@ func (x SecurityProfile_ProfileType) Number() protoreflect.EnumNumber { // Deprecated: Use SecurityProfile_ProfileType.Descriptor instead. func (SecurityProfile_ProfileType) EnumDescriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{37, 0} + return file_pkg_api_api_proto_rawDescGZIP(), []int{45, 0} } type RegisterPluginRequest struct { @@ -1097,6 +1097,264 @@ func (x *SynchronizeResponse) GetMore() bool { return false } +type RunPodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod being created. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` +} + +func (x *RunPodSandboxRequest) Reset() { + *x = RunPodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunPodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunPodSandboxRequest) ProtoMessage() {} + +func (x *RunPodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunPodSandboxRequest.ProtoReflect.Descriptor instead. +func (*RunPodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{8} +} + +func (x *RunPodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +type RunPodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RunPodSandboxResponse) Reset() { + *x = RunPodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunPodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunPodSandboxResponse) ProtoMessage() {} + +func (x *RunPodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunPodSandboxResponse.ProtoReflect.Descriptor instead. +func (*RunPodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{9} +} + +type StopPodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod being stopped. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` +} + +func (x *StopPodSandboxRequest) Reset() { + *x = StopPodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopPodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopPodSandboxRequest) ProtoMessage() {} + +func (x *StopPodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopPodSandboxRequest.ProtoReflect.Descriptor instead. +func (*StopPodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{10} +} + +func (x *StopPodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +type StopPodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StopPodSandboxResponse) Reset() { + *x = StopPodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopPodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopPodSandboxResponse) ProtoMessage() {} + +func (x *StopPodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopPodSandboxResponse.ProtoReflect.Descriptor instead. +func (*StopPodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{11} +} + +type RemovePodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod being removed. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` +} + +func (x *RemovePodSandboxRequest) Reset() { + *x = RemovePodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemovePodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemovePodSandboxRequest) ProtoMessage() {} + +func (x *RemovePodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemovePodSandboxRequest.ProtoReflect.Descriptor instead. +func (*RemovePodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{12} +} + +func (x *RemovePodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +type RemovePodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemovePodSandboxResponse) Reset() { + *x = RemovePodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemovePodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemovePodSandboxResponse) ProtoMessage() {} + +func (x *RemovePodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemovePodSandboxResponse.ProtoReflect.Descriptor instead. +func (*RemovePodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{13} +} + type CreateContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1111,7 +1369,7 @@ type CreateContainerRequest struct { func (x *CreateContainerRequest) Reset() { *x = CreateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[8] + mi := &file_pkg_api_api_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1124,7 +1382,7 @@ func (x *CreateContainerRequest) String() string { func (*CreateContainerRequest) ProtoMessage() {} func (x *CreateContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[8] + mi := &file_pkg_api_api_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +1395,7 @@ func (x *CreateContainerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContainerRequest.ProtoReflect.Descriptor instead. func (*CreateContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{8} + return file_pkg_api_api_proto_rawDescGZIP(), []int{14} } func (x *CreateContainerRequest) GetPod() *PodSandbox { @@ -1170,7 +1428,7 @@ type CreateContainerResponse struct { func (x *CreateContainerResponse) Reset() { *x = CreateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[9] + mi := &file_pkg_api_api_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1183,7 +1441,7 @@ func (x *CreateContainerResponse) String() string { func (*CreateContainerResponse) ProtoMessage() {} func (x *CreateContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[9] + mi := &file_pkg_api_api_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1196,7 +1454,7 @@ func (x *CreateContainerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContainerResponse.ProtoReflect.Descriptor instead. func (*CreateContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{9} + return file_pkg_api_api_proto_rawDescGZIP(), []int{15} } func (x *CreateContainerResponse) GetAdjust() *ContainerAdjustment { @@ -1236,7 +1494,7 @@ type UpdateContainerRequest struct { func (x *UpdateContainerRequest) Reset() { *x = UpdateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[10] + mi := &file_pkg_api_api_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1249,7 +1507,7 @@ func (x *UpdateContainerRequest) String() string { func (*UpdateContainerRequest) ProtoMessage() {} func (x *UpdateContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[10] + mi := &file_pkg_api_api_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1262,7 +1520,7 @@ func (x *UpdateContainerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContainerRequest.ProtoReflect.Descriptor instead. func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{10} + return file_pkg_api_api_proto_rawDescGZIP(), []int{16} } func (x *UpdateContainerRequest) GetPod() *PodSandbox { @@ -1300,7 +1558,7 @@ type UpdateContainerResponse struct { func (x *UpdateContainerResponse) Reset() { *x = UpdateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[11] + mi := &file_pkg_api_api_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1313,7 +1571,7 @@ func (x *UpdateContainerResponse) String() string { func (*UpdateContainerResponse) ProtoMessage() {} func (x *UpdateContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[11] + mi := &file_pkg_api_api_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1326,7 +1584,7 @@ func (x *UpdateContainerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateContainerResponse.ProtoReflect.Descriptor instead. func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{11} + return file_pkg_api_api_proto_rawDescGZIP(), []int{17} } func (x *UpdateContainerResponse) GetUpdate() []*ContainerUpdate { @@ -1357,7 +1615,7 @@ type StopContainerRequest struct { func (x *StopContainerRequest) Reset() { *x = StopContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[12] + mi := &file_pkg_api_api_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1370,7 +1628,7 @@ func (x *StopContainerRequest) String() string { func (*StopContainerRequest) ProtoMessage() {} func (x *StopContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[12] + mi := &file_pkg_api_api_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1383,7 +1641,7 @@ func (x *StopContainerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopContainerRequest.ProtoReflect.Descriptor instead. func (*StopContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{12} + return file_pkg_api_api_proto_rawDescGZIP(), []int{18} } func (x *StopContainerRequest) GetPod() *PodSandbox { @@ -1412,7 +1670,7 @@ type StopContainerResponse struct { func (x *StopContainerResponse) Reset() { *x = StopContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[13] + mi := &file_pkg_api_api_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1425,7 +1683,7 @@ func (x *StopContainerResponse) String() string { func (*StopContainerResponse) ProtoMessage() {} func (x *StopContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[13] + mi := &file_pkg_api_api_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1438,7 +1696,7 @@ func (x *StopContainerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopContainerResponse.ProtoReflect.Descriptor instead. func (*StopContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{13} + return file_pkg_api_api_proto_rawDescGZIP(), []int{19} } func (x *StopContainerResponse) GetUpdate() []*ContainerUpdate { @@ -1464,7 +1722,7 @@ type UpdatePodSandboxRequest struct { func (x *UpdatePodSandboxRequest) Reset() { *x = UpdatePodSandboxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[14] + mi := &file_pkg_api_api_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1477,7 +1735,7 @@ func (x *UpdatePodSandboxRequest) String() string { func (*UpdatePodSandboxRequest) ProtoMessage() {} func (x *UpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[14] + mi := &file_pkg_api_api_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1490,7 +1748,7 @@ func (x *UpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePodSandboxRequest.ProtoReflect.Descriptor instead. func (*UpdatePodSandboxRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{14} + return file_pkg_api_api_proto_rawDescGZIP(), []int{20} } func (x *UpdatePodSandboxRequest) GetPod() *PodSandbox { @@ -1523,7 +1781,7 @@ type UpdatePodSandboxResponse struct { func (x *UpdatePodSandboxResponse) Reset() { *x = UpdatePodSandboxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[15] + mi := &file_pkg_api_api_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1536,7 +1794,7 @@ func (x *UpdatePodSandboxResponse) String() string { func (*UpdatePodSandboxResponse) ProtoMessage() {} func (x *UpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[15] + mi := &file_pkg_api_api_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1549,7 +1807,93 @@ func (x *UpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePodSandboxResponse.ProtoReflect.Descriptor instead. func (*UpdatePodSandboxResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{15} + return file_pkg_api_api_proto_rawDescGZIP(), []int{21} +} + +type PostUpdatePodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated pod. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` +} + +func (x *PostUpdatePodSandboxRequest) Reset() { + *x = PostUpdatePodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostUpdatePodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostUpdatePodSandboxRequest) ProtoMessage() {} + +func (x *PostUpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostUpdatePodSandboxRequest.ProtoReflect.Descriptor instead. +func (*PostUpdatePodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{22} +} + +func (x *PostUpdatePodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +type PostUpdatePodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PostUpdatePodSandboxResponse) Reset() { + *x = PostUpdatePodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostUpdatePodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostUpdatePodSandboxResponse) ProtoMessage() {} + +func (x *PostUpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostUpdatePodSandboxResponse.ProtoReflect.Descriptor instead. +func (*PostUpdatePodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{23} } type StateChangeEvent struct { @@ -1570,7 +1914,7 @@ type StateChangeEvent struct { func (x *StateChangeEvent) Reset() { *x = StateChangeEvent{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[16] + mi := &file_pkg_api_api_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1583,7 +1927,7 @@ func (x *StateChangeEvent) String() string { func (*StateChangeEvent) ProtoMessage() {} func (x *StateChangeEvent) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[16] + mi := &file_pkg_api_api_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1596,7 +1940,7 @@ func (x *StateChangeEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use StateChangeEvent.ProtoReflect.Descriptor instead. func (*StateChangeEvent) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{16} + return file_pkg_api_api_proto_rawDescGZIP(), []int{24} } func (x *StateChangeEvent) GetEvent() Event { @@ -1642,7 +1986,7 @@ type ValidateContainerAdjustmentRequest struct { func (x *ValidateContainerAdjustmentRequest) Reset() { *x = ValidateContainerAdjustmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[17] + mi := &file_pkg_api_api_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1655,7 +1999,7 @@ func (x *ValidateContainerAdjustmentRequest) String() string { func (*ValidateContainerAdjustmentRequest) ProtoMessage() {} func (x *ValidateContainerAdjustmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[17] + mi := &file_pkg_api_api_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1668,7 +2012,7 @@ func (x *ValidateContainerAdjustmentRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ValidateContainerAdjustmentRequest.ProtoReflect.Descriptor instead. func (*ValidateContainerAdjustmentRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{17} + return file_pkg_api_api_proto_rawDescGZIP(), []int{25} } func (x *ValidateContainerAdjustmentRequest) GetPod() *PodSandbox { @@ -1725,7 +2069,7 @@ type PluginInstance struct { func (x *PluginInstance) Reset() { *x = PluginInstance{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[18] + mi := &file_pkg_api_api_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1738,7 +2082,7 @@ func (x *PluginInstance) String() string { func (*PluginInstance) ProtoMessage() {} func (x *PluginInstance) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[18] + mi := &file_pkg_api_api_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1751,7 +2095,7 @@ func (x *PluginInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use PluginInstance.ProtoReflect.Descriptor instead. func (*PluginInstance) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{18} + return file_pkg_api_api_proto_rawDescGZIP(), []int{26} } func (x *PluginInstance) GetName() string { @@ -1780,7 +2124,7 @@ type ValidateContainerAdjustmentResponse struct { func (x *ValidateContainerAdjustmentResponse) Reset() { *x = ValidateContainerAdjustmentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[19] + mi := &file_pkg_api_api_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1793,7 +2137,7 @@ func (x *ValidateContainerAdjustmentResponse) String() string { func (*ValidateContainerAdjustmentResponse) ProtoMessage() {} func (x *ValidateContainerAdjustmentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[19] + mi := &file_pkg_api_api_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1806,7 +2150,7 @@ func (x *ValidateContainerAdjustmentResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use ValidateContainerAdjustmentResponse.ProtoReflect.Descriptor instead. func (*ValidateContainerAdjustmentResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{19} + return file_pkg_api_api_proto_rawDescGZIP(), []int{27} } func (x *ValidateContainerAdjustmentResponse) GetReject() bool { @@ -1833,7 +2177,7 @@ type Empty struct { func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[20] + mi := &file_pkg_api_api_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1846,7 +2190,7 @@ func (x *Empty) String() string { func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[20] + mi := &file_pkg_api_api_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1859,7 +2203,7 @@ func (x *Empty) ProtoReflect() protoreflect.Message { // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{20} + return file_pkg_api_api_proto_rawDescGZIP(), []int{28} } // Pod metadata that is considered relevant for a plugin. @@ -1883,7 +2227,7 @@ type PodSandbox struct { func (x *PodSandbox) Reset() { *x = PodSandbox{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[21] + mi := &file_pkg_api_api_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1896,7 +2240,7 @@ func (x *PodSandbox) String() string { func (*PodSandbox) ProtoMessage() {} func (x *PodSandbox) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[21] + mi := &file_pkg_api_api_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1909,7 +2253,7 @@ func (x *PodSandbox) ProtoReflect() protoreflect.Message { // Deprecated: Use PodSandbox.ProtoReflect.Descriptor instead. func (*PodSandbox) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{21} + return file_pkg_api_api_proto_rawDescGZIP(), []int{29} } func (x *PodSandbox) GetId() string { @@ -1999,7 +2343,7 @@ type LinuxPodSandbox struct { func (x *LinuxPodSandbox) Reset() { *x = LinuxPodSandbox{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[22] + mi := &file_pkg_api_api_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2012,7 +2356,7 @@ func (x *LinuxPodSandbox) String() string { func (*LinuxPodSandbox) ProtoMessage() {} func (x *LinuxPodSandbox) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[22] + mi := &file_pkg_api_api_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2025,7 +2369,7 @@ func (x *LinuxPodSandbox) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxPodSandbox.ProtoReflect.Descriptor instead. func (*LinuxPodSandbox) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{22} + return file_pkg_api_api_proto_rawDescGZIP(), []int{30} } func (x *LinuxPodSandbox) GetPodOverhead() *LinuxResources { @@ -2102,7 +2446,7 @@ type Container struct { func (x *Container) Reset() { *x = Container{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[23] + mi := &file_pkg_api_api_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2115,7 +2459,7 @@ func (x *Container) String() string { func (*Container) ProtoMessage() {} func (x *Container) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[23] + mi := &file_pkg_api_api_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2128,7 +2472,7 @@ func (x *Container) ProtoReflect() protoreflect.Message { // Deprecated: Use Container.ProtoReflect.Descriptor instead. func (*Container) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{23} + return file_pkg_api_api_proto_rawDescGZIP(), []int{31} } func (x *Container) GetId() string { @@ -2293,7 +2637,7 @@ type Mount struct { func (x *Mount) Reset() { *x = Mount{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[24] + mi := &file_pkg_api_api_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2306,7 +2650,7 @@ func (x *Mount) String() string { func (*Mount) ProtoMessage() {} func (x *Mount) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[24] + mi := &file_pkg_api_api_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2319,7 +2663,7 @@ func (x *Mount) ProtoReflect() protoreflect.Message { // Deprecated: Use Mount.ProtoReflect.Descriptor instead. func (*Mount) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{24} + return file_pkg_api_api_proto_rawDescGZIP(), []int{32} } func (x *Mount) GetDestination() string { @@ -2367,7 +2711,7 @@ type Hooks struct { func (x *Hooks) Reset() { *x = Hooks{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[25] + mi := &file_pkg_api_api_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2380,7 +2724,7 @@ func (x *Hooks) String() string { func (*Hooks) ProtoMessage() {} func (x *Hooks) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[25] + mi := &file_pkg_api_api_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2393,7 +2737,7 @@ func (x *Hooks) ProtoReflect() protoreflect.Message { // Deprecated: Use Hooks.ProtoReflect.Descriptor instead. func (*Hooks) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{25} + return file_pkg_api_api_proto_rawDescGZIP(), []int{33} } func (x *Hooks) GetPrestart() []*Hook { @@ -2453,7 +2797,7 @@ type Hook struct { func (x *Hook) Reset() { *x = Hook{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[26] + mi := &file_pkg_api_api_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2466,7 +2810,7 @@ func (x *Hook) String() string { func (*Hook) ProtoMessage() {} func (x *Hook) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[26] + mi := &file_pkg_api_api_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2479,7 +2823,7 @@ func (x *Hook) ProtoReflect() protoreflect.Message { // Deprecated: Use Hook.ProtoReflect.Descriptor instead. func (*Hook) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{26} + return file_pkg_api_api_proto_rawDescGZIP(), []int{34} } func (x *Hook) GetPath() string { @@ -2533,7 +2877,7 @@ type LinuxContainer struct { func (x *LinuxContainer) Reset() { *x = LinuxContainer{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[27] + mi := &file_pkg_api_api_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2546,7 +2890,7 @@ func (x *LinuxContainer) String() string { func (*LinuxContainer) ProtoMessage() {} func (x *LinuxContainer) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[27] + mi := &file_pkg_api_api_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2559,7 +2903,7 @@ func (x *LinuxContainer) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainer.ProtoReflect.Descriptor instead. func (*LinuxContainer) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{27} + return file_pkg_api_api_proto_rawDescGZIP(), []int{35} } func (x *LinuxContainer) GetNamespaces() []*LinuxNamespace { @@ -2659,7 +3003,7 @@ type LinuxNamespace struct { func (x *LinuxNamespace) Reset() { *x = LinuxNamespace{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[28] + mi := &file_pkg_api_api_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2672,7 +3016,7 @@ func (x *LinuxNamespace) String() string { func (*LinuxNamespace) ProtoMessage() {} func (x *LinuxNamespace) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[28] + mi := &file_pkg_api_api_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2685,7 +3029,7 @@ func (x *LinuxNamespace) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxNamespace.ProtoReflect.Descriptor instead. func (*LinuxNamespace) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{28} + return file_pkg_api_api_proto_rawDescGZIP(), []int{36} } func (x *LinuxNamespace) GetType() string { @@ -2720,7 +3064,7 @@ type LinuxDevice struct { func (x *LinuxDevice) Reset() { *x = LinuxDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[29] + mi := &file_pkg_api_api_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2733,7 +3077,7 @@ func (x *LinuxDevice) String() string { func (*LinuxDevice) ProtoMessage() {} func (x *LinuxDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[29] + mi := &file_pkg_api_api_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2746,7 +3090,7 @@ func (x *LinuxDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxDevice.ProtoReflect.Descriptor instead. func (*LinuxDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{29} + return file_pkg_api_api_proto_rawDescGZIP(), []int{37} } func (x *LinuxDevice) GetPath() string { @@ -2814,7 +3158,7 @@ type LinuxDeviceCgroup struct { func (x *LinuxDeviceCgroup) Reset() { *x = LinuxDeviceCgroup{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[30] + mi := &file_pkg_api_api_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2827,7 +3171,7 @@ func (x *LinuxDeviceCgroup) String() string { func (*LinuxDeviceCgroup) ProtoMessage() {} func (x *LinuxDeviceCgroup) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[30] + mi := &file_pkg_api_api_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2840,7 +3184,7 @@ func (x *LinuxDeviceCgroup) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxDeviceCgroup.ProtoReflect.Descriptor instead. func (*LinuxDeviceCgroup) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{30} + return file_pkg_api_api_proto_rawDescGZIP(), []int{38} } func (x *LinuxDeviceCgroup) GetAllow() bool { @@ -2890,7 +3234,7 @@ type CDIDevice struct { func (x *CDIDevice) Reset() { *x = CDIDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[31] + mi := &file_pkg_api_api_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2903,7 +3247,7 @@ func (x *CDIDevice) String() string { func (*CDIDevice) ProtoMessage() {} func (x *CDIDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[31] + mi := &file_pkg_api_api_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2916,7 +3260,7 @@ func (x *CDIDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use CDIDevice.ProtoReflect.Descriptor instead. func (*CDIDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{31} + return file_pkg_api_api_proto_rawDescGZIP(), []int{39} } func (x *CDIDevice) GetName() string { @@ -2940,7 +3284,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[32] + mi := &file_pkg_api_api_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2953,7 +3297,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[32] + mi := &file_pkg_api_api_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2966,7 +3310,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{32} + return file_pkg_api_api_proto_rawDescGZIP(), []int{40} } func (x *User) GetUid() uint32 { @@ -3009,7 +3353,7 @@ type LinuxResources struct { func (x *LinuxResources) Reset() { *x = LinuxResources{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[33] + mi := &file_pkg_api_api_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3022,7 +3366,7 @@ func (x *LinuxResources) String() string { func (*LinuxResources) ProtoMessage() {} func (x *LinuxResources) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[33] + mi := &file_pkg_api_api_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3035,7 +3379,7 @@ func (x *LinuxResources) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxResources.ProtoReflect.Descriptor instead. func (*LinuxResources) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{33} + return file_pkg_api_api_proto_rawDescGZIP(), []int{41} } func (x *LinuxResources) GetMemory() *LinuxMemory { @@ -3113,7 +3457,7 @@ type LinuxMemory struct { func (x *LinuxMemory) Reset() { *x = LinuxMemory{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[34] + mi := &file_pkg_api_api_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3126,7 +3470,7 @@ func (x *LinuxMemory) String() string { func (*LinuxMemory) ProtoMessage() {} func (x *LinuxMemory) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[34] + mi := &file_pkg_api_api_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3139,7 +3483,7 @@ func (x *LinuxMemory) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxMemory.ProtoReflect.Descriptor instead. func (*LinuxMemory) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{34} + return file_pkg_api_api_proto_rawDescGZIP(), []int{42} } func (x *LinuxMemory) GetLimit() *OptionalInt64 { @@ -3216,7 +3560,7 @@ type LinuxCPU struct { func (x *LinuxCPU) Reset() { *x = LinuxCPU{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[35] + mi := &file_pkg_api_api_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3229,7 +3573,7 @@ func (x *LinuxCPU) String() string { func (*LinuxCPU) ProtoMessage() {} func (x *LinuxCPU) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[35] + mi := &file_pkg_api_api_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3242,7 +3586,7 @@ func (x *LinuxCPU) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxCPU.ProtoReflect.Descriptor instead. func (*LinuxCPU) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{35} + return file_pkg_api_api_proto_rawDescGZIP(), []int{43} } func (x *LinuxCPU) GetShares() *OptionalUInt64 { @@ -3307,7 +3651,7 @@ type HugepageLimit struct { func (x *HugepageLimit) Reset() { *x = HugepageLimit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[36] + mi := &file_pkg_api_api_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3320,7 +3664,7 @@ func (x *HugepageLimit) String() string { func (*HugepageLimit) ProtoMessage() {} func (x *HugepageLimit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[36] + mi := &file_pkg_api_api_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3333,7 +3677,7 @@ func (x *HugepageLimit) ProtoReflect() protoreflect.Message { // Deprecated: Use HugepageLimit.ProtoReflect.Descriptor instead. func (*HugepageLimit) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{36} + return file_pkg_api_api_proto_rawDescGZIP(), []int{44} } func (x *HugepageLimit) GetPageSize() string { @@ -3363,7 +3707,7 @@ type SecurityProfile struct { func (x *SecurityProfile) Reset() { *x = SecurityProfile{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[37] + mi := &file_pkg_api_api_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3376,7 +3720,7 @@ func (x *SecurityProfile) String() string { func (*SecurityProfile) ProtoMessage() {} func (x *SecurityProfile) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[37] + mi := &file_pkg_api_api_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3389,7 +3733,7 @@ func (x *SecurityProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityProfile.ProtoReflect.Descriptor instead. func (*SecurityProfile) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{37} + return file_pkg_api_api_proto_rawDescGZIP(), []int{45} } func (x *SecurityProfile) GetProfileType() SecurityProfile_ProfileType { @@ -3420,7 +3764,7 @@ type POSIXRlimit struct { func (x *POSIXRlimit) Reset() { *x = POSIXRlimit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[38] + mi := &file_pkg_api_api_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3433,7 +3777,7 @@ func (x *POSIXRlimit) String() string { func (*POSIXRlimit) ProtoMessage() {} func (x *POSIXRlimit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[38] + mi := &file_pkg_api_api_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3446,7 +3790,7 @@ func (x *POSIXRlimit) ProtoReflect() protoreflect.Message { // Deprecated: Use POSIXRlimit.ProtoReflect.Descriptor instead. func (*POSIXRlimit) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{38} + return file_pkg_api_api_proto_rawDescGZIP(), []int{46} } func (x *POSIXRlimit) GetType() string { @@ -3482,7 +3826,7 @@ type LinuxPids struct { func (x *LinuxPids) Reset() { *x = LinuxPids{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[39] + mi := &file_pkg_api_api_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3495,7 +3839,7 @@ func (x *LinuxPids) String() string { func (*LinuxPids) ProtoMessage() {} func (x *LinuxPids) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[39] + mi := &file_pkg_api_api_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3508,7 +3852,7 @@ func (x *LinuxPids) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxPids.ProtoReflect.Descriptor instead. func (*LinuxPids) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{39} + return file_pkg_api_api_proto_rawDescGZIP(), []int{47} } func (x *LinuxPids) GetLimit() int64 { @@ -3532,7 +3876,7 @@ type LinuxIOPriority struct { func (x *LinuxIOPriority) Reset() { *x = LinuxIOPriority{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[40] + mi := &file_pkg_api_api_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3545,7 +3889,7 @@ func (x *LinuxIOPriority) String() string { func (*LinuxIOPriority) ProtoMessage() {} func (x *LinuxIOPriority) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[40] + mi := &file_pkg_api_api_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3558,7 +3902,7 @@ func (x *LinuxIOPriority) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxIOPriority.ProtoReflect.Descriptor instead. func (*LinuxIOPriority) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{40} + return file_pkg_api_api_proto_rawDescGZIP(), []int{48} } func (x *LinuxIOPriority) GetClass() IOPrioClass { @@ -3587,7 +3931,7 @@ type LinuxNetDevice struct { func (x *LinuxNetDevice) Reset() { *x = LinuxNetDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[41] + mi := &file_pkg_api_api_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3600,7 +3944,7 @@ func (x *LinuxNetDevice) String() string { func (*LinuxNetDevice) ProtoMessage() {} func (x *LinuxNetDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[41] + mi := &file_pkg_api_api_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3613,7 +3957,7 @@ func (x *LinuxNetDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxNetDevice.ProtoReflect.Descriptor instead. func (*LinuxNetDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{41} + return file_pkg_api_api_proto_rawDescGZIP(), []int{49} } func (x *LinuxNetDevice) GetName() string { @@ -3641,7 +3985,7 @@ type LinuxScheduler struct { func (x *LinuxScheduler) Reset() { *x = LinuxScheduler{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[42] + mi := &file_pkg_api_api_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3654,7 +3998,7 @@ func (x *LinuxScheduler) String() string { func (*LinuxScheduler) ProtoMessage() {} func (x *LinuxScheduler) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[42] + mi := &file_pkg_api_api_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3667,7 +4011,7 @@ func (x *LinuxScheduler) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxScheduler.ProtoReflect.Descriptor instead. func (*LinuxScheduler) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{42} + return file_pkg_api_api_proto_rawDescGZIP(), []int{50} } func (x *LinuxScheduler) GetPolicy() LinuxSchedulerPolicy { @@ -3738,7 +4082,7 @@ type ContainerAdjustment struct { func (x *ContainerAdjustment) Reset() { *x = ContainerAdjustment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[43] + mi := &file_pkg_api_api_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3751,7 +4095,7 @@ func (x *ContainerAdjustment) String() string { func (*ContainerAdjustment) ProtoMessage() {} func (x *ContainerAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[43] + mi := &file_pkg_api_api_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3764,7 +4108,7 @@ func (x *ContainerAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerAdjustment.ProtoReflect.Descriptor instead. func (*ContainerAdjustment) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{43} + return file_pkg_api_api_proto_rawDescGZIP(), []int{51} } func (x *ContainerAdjustment) GetAnnotations() map[string]string { @@ -3845,7 +4189,7 @@ type LinuxContainerAdjustment struct { func (x *LinuxContainerAdjustment) Reset() { *x = LinuxContainerAdjustment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[44] + mi := &file_pkg_api_api_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3858,7 +4202,7 @@ func (x *LinuxContainerAdjustment) String() string { func (*LinuxContainerAdjustment) ProtoMessage() {} func (x *LinuxContainerAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[44] + mi := &file_pkg_api_api_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3871,7 +4215,7 @@ func (x *LinuxContainerAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainerAdjustment.ProtoReflect.Descriptor instead. func (*LinuxContainerAdjustment) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{44} + return file_pkg_api_api_proto_rawDescGZIP(), []int{52} } func (x *LinuxContainerAdjustment) GetDevices() []*LinuxDevice { @@ -3968,7 +4312,7 @@ type LinuxSeccomp struct { func (x *LinuxSeccomp) Reset() { *x = LinuxSeccomp{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[45] + mi := &file_pkg_api_api_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3981,7 +4325,7 @@ func (x *LinuxSeccomp) String() string { func (*LinuxSeccomp) ProtoMessage() {} func (x *LinuxSeccomp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[45] + mi := &file_pkg_api_api_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3994,7 +4338,7 @@ func (x *LinuxSeccomp) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSeccomp.ProtoReflect.Descriptor instead. func (*LinuxSeccomp) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{45} + return file_pkg_api_api_proto_rawDescGZIP(), []int{53} } func (x *LinuxSeccomp) GetDefaultAction() string { @@ -4060,7 +4404,7 @@ type LinuxSyscall struct { func (x *LinuxSyscall) Reset() { *x = LinuxSyscall{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[46] + mi := &file_pkg_api_api_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4073,7 +4417,7 @@ func (x *LinuxSyscall) String() string { func (*LinuxSyscall) ProtoMessage() {} func (x *LinuxSyscall) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[46] + mi := &file_pkg_api_api_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4086,7 +4430,7 @@ func (x *LinuxSyscall) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSyscall.ProtoReflect.Descriptor instead. func (*LinuxSyscall) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{46} + return file_pkg_api_api_proto_rawDescGZIP(), []int{54} } func (x *LinuxSyscall) GetNames() []string { @@ -4131,7 +4475,7 @@ type LinuxSeccompArg struct { func (x *LinuxSeccompArg) Reset() { *x = LinuxSeccompArg{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[47] + mi := &file_pkg_api_api_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4144,7 +4488,7 @@ func (x *LinuxSeccompArg) String() string { func (*LinuxSeccompArg) ProtoMessage() {} func (x *LinuxSeccompArg) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[47] + mi := &file_pkg_api_api_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4157,7 +4501,7 @@ func (x *LinuxSeccompArg) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSeccompArg.ProtoReflect.Descriptor instead. func (*LinuxSeccompArg) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{47} + return file_pkg_api_api_proto_rawDescGZIP(), []int{55} } func (x *LinuxSeccompArg) GetIndex() uint32 { @@ -4202,7 +4546,7 @@ type ContainerUpdate struct { func (x *ContainerUpdate) Reset() { *x = ContainerUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[48] + mi := &file_pkg_api_api_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4215,7 +4559,7 @@ func (x *ContainerUpdate) String() string { func (*ContainerUpdate) ProtoMessage() {} func (x *ContainerUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[48] + mi := &file_pkg_api_api_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4228,7 +4572,7 @@ func (x *ContainerUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerUpdate.ProtoReflect.Descriptor instead. func (*ContainerUpdate) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{48} + return file_pkg_api_api_proto_rawDescGZIP(), []int{56} } func (x *ContainerUpdate) GetContainerId() string { @@ -4264,7 +4608,7 @@ type LinuxContainerUpdate struct { func (x *LinuxContainerUpdate) Reset() { *x = LinuxContainerUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[49] + mi := &file_pkg_api_api_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4277,7 +4621,7 @@ func (x *LinuxContainerUpdate) String() string { func (*LinuxContainerUpdate) ProtoMessage() {} func (x *LinuxContainerUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[49] + mi := &file_pkg_api_api_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4290,7 +4634,7 @@ func (x *LinuxContainerUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainerUpdate.ProtoReflect.Descriptor instead. func (*LinuxContainerUpdate) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{49} + return file_pkg_api_api_proto_rawDescGZIP(), []int{57} } func (x *LinuxContainerUpdate) GetResources() *LinuxResources { @@ -4315,7 +4659,7 @@ type ContainerEviction struct { func (x *ContainerEviction) Reset() { *x = ContainerEviction{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[50] + mi := &file_pkg_api_api_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4328,7 +4672,7 @@ func (x *ContainerEviction) String() string { func (*ContainerEviction) ProtoMessage() {} func (x *ContainerEviction) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[50] + mi := &file_pkg_api_api_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4341,7 +4685,7 @@ func (x *ContainerEviction) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerEviction.ProtoReflect.Descriptor instead. func (*ContainerEviction) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{50} + return file_pkg_api_api_proto_rawDescGZIP(), []int{58} } func (x *ContainerEviction) GetContainerId() string { @@ -4373,7 +4717,7 @@ type LinuxRdt struct { func (x *LinuxRdt) Reset() { *x = LinuxRdt{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[51] + mi := &file_pkg_api_api_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4386,7 +4730,7 @@ func (x *LinuxRdt) String() string { func (*LinuxRdt) ProtoMessage() {} func (x *LinuxRdt) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[51] + mi := &file_pkg_api_api_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4399,7 +4743,7 @@ func (x *LinuxRdt) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxRdt.ProtoReflect.Descriptor instead. func (*LinuxRdt) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{51} + return file_pkg_api_api_proto_rawDescGZIP(), []int{59} } func (x *LinuxRdt) GetClosId() *OptionalString { @@ -4443,7 +4787,7 @@ type KeyValue struct { func (x *KeyValue) Reset() { *x = KeyValue{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[52] + mi := &file_pkg_api_api_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4456,7 +4800,7 @@ func (x *KeyValue) String() string { func (*KeyValue) ProtoMessage() {} func (x *KeyValue) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[52] + mi := &file_pkg_api_api_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4469,7 +4813,7 @@ func (x *KeyValue) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValue.ProtoReflect.Descriptor instead. func (*KeyValue) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{52} + return file_pkg_api_api_proto_rawDescGZIP(), []int{60} } func (x *KeyValue) GetKey() string { @@ -4498,7 +4842,7 @@ type OptionalString struct { func (x *OptionalString) Reset() { *x = OptionalString{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[53] + mi := &file_pkg_api_api_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4511,7 +4855,7 @@ func (x *OptionalString) String() string { func (*OptionalString) ProtoMessage() {} func (x *OptionalString) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[53] + mi := &file_pkg_api_api_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4524,7 +4868,7 @@ func (x *OptionalString) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalString.ProtoReflect.Descriptor instead. func (*OptionalString) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{53} + return file_pkg_api_api_proto_rawDescGZIP(), []int{61} } func (x *OptionalString) GetValue() string { @@ -4546,7 +4890,7 @@ type OptionalRepeatedString struct { func (x *OptionalRepeatedString) Reset() { *x = OptionalRepeatedString{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[54] + mi := &file_pkg_api_api_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4559,7 +4903,7 @@ func (x *OptionalRepeatedString) String() string { func (*OptionalRepeatedString) ProtoMessage() {} func (x *OptionalRepeatedString) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[54] + mi := &file_pkg_api_api_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4572,7 +4916,7 @@ func (x *OptionalRepeatedString) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalRepeatedString.ProtoReflect.Descriptor instead. func (*OptionalRepeatedString) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{54} + return file_pkg_api_api_proto_rawDescGZIP(), []int{62} } func (x *OptionalRepeatedString) GetValue() []string { @@ -4594,7 +4938,7 @@ type OptionalInt struct { func (x *OptionalInt) Reset() { *x = OptionalInt{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[55] + mi := &file_pkg_api_api_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4607,7 +4951,7 @@ func (x *OptionalInt) String() string { func (*OptionalInt) ProtoMessage() {} func (x *OptionalInt) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[55] + mi := &file_pkg_api_api_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4620,7 +4964,7 @@ func (x *OptionalInt) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt.ProtoReflect.Descriptor instead. func (*OptionalInt) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{55} + return file_pkg_api_api_proto_rawDescGZIP(), []int{63} } func (x *OptionalInt) GetValue() int64 { @@ -4642,7 +4986,7 @@ type OptionalInt32 struct { func (x *OptionalInt32) Reset() { *x = OptionalInt32{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[56] + mi := &file_pkg_api_api_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4655,7 +4999,7 @@ func (x *OptionalInt32) String() string { func (*OptionalInt32) ProtoMessage() {} func (x *OptionalInt32) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[56] + mi := &file_pkg_api_api_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4668,7 +5012,7 @@ func (x *OptionalInt32) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt32.ProtoReflect.Descriptor instead. func (*OptionalInt32) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{56} + return file_pkg_api_api_proto_rawDescGZIP(), []int{64} } func (x *OptionalInt32) GetValue() int32 { @@ -4690,7 +5034,7 @@ type OptionalUInt32 struct { func (x *OptionalUInt32) Reset() { *x = OptionalUInt32{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[57] + mi := &file_pkg_api_api_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4703,7 +5047,7 @@ func (x *OptionalUInt32) String() string { func (*OptionalUInt32) ProtoMessage() {} func (x *OptionalUInt32) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[57] + mi := &file_pkg_api_api_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4716,7 +5060,7 @@ func (x *OptionalUInt32) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalUInt32.ProtoReflect.Descriptor instead. func (*OptionalUInt32) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{57} + return file_pkg_api_api_proto_rawDescGZIP(), []int{65} } func (x *OptionalUInt32) GetValue() uint32 { @@ -4738,7 +5082,7 @@ type OptionalInt64 struct { func (x *OptionalInt64) Reset() { *x = OptionalInt64{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[58] + mi := &file_pkg_api_api_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4751,7 +5095,7 @@ func (x *OptionalInt64) String() string { func (*OptionalInt64) ProtoMessage() {} func (x *OptionalInt64) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[58] + mi := &file_pkg_api_api_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4764,7 +5108,7 @@ func (x *OptionalInt64) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt64.ProtoReflect.Descriptor instead. func (*OptionalInt64) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{58} + return file_pkg_api_api_proto_rawDescGZIP(), []int{66} } func (x *OptionalInt64) GetValue() int64 { @@ -4786,7 +5130,7 @@ type OptionalUInt64 struct { func (x *OptionalUInt64) Reset() { *x = OptionalUInt64{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[59] + mi := &file_pkg_api_api_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4799,7 +5143,7 @@ func (x *OptionalUInt64) String() string { func (*OptionalUInt64) ProtoMessage() {} func (x *OptionalUInt64) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[59] + mi := &file_pkg_api_api_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4812,7 +5156,7 @@ func (x *OptionalUInt64) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalUInt64.ProtoReflect.Descriptor instead. func (*OptionalUInt64) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{59} + return file_pkg_api_api_proto_rawDescGZIP(), []int{67} } func (x *OptionalUInt64) GetValue() uint64 { @@ -4834,7 +5178,7 @@ type OptionalBool struct { func (x *OptionalBool) Reset() { *x = OptionalBool{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[60] + mi := &file_pkg_api_api_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4847,7 +5191,7 @@ func (x *OptionalBool) String() string { func (*OptionalBool) ProtoMessage() {} func (x *OptionalBool) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[60] + mi := &file_pkg_api_api_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4860,7 +5204,7 @@ func (x *OptionalBool) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalBool.ProtoReflect.Descriptor instead. func (*OptionalBool) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{60} + return file_pkg_api_api_proto_rawDescGZIP(), []int{68} } func (x *OptionalBool) GetValue() bool { @@ -4882,7 +5226,7 @@ type OptionalFileMode struct { func (x *OptionalFileMode) Reset() { *x = OptionalFileMode{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[61] + mi := &file_pkg_api_api_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4895,7 +5239,7 @@ func (x *OptionalFileMode) String() string { func (*OptionalFileMode) ProtoMessage() {} func (x *OptionalFileMode) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[61] + mi := &file_pkg_api_api_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4908,7 +5252,7 @@ func (x *OptionalFileMode) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalFileMode.ProtoReflect.Descriptor instead. func (*OptionalFileMode) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{61} + return file_pkg_api_api_proto_rawDescGZIP(), []int{69} } func (x *OptionalFileMode) GetValue() uint32 { @@ -4935,7 +5279,7 @@ type CompoundFieldOwners struct { func (x *CompoundFieldOwners) Reset() { *x = CompoundFieldOwners{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[62] + mi := &file_pkg_api_api_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4948,7 +5292,7 @@ func (x *CompoundFieldOwners) String() string { func (*CompoundFieldOwners) ProtoMessage() {} func (x *CompoundFieldOwners) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[62] + mi := &file_pkg_api_api_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4961,7 +5305,7 @@ func (x *CompoundFieldOwners) ProtoReflect() protoreflect.Message { // Deprecated: Use CompoundFieldOwners.ProtoReflect.Descriptor instead. func (*CompoundFieldOwners) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{62} + return file_pkg_api_api_proto_rawDescGZIP(), []int{70} } func (x *CompoundFieldOwners) GetOwners() map[string]string { @@ -4990,7 +5334,7 @@ type FieldOwners struct { func (x *FieldOwners) Reset() { *x = FieldOwners{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[63] + mi := &file_pkg_api_api_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5003,7 +5347,7 @@ func (x *FieldOwners) String() string { func (*FieldOwners) ProtoMessage() {} func (x *FieldOwners) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[63] + mi := &file_pkg_api_api_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5016,7 +5360,7 @@ func (x *FieldOwners) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldOwners.ProtoReflect.Descriptor instead. func (*FieldOwners) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{63} + return file_pkg_api_api_proto_rawDescGZIP(), []int{71} } func (x *FieldOwners) GetSimple() map[int32]string { @@ -5047,7 +5391,7 @@ type OwningPlugins struct { func (x *OwningPlugins) Reset() { *x = OwningPlugins{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[64] + mi := &file_pkg_api_api_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5060,7 +5404,7 @@ func (x *OwningPlugins) String() string { func (*OwningPlugins) ProtoMessage() {} func (x *OwningPlugins) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[64] + mi := &file_pkg_api_api_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5073,7 +5417,7 @@ func (x *OwningPlugins) ProtoReflect() protoreflect.Message { // Deprecated: Use OwningPlugins.ProtoReflect.Descriptor instead. func (*OwningPlugins) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{64} + return file_pkg_api_api_proto_rawDescGZIP(), []int{72} } func (x *OwningPlugins) GetOwners() map[string]*FieldOwners { @@ -5154,965 +5498,1021 @@ var file_pkg_api_api_proto_rawDesc = []byte{ 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, - 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, - 0x74, 0x22, 0xda, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, - 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, - 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, - 0x4d, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x97, - 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, + 0x52, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x22, 0x4a, 0x0a, 0x14, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, + 0x6f, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x53, + 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, + 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, + 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, + 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, + 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x17, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, - 0x63, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, - 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, - 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xfc, 0x01, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, + 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, + 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, + 0x89, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x5e, 0x0a, 0x18, - 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x15, 0x53, + 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, + 0x70, 0x6f, 0x64, 0x12, 0x5e, 0x0a, 0x18, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x05, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, - 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, + 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x16, 0x6f, 0x76, 0x65, + 0x72, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, - 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x22, 0x96, 0x03, 0x0a, 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, + 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, + 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, + 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, - 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, - 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, - 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, - 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, - 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x55, 0x0a, 0x23, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, - 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x07, - 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x80, 0x04, 0x0a, 0x0a, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, + 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x96, 0x03, 0x0a, + 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, + 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x3b, - 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, - 0x64, 0x62, 0x6f, 0x78, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x69, 0x70, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x47, - 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x4f, - 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x6f, 0x64, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x22, 0x55, 0x0a, 0x23, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x22, 0x80, 0x04, 0x0a, 0x0a, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, + 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x05, + 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, + 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, + 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x22, 0xf8, 0x07, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, + 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x6f, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0c, + 0x70, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, - 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xf8, + 0x07, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, + 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x05, - 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, - 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, - 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x3b, 0x0a, - 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, - 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, - 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, - 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x6f, 0x0a, 0x05, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x80, 0x03, 0x0a, 0x05, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, + 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, + 0x76, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, - 0x6b, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, + 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6e, + 0x75, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x05, + 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, + 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, + 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x05, 0x4d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x05, 0x48, + 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, + 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0e, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, - 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x70, - 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, - 0x74, 0x6f, 0x70, 0x22, 0x7d, 0x0a, 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x22, 0xdb, 0x07, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0d, - 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x41, 0x64, 0x6a, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, - 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, - 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x49, - 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, - 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x79, 0x73, - 0x63, 0x74, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, - 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, - 0x63, 0x74, 0x6c, 0x12, 0x55, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4e, - 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x30, - 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, 0x64, 0x74, - 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0f, 0x4e, - 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x38, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x43, - 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0e, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x70, + 0x6f, 0x73, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, + 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, + 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, 0x70, 0x22, 0x7d, 0x0a, + 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, + 0x3b, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x03, 0x67, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x03, - 0x67, 0x69, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x39, - 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x49, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xdb, 0x07, 0x0a, + 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, + 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, - 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x27, - 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x47, 0x69, 0x64, 0x73, 0x22, 0xda, 0x04, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x21, 0x0a, + 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, + 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x63, + 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, + 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x55, 0x0a, + 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, - 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x4c, 0x0a, 0x0f, 0x68, 0x75, 0x67, 0x65, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x0e, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, - 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, + 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x0e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x6a, + 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x03, 0x67, 0x69, 0x64, 0x22, 0xcb, 0x01, + 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, + 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x41, 0x0a, 0x09, 0x72, 0x64, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x72, 0x64, 0x74, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x6d, 0x69, + 0x6e, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x43, + 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x04, + 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0d, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x69, 0x64, + 0x73, 0x22, 0xda, 0x04, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x12, 0x41, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x04, 0x70, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x69, - 0x64, 0x73, 0x52, 0x04, 0x70, 0x69, 0x64, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, - 0x3b, 0x0a, 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x0a, - 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x09, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x54, 0x63, 0x70, - 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x6f, 0x6f, 0x6d, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, - 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, - 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, - 0x6f, 0x6f, 0x6c, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, - 0x79, 0x22, 0x88, 0x03, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x12, 0x3c, - 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, + 0x30, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, + 0x75, 0x12, 0x4c, 0x0a, 0x0f, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, + 0x0e, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, + 0x49, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x72, 0x64, + 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x08, 0x72, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x4b, 0x0a, + 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, - 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, + 0x04, 0x70, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x69, 0x64, 0x73, 0x52, 0x04, 0x70, 0x69, + 0x64, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, + 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x39, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x63, 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x22, 0x42, 0x0a, 0x0d, - 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x66, 0x22, - 0x41, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, - 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, - 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, - 0x10, 0x02, 0x22, 0x49, 0x0a, 0x0b, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x66, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x22, 0x21, 0x0a, - 0x09, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x69, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x22, 0x66, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x24, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, - 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x22, 0xa6, 0x04, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0b, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x37, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x6b, 0x65, 0x72, + 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, - 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x65, 0x6e, 0x76, - 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, - 0x6f, 0x6b, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, + 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, + 0x5f, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, + 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x09, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x54, 0x63, 0x70, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x77, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x12, 0x50, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6f, 0x6d, 0x5f, + 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, + 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, + 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, + 0x63, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0c, 0x75, + 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x22, 0x88, 0x03, 0x0a, 0x08, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, + 0x61, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, + 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0f, + 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0e, + 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x70, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, + 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x54, + 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x66, 0x22, 0x41, 0x0a, 0x0b, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x54, + 0x49, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x0a, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, + 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x22, 0x49, 0x0a, 0x0b, + 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, + 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x22, 0x21, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x50, 0x69, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x66, 0x0a, 0x0f, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, + 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, + 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x22, 0x24, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x06, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, - 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x3e, 0x0a, 0x10, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x07, 0x0a, - 0x18, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, - 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, + 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, + 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, + 0x3e, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, + 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, + 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xa6, 0x04, + 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, - 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x41, 0x64, 0x6a, 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4b, 0x65, 0x79, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, + 0x6f, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x52, 0x0a, 0x69, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0e, - 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x44, 0x0a, + 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6c, 0x69, + 0x6e, 0x75, 0x78, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x4f, 0x53, 0x49, + 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x07, 0x0a, 0x18, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, - 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, - 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x46, + 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, 0x50, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, + 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, + 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, + 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x5f, 0x0a, 0x0b, 0x6e, + 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, - 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, - 0x6c, 0x12, 0x5f, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, - 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, + 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, + 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, + 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, + 0x6f, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, + 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x75, 0x78, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, + 0x6c, 0x6c, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x79, 0x73, + 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x08, 0x65, 0x72, 0x72, + 0x6e, 0x6f, 0x52, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, 0x73, 0x63, - 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x41, 0x72, 0x67, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x22, 0x6a, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, + 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x77, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x9d, 0x01, 0x0a, + 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, + 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, + 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x5a, 0x0a, 0x14, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6e, - 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x0c, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x11, - 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, - 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x79, 0x73, - 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52, - 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6e, - 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x52, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x52, 0x64, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x63, 0x6c, + 0x6f, 0x73, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x12, 0x4f, + 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x41, 0x72, 0x67, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x6a, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, - 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, - 0x77, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, - 0x77, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x6f, 0x70, 0x22, 0x9d, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, - 0x75, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x10, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x2e, 0x0a, 0x16, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, + 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, + 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, 0x10, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4d, + 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, 0x02, 0x0a, 0x0b, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, - 0x72, 0x65, 0x22, 0x5a, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, - 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xfc, - 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x63, - 0x6c, 0x6f, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x74, 0x61, 0x12, 0x4f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, - 0x6f, 0x6f, 0x6c, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x32, 0x0a, - 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2e, 0x0a, 0x16, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, - 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, - 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x24, 0x0a, 0x0c, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x28, 0x0a, 0x10, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, - 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, - 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, - 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, - 0x02, 0x0a, 0x0b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x45, - 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, + 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, + 0x4b, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, + 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x39, 0x0a, 0x0b, + 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, + 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, + 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xb6, 0x01, 0x0a, 0x0d, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x0b, 0x4f, 0x77, + 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xf4, 0x02, 0x0a, 0x05, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, + 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, + 0x4f, 0x58, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x44, + 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, + 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, + 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, + 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, + 0x52, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x53, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, + 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, + 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, + 0x52, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, + 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x4d, 0x4f, 0x56, + 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x16, 0x0a, + 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, + 0x42, 0x4f, 0x58, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, + 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x4d, + 0x45, 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x0f, 0x2a, + 0x82, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x41, + 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, + 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x15, 0x0a, + 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, + 0x45, 0x44, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0b, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4f, + 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x54, 0x10, 0x01, 0x12, + 0x13, 0x0a, 0x0f, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, + 0x42, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0x99, 0x01, 0x0a, 0x14, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4f, 0x54, + 0x48, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, + 0x49, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x52, + 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x54, + 0x43, 0x48, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x53, + 0x4f, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x44, 0x4c, + 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x41, + 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xdb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, + 0x0a, 0x18, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, + 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, + 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x43, 0x4c, 0x41, + 0x49, 0x4d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, + 0x41, 0x47, 0x5f, 0x44, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, + 0x45, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x53, + 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x50, + 0x41, 0x52, 0x41, 0x4d, 0x53, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, + 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x4d, 0x50, + 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, + 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x4d, 0x50, 0x5f, + 0x4d, 0x41, 0x58, 0x10, 0x06, 0x2a, 0xa3, 0x05, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, + 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x63, 0x69, 0x48, 0x6f, 0x6f, + 0x6b, 0x73, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, + 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x64, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, + 0x05, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x72, + 0x67, 0x73, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x65, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, + 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x4b, + 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, + 0x4d, 0x65, 0x6d, 0x54, 0x43, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x11, 0x0a, + 0x0d, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x10, 0x0d, + 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, + 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, + 0x55, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x10, 0x0f, 0x12, 0x0d, + 0x0a, 0x09, 0x43, 0x50, 0x55, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x10, 0x10, 0x12, 0x0c, 0x0a, + 0x08, 0x43, 0x50, 0x55, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x43, + 0x50, 0x55, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x50, + 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x10, 0x13, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x50, 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, + 0x53, 0x65, 0x74, 0x43, 0x50, 0x55, 0x73, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, + 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x73, 0x10, 0x16, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x64, + 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x17, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x75, 0x67, 0x65, + 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x18, 0x12, 0x10, 0x0a, 0x0c, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x19, 0x12, 0x0c, + 0x0a, 0x08, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x1a, 0x12, 0x12, 0x0a, 0x0e, + 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x1b, + 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x10, + 0x1c, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, + 0x10, 0x1d, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x1e, 0x12, + 0x0e, 0x0a, 0x0a, 0x49, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x10, 0x1f, 0x12, + 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x10, 0x20, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, + 0x21, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x10, 0x22, 0x12, 0x13, 0x0a, + 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x49, 0x44, 0x10, + 0x25, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x64, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, + 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x64, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x27, 0x32, 0xd8, 0x01, 0x0a, 0x07, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xff, 0x0a, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x12, 0x5c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x26, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, - 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, - 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, - 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, - 0x6e, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, - 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, - 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, - 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2e, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, - 0x1a, 0x5c, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xf4, - 0x02, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x5f, 0x50, 0x4f, 0x44, - 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, - 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x02, - 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, - 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x04, 0x12, 0x19, - 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, - 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x18, - 0x0a, 0x14, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, - 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, - 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x4f, - 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x14, 0x0a, - 0x10, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, - 0x52, 0x10, 0x0b, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, - 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x50, - 0x4f, 0x53, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, - 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x41, - 0x44, 0x4a, 0x55, 0x53, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x4c, - 0x41, 0x53, 0x54, 0x10, 0x0f, 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, - 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, - 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, - 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, - 0x47, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, - 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0b, 0x49, 0x4f, - 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, - 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, - 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, - 0x5f, 0x52, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, - 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x42, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, - 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, - 0x03, 0x2a, 0x99, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, - 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, - 0x43, 0x48, 0x45, 0x44, 0x5f, 0x52, 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, - 0x45, 0x44, 0x5f, 0x42, 0x41, 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x5f, 0x49, 0x53, 0x4f, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, - 0x45, 0x44, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, - 0x45, 0x44, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xdb, 0x01, - 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4b, - 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x52, 0x45, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, - 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, - 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, - 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x53, 0x10, 0x04, 0x12, 0x1d, 0x0a, - 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, - 0x5f, 0x43, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, - 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, - 0x43, 0x4c, 0x41, 0x4d, 0x50, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x06, 0x2a, 0xa3, 0x05, 0x0a, 0x05, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, - 0x0f, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x01, - 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, - 0x4f, 0x63, 0x69, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x64, 0x69, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x10, 0x06, - 0x12, 0x08, 0x0a, 0x04, 0x41, 0x72, 0x67, 0x73, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x65, - 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, - 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0a, 0x12, 0x12, - 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x54, 0x43, 0x50, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x65, 0x73, 0x73, 0x10, 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x0e, 0x12, - 0x13, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, - 0x68, 0x79, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x50, 0x55, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x73, 0x10, 0x10, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x50, 0x55, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x10, - 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x50, 0x55, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x12, - 0x12, 0x16, 0x0a, 0x12, 0x43, 0x50, 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x10, 0x13, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x50, 0x55, 0x52, - 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x14, 0x12, - 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, 0x53, 0x65, 0x74, 0x43, 0x50, 0x55, 0x73, 0x10, 0x15, 0x12, - 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x73, 0x10, 0x16, 0x12, - 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x64, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x17, 0x12, 0x12, - 0x0a, 0x0e, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x10, 0x18, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x10, 0x1a, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x55, 0x6e, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x10, 0x1b, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x50, 0x61, 0x74, 0x68, 0x10, 0x1c, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x6f, 0x6d, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x10, 0x1d, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x10, 0x1e, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x10, 0x20, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, 0x21, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x63, 0x74, - 0x6c, 0x10, 0x22, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x64, 0x74, 0x43, - 0x6c, 0x6f, 0x73, 0x49, 0x44, 0x10, 0x25, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x64, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x64, 0x74, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x10, - 0x27, 0x32, 0xd8, 0x01, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, - 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, - 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb6, 0x07, 0x0a, - 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x5c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x12, 0x26, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, - 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, - 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x68, 0x75, - 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x6e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6e, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x68, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, - 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, + 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, - 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x0b, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x38, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6e, 0x72, 0x69, + 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x68, 0x0a, 0x0d, 0x52, 0x75, 0x6e, + 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x57, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, 0x46, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, 0x20, 0x2e, + 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, + 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x31, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, + 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x52, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x27, - 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x6e, 0x72, 0x69, 0x2f, 0x70, 0x6b, 0x67, 0x2f, - 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x57, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x03, 0x4c, 0x6f, 0x67, + 0x12, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x6e, 0x72, 0x69, 0x2f, 0x70, + 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -6128,7 +6528,7 @@ func file_pkg_api_api_proto_rawDescGZIP() []byte { } var file_pkg_api_api_proto_enumTypes = make([]protoimpl.EnumInfo, 8) -var file_pkg_api_api_proto_msgTypes = make([]protoimpl.MessageInfo, 79) +var file_pkg_api_api_proto_msgTypes = make([]protoimpl.MessageInfo, 87) var file_pkg_api_api_proto_goTypes = []interface{}{ (Event)(0), // 0: nri.pkg.api.v1alpha1.Event (ContainerState)(0), // 1: nri.pkg.api.v1alpha1.ContainerState @@ -6146,238 +6546,258 @@ var file_pkg_api_api_proto_goTypes = []interface{}{ (*ConfigureResponse)(nil), // 13: nri.pkg.api.v1alpha1.ConfigureResponse (*SynchronizeRequest)(nil), // 14: nri.pkg.api.v1alpha1.SynchronizeRequest (*SynchronizeResponse)(nil), // 15: nri.pkg.api.v1alpha1.SynchronizeResponse - (*CreateContainerRequest)(nil), // 16: nri.pkg.api.v1alpha1.CreateContainerRequest - (*CreateContainerResponse)(nil), // 17: nri.pkg.api.v1alpha1.CreateContainerResponse - (*UpdateContainerRequest)(nil), // 18: nri.pkg.api.v1alpha1.UpdateContainerRequest - (*UpdateContainerResponse)(nil), // 19: nri.pkg.api.v1alpha1.UpdateContainerResponse - (*StopContainerRequest)(nil), // 20: nri.pkg.api.v1alpha1.StopContainerRequest - (*StopContainerResponse)(nil), // 21: nri.pkg.api.v1alpha1.StopContainerResponse - (*UpdatePodSandboxRequest)(nil), // 22: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest - (*UpdatePodSandboxResponse)(nil), // 23: nri.pkg.api.v1alpha1.UpdatePodSandboxResponse - (*StateChangeEvent)(nil), // 24: nri.pkg.api.v1alpha1.StateChangeEvent - (*ValidateContainerAdjustmentRequest)(nil), // 25: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest - (*PluginInstance)(nil), // 26: nri.pkg.api.v1alpha1.PluginInstance - (*ValidateContainerAdjustmentResponse)(nil), // 27: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse - (*Empty)(nil), // 28: nri.pkg.api.v1alpha1.Empty - (*PodSandbox)(nil), // 29: nri.pkg.api.v1alpha1.PodSandbox - (*LinuxPodSandbox)(nil), // 30: nri.pkg.api.v1alpha1.LinuxPodSandbox - (*Container)(nil), // 31: nri.pkg.api.v1alpha1.Container - (*Mount)(nil), // 32: nri.pkg.api.v1alpha1.Mount - (*Hooks)(nil), // 33: nri.pkg.api.v1alpha1.Hooks - (*Hook)(nil), // 34: nri.pkg.api.v1alpha1.Hook - (*LinuxContainer)(nil), // 35: nri.pkg.api.v1alpha1.LinuxContainer - (*LinuxNamespace)(nil), // 36: nri.pkg.api.v1alpha1.LinuxNamespace - (*LinuxDevice)(nil), // 37: nri.pkg.api.v1alpha1.LinuxDevice - (*LinuxDeviceCgroup)(nil), // 38: nri.pkg.api.v1alpha1.LinuxDeviceCgroup - (*CDIDevice)(nil), // 39: nri.pkg.api.v1alpha1.CDIDevice - (*User)(nil), // 40: nri.pkg.api.v1alpha1.User - (*LinuxResources)(nil), // 41: nri.pkg.api.v1alpha1.LinuxResources - (*LinuxMemory)(nil), // 42: nri.pkg.api.v1alpha1.LinuxMemory - (*LinuxCPU)(nil), // 43: nri.pkg.api.v1alpha1.LinuxCPU - (*HugepageLimit)(nil), // 44: nri.pkg.api.v1alpha1.HugepageLimit - (*SecurityProfile)(nil), // 45: nri.pkg.api.v1alpha1.SecurityProfile - (*POSIXRlimit)(nil), // 46: nri.pkg.api.v1alpha1.POSIXRlimit - (*LinuxPids)(nil), // 47: nri.pkg.api.v1alpha1.LinuxPids - (*LinuxIOPriority)(nil), // 48: nri.pkg.api.v1alpha1.LinuxIOPriority - (*LinuxNetDevice)(nil), // 49: nri.pkg.api.v1alpha1.LinuxNetDevice - (*LinuxScheduler)(nil), // 50: nri.pkg.api.v1alpha1.LinuxScheduler - (*ContainerAdjustment)(nil), // 51: nri.pkg.api.v1alpha1.ContainerAdjustment - (*LinuxContainerAdjustment)(nil), // 52: nri.pkg.api.v1alpha1.LinuxContainerAdjustment - (*LinuxSeccomp)(nil), // 53: nri.pkg.api.v1alpha1.LinuxSeccomp - (*LinuxSyscall)(nil), // 54: nri.pkg.api.v1alpha1.LinuxSyscall - (*LinuxSeccompArg)(nil), // 55: nri.pkg.api.v1alpha1.LinuxSeccompArg - (*ContainerUpdate)(nil), // 56: nri.pkg.api.v1alpha1.ContainerUpdate - (*LinuxContainerUpdate)(nil), // 57: nri.pkg.api.v1alpha1.LinuxContainerUpdate - (*ContainerEviction)(nil), // 58: nri.pkg.api.v1alpha1.ContainerEviction - (*LinuxRdt)(nil), // 59: nri.pkg.api.v1alpha1.LinuxRdt - (*KeyValue)(nil), // 60: nri.pkg.api.v1alpha1.KeyValue - (*OptionalString)(nil), // 61: nri.pkg.api.v1alpha1.OptionalString - (*OptionalRepeatedString)(nil), // 62: nri.pkg.api.v1alpha1.OptionalRepeatedString - (*OptionalInt)(nil), // 63: nri.pkg.api.v1alpha1.OptionalInt - (*OptionalInt32)(nil), // 64: nri.pkg.api.v1alpha1.OptionalInt32 - (*OptionalUInt32)(nil), // 65: nri.pkg.api.v1alpha1.OptionalUInt32 - (*OptionalInt64)(nil), // 66: nri.pkg.api.v1alpha1.OptionalInt64 - (*OptionalUInt64)(nil), // 67: nri.pkg.api.v1alpha1.OptionalUInt64 - (*OptionalBool)(nil), // 68: nri.pkg.api.v1alpha1.OptionalBool - (*OptionalFileMode)(nil), // 69: nri.pkg.api.v1alpha1.OptionalFileMode - (*CompoundFieldOwners)(nil), // 70: nri.pkg.api.v1alpha1.CompoundFieldOwners - (*FieldOwners)(nil), // 71: nri.pkg.api.v1alpha1.FieldOwners - (*OwningPlugins)(nil), // 72: nri.pkg.api.v1alpha1.OwningPlugins - nil, // 73: nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry - nil, // 74: nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry - nil, // 75: nri.pkg.api.v1alpha1.Container.LabelsEntry - nil, // 76: nri.pkg.api.v1alpha1.Container.AnnotationsEntry - nil, // 77: nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry - nil, // 78: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry - nil, // 79: nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry - nil, // 80: nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry - nil, // 81: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry - nil, // 82: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry - nil, // 83: nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry - nil, // 84: nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry - nil, // 85: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry - nil, // 86: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry + (*RunPodSandboxRequest)(nil), // 16: nri.pkg.api.v1alpha1.RunPodSandboxRequest + (*RunPodSandboxResponse)(nil), // 17: nri.pkg.api.v1alpha1.RunPodSandboxResponse + (*StopPodSandboxRequest)(nil), // 18: nri.pkg.api.v1alpha1.StopPodSandboxRequest + (*StopPodSandboxResponse)(nil), // 19: nri.pkg.api.v1alpha1.StopPodSandboxResponse + (*RemovePodSandboxRequest)(nil), // 20: nri.pkg.api.v1alpha1.RemovePodSandboxRequest + (*RemovePodSandboxResponse)(nil), // 21: nri.pkg.api.v1alpha1.RemovePodSandboxResponse + (*CreateContainerRequest)(nil), // 22: nri.pkg.api.v1alpha1.CreateContainerRequest + (*CreateContainerResponse)(nil), // 23: nri.pkg.api.v1alpha1.CreateContainerResponse + (*UpdateContainerRequest)(nil), // 24: nri.pkg.api.v1alpha1.UpdateContainerRequest + (*UpdateContainerResponse)(nil), // 25: nri.pkg.api.v1alpha1.UpdateContainerResponse + (*StopContainerRequest)(nil), // 26: nri.pkg.api.v1alpha1.StopContainerRequest + (*StopContainerResponse)(nil), // 27: nri.pkg.api.v1alpha1.StopContainerResponse + (*UpdatePodSandboxRequest)(nil), // 28: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest + (*UpdatePodSandboxResponse)(nil), // 29: nri.pkg.api.v1alpha1.UpdatePodSandboxResponse + (*PostUpdatePodSandboxRequest)(nil), // 30: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest + (*PostUpdatePodSandboxResponse)(nil), // 31: nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse + (*StateChangeEvent)(nil), // 32: nri.pkg.api.v1alpha1.StateChangeEvent + (*ValidateContainerAdjustmentRequest)(nil), // 33: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest + (*PluginInstance)(nil), // 34: nri.pkg.api.v1alpha1.PluginInstance + (*ValidateContainerAdjustmentResponse)(nil), // 35: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse + (*Empty)(nil), // 36: nri.pkg.api.v1alpha1.Empty + (*PodSandbox)(nil), // 37: nri.pkg.api.v1alpha1.PodSandbox + (*LinuxPodSandbox)(nil), // 38: nri.pkg.api.v1alpha1.LinuxPodSandbox + (*Container)(nil), // 39: nri.pkg.api.v1alpha1.Container + (*Mount)(nil), // 40: nri.pkg.api.v1alpha1.Mount + (*Hooks)(nil), // 41: nri.pkg.api.v1alpha1.Hooks + (*Hook)(nil), // 42: nri.pkg.api.v1alpha1.Hook + (*LinuxContainer)(nil), // 43: nri.pkg.api.v1alpha1.LinuxContainer + (*LinuxNamespace)(nil), // 44: nri.pkg.api.v1alpha1.LinuxNamespace + (*LinuxDevice)(nil), // 45: nri.pkg.api.v1alpha1.LinuxDevice + (*LinuxDeviceCgroup)(nil), // 46: nri.pkg.api.v1alpha1.LinuxDeviceCgroup + (*CDIDevice)(nil), // 47: nri.pkg.api.v1alpha1.CDIDevice + (*User)(nil), // 48: nri.pkg.api.v1alpha1.User + (*LinuxResources)(nil), // 49: nri.pkg.api.v1alpha1.LinuxResources + (*LinuxMemory)(nil), // 50: nri.pkg.api.v1alpha1.LinuxMemory + (*LinuxCPU)(nil), // 51: nri.pkg.api.v1alpha1.LinuxCPU + (*HugepageLimit)(nil), // 52: nri.pkg.api.v1alpha1.HugepageLimit + (*SecurityProfile)(nil), // 53: nri.pkg.api.v1alpha1.SecurityProfile + (*POSIXRlimit)(nil), // 54: nri.pkg.api.v1alpha1.POSIXRlimit + (*LinuxPids)(nil), // 55: nri.pkg.api.v1alpha1.LinuxPids + (*LinuxIOPriority)(nil), // 56: nri.pkg.api.v1alpha1.LinuxIOPriority + (*LinuxNetDevice)(nil), // 57: nri.pkg.api.v1alpha1.LinuxNetDevice + (*LinuxScheduler)(nil), // 58: nri.pkg.api.v1alpha1.LinuxScheduler + (*ContainerAdjustment)(nil), // 59: nri.pkg.api.v1alpha1.ContainerAdjustment + (*LinuxContainerAdjustment)(nil), // 60: nri.pkg.api.v1alpha1.LinuxContainerAdjustment + (*LinuxSeccomp)(nil), // 61: nri.pkg.api.v1alpha1.LinuxSeccomp + (*LinuxSyscall)(nil), // 62: nri.pkg.api.v1alpha1.LinuxSyscall + (*LinuxSeccompArg)(nil), // 63: nri.pkg.api.v1alpha1.LinuxSeccompArg + (*ContainerUpdate)(nil), // 64: nri.pkg.api.v1alpha1.ContainerUpdate + (*LinuxContainerUpdate)(nil), // 65: nri.pkg.api.v1alpha1.LinuxContainerUpdate + (*ContainerEviction)(nil), // 66: nri.pkg.api.v1alpha1.ContainerEviction + (*LinuxRdt)(nil), // 67: nri.pkg.api.v1alpha1.LinuxRdt + (*KeyValue)(nil), // 68: nri.pkg.api.v1alpha1.KeyValue + (*OptionalString)(nil), // 69: nri.pkg.api.v1alpha1.OptionalString + (*OptionalRepeatedString)(nil), // 70: nri.pkg.api.v1alpha1.OptionalRepeatedString + (*OptionalInt)(nil), // 71: nri.pkg.api.v1alpha1.OptionalInt + (*OptionalInt32)(nil), // 72: nri.pkg.api.v1alpha1.OptionalInt32 + (*OptionalUInt32)(nil), // 73: nri.pkg.api.v1alpha1.OptionalUInt32 + (*OptionalInt64)(nil), // 74: nri.pkg.api.v1alpha1.OptionalInt64 + (*OptionalUInt64)(nil), // 75: nri.pkg.api.v1alpha1.OptionalUInt64 + (*OptionalBool)(nil), // 76: nri.pkg.api.v1alpha1.OptionalBool + (*OptionalFileMode)(nil), // 77: nri.pkg.api.v1alpha1.OptionalFileMode + (*CompoundFieldOwners)(nil), // 78: nri.pkg.api.v1alpha1.CompoundFieldOwners + (*FieldOwners)(nil), // 79: nri.pkg.api.v1alpha1.FieldOwners + (*OwningPlugins)(nil), // 80: nri.pkg.api.v1alpha1.OwningPlugins + nil, // 81: nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry + nil, // 82: nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry + nil, // 83: nri.pkg.api.v1alpha1.Container.LabelsEntry + nil, // 84: nri.pkg.api.v1alpha1.Container.AnnotationsEntry + nil, // 85: nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry + nil, // 86: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry + nil, // 87: nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry + nil, // 88: nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry + nil, // 89: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry + nil, // 90: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry + nil, // 91: nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry + nil, // 92: nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry + nil, // 93: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry + nil, // 94: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry } var file_pkg_api_api_proto_depIdxs = []int32{ - 56, // 0: nri.pkg.api.v1alpha1.UpdateContainersRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 58, // 1: nri.pkg.api.v1alpha1.UpdateContainersRequest.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 56, // 2: nri.pkg.api.v1alpha1.UpdateContainersResponse.failed:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 64, // 0: nri.pkg.api.v1alpha1.UpdateContainersRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 66, // 1: nri.pkg.api.v1alpha1.UpdateContainersRequest.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 64, // 2: nri.pkg.api.v1alpha1.UpdateContainersResponse.failed:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate 6, // 3: nri.pkg.api.v1alpha1.LogRequest.level:type_name -> nri.pkg.api.v1alpha1.LogRequest.Level - 29, // 4: nri.pkg.api.v1alpha1.SynchronizeRequest.pods:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 5: nri.pkg.api.v1alpha1.SynchronizeRequest.containers:type_name -> nri.pkg.api.v1alpha1.Container - 56, // 6: nri.pkg.api.v1alpha1.SynchronizeResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 29, // 7: nri.pkg.api.v1alpha1.CreateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 8: nri.pkg.api.v1alpha1.CreateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 51, // 9: nri.pkg.api.v1alpha1.CreateContainerResponse.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment - 56, // 10: nri.pkg.api.v1alpha1.CreateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 58, // 11: nri.pkg.api.v1alpha1.CreateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 29, // 12: nri.pkg.api.v1alpha1.UpdateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 13: nri.pkg.api.v1alpha1.UpdateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 41, // 14: nri.pkg.api.v1alpha1.UpdateContainerRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 56, // 15: nri.pkg.api.v1alpha1.UpdateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 58, // 16: nri.pkg.api.v1alpha1.UpdateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 29, // 17: nri.pkg.api.v1alpha1.StopContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 18: nri.pkg.api.v1alpha1.StopContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 56, // 19: nri.pkg.api.v1alpha1.StopContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 29, // 20: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 41, // 21: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.overhead_linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 41, // 22: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 0, // 23: nri.pkg.api.v1alpha1.StateChangeEvent.event:type_name -> nri.pkg.api.v1alpha1.Event - 29, // 24: nri.pkg.api.v1alpha1.StateChangeEvent.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 25: nri.pkg.api.v1alpha1.StateChangeEvent.container:type_name -> nri.pkg.api.v1alpha1.Container - 29, // 26: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 31, // 27: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 51, // 28: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment - 56, // 29: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 72, // 30: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins - 26, // 31: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.plugins:type_name -> nri.pkg.api.v1alpha1.PluginInstance - 73, // 32: nri.pkg.api.v1alpha1.PodSandbox.labels:type_name -> nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry - 74, // 33: nri.pkg.api.v1alpha1.PodSandbox.annotations:type_name -> nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry - 30, // 34: nri.pkg.api.v1alpha1.PodSandbox.linux:type_name -> nri.pkg.api.v1alpha1.LinuxPodSandbox - 41, // 35: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_overhead:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 41, // 36: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 36, // 37: nri.pkg.api.v1alpha1.LinuxPodSandbox.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 41, // 38: nri.pkg.api.v1alpha1.LinuxPodSandbox.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 1, // 39: nri.pkg.api.v1alpha1.Container.state:type_name -> nri.pkg.api.v1alpha1.ContainerState - 75, // 40: nri.pkg.api.v1alpha1.Container.labels:type_name -> nri.pkg.api.v1alpha1.Container.LabelsEntry - 76, // 41: nri.pkg.api.v1alpha1.Container.annotations:type_name -> nri.pkg.api.v1alpha1.Container.AnnotationsEntry - 32, // 42: nri.pkg.api.v1alpha1.Container.mounts:type_name -> nri.pkg.api.v1alpha1.Mount - 33, // 43: nri.pkg.api.v1alpha1.Container.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks - 35, // 44: nri.pkg.api.v1alpha1.Container.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainer - 46, // 45: nri.pkg.api.v1alpha1.Container.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit - 39, // 46: nri.pkg.api.v1alpha1.Container.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice - 40, // 47: nri.pkg.api.v1alpha1.Container.user:type_name -> nri.pkg.api.v1alpha1.User - 34, // 48: nri.pkg.api.v1alpha1.Hooks.prestart:type_name -> nri.pkg.api.v1alpha1.Hook - 34, // 49: nri.pkg.api.v1alpha1.Hooks.create_runtime:type_name -> nri.pkg.api.v1alpha1.Hook - 34, // 50: nri.pkg.api.v1alpha1.Hooks.create_container:type_name -> nri.pkg.api.v1alpha1.Hook - 34, // 51: nri.pkg.api.v1alpha1.Hooks.start_container:type_name -> nri.pkg.api.v1alpha1.Hook - 34, // 52: nri.pkg.api.v1alpha1.Hooks.poststart:type_name -> nri.pkg.api.v1alpha1.Hook - 34, // 53: nri.pkg.api.v1alpha1.Hooks.poststop:type_name -> nri.pkg.api.v1alpha1.Hook - 63, // 54: nri.pkg.api.v1alpha1.Hook.timeout:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 36, // 55: nri.pkg.api.v1alpha1.LinuxContainer.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 37, // 56: nri.pkg.api.v1alpha1.LinuxContainer.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice - 41, // 57: nri.pkg.api.v1alpha1.LinuxContainer.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 63, // 58: nri.pkg.api.v1alpha1.LinuxContainer.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 48, // 59: nri.pkg.api.v1alpha1.LinuxContainer.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority - 45, // 60: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_profile:type_name -> nri.pkg.api.v1alpha1.SecurityProfile - 53, // 61: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp - 77, // 62: nri.pkg.api.v1alpha1.LinuxContainer.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry - 78, // 63: nri.pkg.api.v1alpha1.LinuxContainer.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry - 50, // 64: nri.pkg.api.v1alpha1.LinuxContainer.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler - 59, // 65: nri.pkg.api.v1alpha1.LinuxContainer.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt - 69, // 66: nri.pkg.api.v1alpha1.LinuxDevice.file_mode:type_name -> nri.pkg.api.v1alpha1.OptionalFileMode - 65, // 67: nri.pkg.api.v1alpha1.LinuxDevice.uid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 65, // 68: nri.pkg.api.v1alpha1.LinuxDevice.gid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 66, // 69: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.major:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 66, // 70: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.minor:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 42, // 71: nri.pkg.api.v1alpha1.LinuxResources.memory:type_name -> nri.pkg.api.v1alpha1.LinuxMemory - 43, // 72: nri.pkg.api.v1alpha1.LinuxResources.cpu:type_name -> nri.pkg.api.v1alpha1.LinuxCPU - 44, // 73: nri.pkg.api.v1alpha1.LinuxResources.hugepage_limits:type_name -> nri.pkg.api.v1alpha1.HugepageLimit - 61, // 74: nri.pkg.api.v1alpha1.LinuxResources.blockio_class:type_name -> nri.pkg.api.v1alpha1.OptionalString - 61, // 75: nri.pkg.api.v1alpha1.LinuxResources.rdt_class:type_name -> nri.pkg.api.v1alpha1.OptionalString - 79, // 76: nri.pkg.api.v1alpha1.LinuxResources.unified:type_name -> nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry - 38, // 77: nri.pkg.api.v1alpha1.LinuxResources.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDeviceCgroup - 47, // 78: nri.pkg.api.v1alpha1.LinuxResources.pids:type_name -> nri.pkg.api.v1alpha1.LinuxPids - 66, // 79: nri.pkg.api.v1alpha1.LinuxMemory.limit:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 66, // 80: nri.pkg.api.v1alpha1.LinuxMemory.reservation:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 66, // 81: nri.pkg.api.v1alpha1.LinuxMemory.swap:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 66, // 82: nri.pkg.api.v1alpha1.LinuxMemory.kernel:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 66, // 83: nri.pkg.api.v1alpha1.LinuxMemory.kernel_tcp:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 67, // 84: nri.pkg.api.v1alpha1.LinuxMemory.swappiness:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 68, // 85: nri.pkg.api.v1alpha1.LinuxMemory.disable_oom_killer:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 68, // 86: nri.pkg.api.v1alpha1.LinuxMemory.use_hierarchy:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 67, // 87: nri.pkg.api.v1alpha1.LinuxCPU.shares:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 66, // 88: nri.pkg.api.v1alpha1.LinuxCPU.quota:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 67, // 89: nri.pkg.api.v1alpha1.LinuxCPU.period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 66, // 90: nri.pkg.api.v1alpha1.LinuxCPU.realtime_runtime:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 67, // 91: nri.pkg.api.v1alpha1.LinuxCPU.realtime_period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 7, // 92: nri.pkg.api.v1alpha1.SecurityProfile.profile_type:type_name -> nri.pkg.api.v1alpha1.SecurityProfile.ProfileType - 2, // 93: nri.pkg.api.v1alpha1.LinuxIOPriority.class:type_name -> nri.pkg.api.v1alpha1.IOPrioClass - 3, // 94: nri.pkg.api.v1alpha1.LinuxScheduler.policy:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerPolicy - 4, // 95: nri.pkg.api.v1alpha1.LinuxScheduler.flags:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerFlag - 80, // 96: nri.pkg.api.v1alpha1.ContainerAdjustment.annotations:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry - 32, // 97: nri.pkg.api.v1alpha1.ContainerAdjustment.mounts:type_name -> nri.pkg.api.v1alpha1.Mount - 60, // 98: nri.pkg.api.v1alpha1.ContainerAdjustment.env:type_name -> nri.pkg.api.v1alpha1.KeyValue - 33, // 99: nri.pkg.api.v1alpha1.ContainerAdjustment.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks - 52, // 100: nri.pkg.api.v1alpha1.ContainerAdjustment.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment - 46, // 101: nri.pkg.api.v1alpha1.ContainerAdjustment.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit - 39, // 102: nri.pkg.api.v1alpha1.ContainerAdjustment.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice - 37, // 103: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice - 41, // 104: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 63, // 105: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 48, // 106: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority - 53, // 107: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp - 36, // 108: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 81, // 109: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry - 82, // 110: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry - 50, // 111: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler - 59, // 112: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt - 65, // 113: nri.pkg.api.v1alpha1.LinuxSeccomp.default_errno:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 54, // 114: nri.pkg.api.v1alpha1.LinuxSeccomp.syscalls:type_name -> nri.pkg.api.v1alpha1.LinuxSyscall - 65, // 115: nri.pkg.api.v1alpha1.LinuxSyscall.errno_ret:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 55, // 116: nri.pkg.api.v1alpha1.LinuxSyscall.args:type_name -> nri.pkg.api.v1alpha1.LinuxSeccompArg - 57, // 117: nri.pkg.api.v1alpha1.ContainerUpdate.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerUpdate - 41, // 118: nri.pkg.api.v1alpha1.LinuxContainerUpdate.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 61, // 119: nri.pkg.api.v1alpha1.LinuxRdt.clos_id:type_name -> nri.pkg.api.v1alpha1.OptionalString - 62, // 120: nri.pkg.api.v1alpha1.LinuxRdt.schemata:type_name -> nri.pkg.api.v1alpha1.OptionalRepeatedString - 68, // 121: nri.pkg.api.v1alpha1.LinuxRdt.enable_monitoring:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 83, // 122: nri.pkg.api.v1alpha1.CompoundFieldOwners.owners:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry - 84, // 123: nri.pkg.api.v1alpha1.FieldOwners.simple:type_name -> nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry - 85, // 124: nri.pkg.api.v1alpha1.FieldOwners.compound:type_name -> nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry - 86, // 125: nri.pkg.api.v1alpha1.OwningPlugins.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry - 49, // 126: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice - 49, // 127: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice - 70, // 128: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry.value:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners - 71, // 129: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry.value:type_name -> nri.pkg.api.v1alpha1.FieldOwners - 8, // 130: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:input_type -> nri.pkg.api.v1alpha1.RegisterPluginRequest - 9, // 131: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:input_type -> nri.pkg.api.v1alpha1.UpdateContainersRequest - 12, // 132: nri.pkg.api.v1alpha1.Plugin.Configure:input_type -> nri.pkg.api.v1alpha1.ConfigureRequest - 14, // 133: nri.pkg.api.v1alpha1.Plugin.Synchronize:input_type -> nri.pkg.api.v1alpha1.SynchronizeRequest - 28, // 134: nri.pkg.api.v1alpha1.Plugin.Shutdown:input_type -> nri.pkg.api.v1alpha1.Empty - 16, // 135: nri.pkg.api.v1alpha1.Plugin.CreateContainer:input_type -> nri.pkg.api.v1alpha1.CreateContainerRequest - 18, // 136: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:input_type -> nri.pkg.api.v1alpha1.UpdateContainerRequest - 20, // 137: nri.pkg.api.v1alpha1.Plugin.StopContainer:input_type -> nri.pkg.api.v1alpha1.StopContainerRequest - 22, // 138: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxRequest - 24, // 139: nri.pkg.api.v1alpha1.Plugin.StateChange:input_type -> nri.pkg.api.v1alpha1.StateChangeEvent - 25, // 140: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:input_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest - 11, // 141: nri.pkg.api.v1alpha1.HostFunctions.Log:input_type -> nri.pkg.api.v1alpha1.LogRequest - 28, // 142: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:output_type -> nri.pkg.api.v1alpha1.Empty - 10, // 143: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:output_type -> nri.pkg.api.v1alpha1.UpdateContainersResponse - 13, // 144: nri.pkg.api.v1alpha1.Plugin.Configure:output_type -> nri.pkg.api.v1alpha1.ConfigureResponse - 15, // 145: nri.pkg.api.v1alpha1.Plugin.Synchronize:output_type -> nri.pkg.api.v1alpha1.SynchronizeResponse - 28, // 146: nri.pkg.api.v1alpha1.Plugin.Shutdown:output_type -> nri.pkg.api.v1alpha1.Empty - 17, // 147: nri.pkg.api.v1alpha1.Plugin.CreateContainer:output_type -> nri.pkg.api.v1alpha1.CreateContainerResponse - 19, // 148: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:output_type -> nri.pkg.api.v1alpha1.UpdateContainerResponse - 21, // 149: nri.pkg.api.v1alpha1.Plugin.StopContainer:output_type -> nri.pkg.api.v1alpha1.StopContainerResponse - 23, // 150: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxResponse - 28, // 151: nri.pkg.api.v1alpha1.Plugin.StateChange:output_type -> nri.pkg.api.v1alpha1.Empty - 27, // 152: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:output_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse - 28, // 153: nri.pkg.api.v1alpha1.HostFunctions.Log:output_type -> nri.pkg.api.v1alpha1.Empty - 142, // [142:154] is the sub-list for method output_type - 130, // [130:142] is the sub-list for method input_type - 130, // [130:130] is the sub-list for extension type_name - 130, // [130:130] is the sub-list for extension extendee - 0, // [0:130] is the sub-list for field type_name + 37, // 4: nri.pkg.api.v1alpha1.SynchronizeRequest.pods:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 5: nri.pkg.api.v1alpha1.SynchronizeRequest.containers:type_name -> nri.pkg.api.v1alpha1.Container + 64, // 6: nri.pkg.api.v1alpha1.SynchronizeResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 37, // 7: nri.pkg.api.v1alpha1.RunPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 37, // 8: nri.pkg.api.v1alpha1.StopPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 37, // 9: nri.pkg.api.v1alpha1.RemovePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 37, // 10: nri.pkg.api.v1alpha1.CreateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 11: nri.pkg.api.v1alpha1.CreateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 59, // 12: nri.pkg.api.v1alpha1.CreateContainerResponse.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment + 64, // 13: nri.pkg.api.v1alpha1.CreateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 66, // 14: nri.pkg.api.v1alpha1.CreateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 37, // 15: nri.pkg.api.v1alpha1.UpdateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 16: nri.pkg.api.v1alpha1.UpdateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 49, // 17: nri.pkg.api.v1alpha1.UpdateContainerRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 64, // 18: nri.pkg.api.v1alpha1.UpdateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 66, // 19: nri.pkg.api.v1alpha1.UpdateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 37, // 20: nri.pkg.api.v1alpha1.StopContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 21: nri.pkg.api.v1alpha1.StopContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 64, // 22: nri.pkg.api.v1alpha1.StopContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 37, // 23: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 24: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.overhead_linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 49, // 25: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 37, // 26: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 0, // 27: nri.pkg.api.v1alpha1.StateChangeEvent.event:type_name -> nri.pkg.api.v1alpha1.Event + 37, // 28: nri.pkg.api.v1alpha1.StateChangeEvent.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 29: nri.pkg.api.v1alpha1.StateChangeEvent.container:type_name -> nri.pkg.api.v1alpha1.Container + 37, // 30: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 39, // 31: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 59, // 32: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment + 64, // 33: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 80, // 34: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins + 34, // 35: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.plugins:type_name -> nri.pkg.api.v1alpha1.PluginInstance + 81, // 36: nri.pkg.api.v1alpha1.PodSandbox.labels:type_name -> nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry + 82, // 37: nri.pkg.api.v1alpha1.PodSandbox.annotations:type_name -> nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry + 38, // 38: nri.pkg.api.v1alpha1.PodSandbox.linux:type_name -> nri.pkg.api.v1alpha1.LinuxPodSandbox + 49, // 39: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_overhead:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 49, // 40: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 44, // 41: nri.pkg.api.v1alpha1.LinuxPodSandbox.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 49, // 42: nri.pkg.api.v1alpha1.LinuxPodSandbox.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 1, // 43: nri.pkg.api.v1alpha1.Container.state:type_name -> nri.pkg.api.v1alpha1.ContainerState + 83, // 44: nri.pkg.api.v1alpha1.Container.labels:type_name -> nri.pkg.api.v1alpha1.Container.LabelsEntry + 84, // 45: nri.pkg.api.v1alpha1.Container.annotations:type_name -> nri.pkg.api.v1alpha1.Container.AnnotationsEntry + 40, // 46: nri.pkg.api.v1alpha1.Container.mounts:type_name -> nri.pkg.api.v1alpha1.Mount + 41, // 47: nri.pkg.api.v1alpha1.Container.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks + 43, // 48: nri.pkg.api.v1alpha1.Container.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainer + 54, // 49: nri.pkg.api.v1alpha1.Container.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit + 47, // 50: nri.pkg.api.v1alpha1.Container.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice + 48, // 51: nri.pkg.api.v1alpha1.Container.user:type_name -> nri.pkg.api.v1alpha1.User + 42, // 52: nri.pkg.api.v1alpha1.Hooks.prestart:type_name -> nri.pkg.api.v1alpha1.Hook + 42, // 53: nri.pkg.api.v1alpha1.Hooks.create_runtime:type_name -> nri.pkg.api.v1alpha1.Hook + 42, // 54: nri.pkg.api.v1alpha1.Hooks.create_container:type_name -> nri.pkg.api.v1alpha1.Hook + 42, // 55: nri.pkg.api.v1alpha1.Hooks.start_container:type_name -> nri.pkg.api.v1alpha1.Hook + 42, // 56: nri.pkg.api.v1alpha1.Hooks.poststart:type_name -> nri.pkg.api.v1alpha1.Hook + 42, // 57: nri.pkg.api.v1alpha1.Hooks.poststop:type_name -> nri.pkg.api.v1alpha1.Hook + 71, // 58: nri.pkg.api.v1alpha1.Hook.timeout:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 44, // 59: nri.pkg.api.v1alpha1.LinuxContainer.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 45, // 60: nri.pkg.api.v1alpha1.LinuxContainer.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice + 49, // 61: nri.pkg.api.v1alpha1.LinuxContainer.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 71, // 62: nri.pkg.api.v1alpha1.LinuxContainer.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 56, // 63: nri.pkg.api.v1alpha1.LinuxContainer.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority + 53, // 64: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_profile:type_name -> nri.pkg.api.v1alpha1.SecurityProfile + 61, // 65: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp + 85, // 66: nri.pkg.api.v1alpha1.LinuxContainer.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry + 86, // 67: nri.pkg.api.v1alpha1.LinuxContainer.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry + 58, // 68: nri.pkg.api.v1alpha1.LinuxContainer.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler + 67, // 69: nri.pkg.api.v1alpha1.LinuxContainer.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt + 77, // 70: nri.pkg.api.v1alpha1.LinuxDevice.file_mode:type_name -> nri.pkg.api.v1alpha1.OptionalFileMode + 73, // 71: nri.pkg.api.v1alpha1.LinuxDevice.uid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 73, // 72: nri.pkg.api.v1alpha1.LinuxDevice.gid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 74, // 73: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.major:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 74, // 74: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.minor:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 50, // 75: nri.pkg.api.v1alpha1.LinuxResources.memory:type_name -> nri.pkg.api.v1alpha1.LinuxMemory + 51, // 76: nri.pkg.api.v1alpha1.LinuxResources.cpu:type_name -> nri.pkg.api.v1alpha1.LinuxCPU + 52, // 77: nri.pkg.api.v1alpha1.LinuxResources.hugepage_limits:type_name -> nri.pkg.api.v1alpha1.HugepageLimit + 69, // 78: nri.pkg.api.v1alpha1.LinuxResources.blockio_class:type_name -> nri.pkg.api.v1alpha1.OptionalString + 69, // 79: nri.pkg.api.v1alpha1.LinuxResources.rdt_class:type_name -> nri.pkg.api.v1alpha1.OptionalString + 87, // 80: nri.pkg.api.v1alpha1.LinuxResources.unified:type_name -> nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry + 46, // 81: nri.pkg.api.v1alpha1.LinuxResources.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDeviceCgroup + 55, // 82: nri.pkg.api.v1alpha1.LinuxResources.pids:type_name -> nri.pkg.api.v1alpha1.LinuxPids + 74, // 83: nri.pkg.api.v1alpha1.LinuxMemory.limit:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 74, // 84: nri.pkg.api.v1alpha1.LinuxMemory.reservation:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 74, // 85: nri.pkg.api.v1alpha1.LinuxMemory.swap:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 74, // 86: nri.pkg.api.v1alpha1.LinuxMemory.kernel:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 74, // 87: nri.pkg.api.v1alpha1.LinuxMemory.kernel_tcp:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 75, // 88: nri.pkg.api.v1alpha1.LinuxMemory.swappiness:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 76, // 89: nri.pkg.api.v1alpha1.LinuxMemory.disable_oom_killer:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 76, // 90: nri.pkg.api.v1alpha1.LinuxMemory.use_hierarchy:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 75, // 91: nri.pkg.api.v1alpha1.LinuxCPU.shares:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 74, // 92: nri.pkg.api.v1alpha1.LinuxCPU.quota:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 75, // 93: nri.pkg.api.v1alpha1.LinuxCPU.period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 74, // 94: nri.pkg.api.v1alpha1.LinuxCPU.realtime_runtime:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 75, // 95: nri.pkg.api.v1alpha1.LinuxCPU.realtime_period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 7, // 96: nri.pkg.api.v1alpha1.SecurityProfile.profile_type:type_name -> nri.pkg.api.v1alpha1.SecurityProfile.ProfileType + 2, // 97: nri.pkg.api.v1alpha1.LinuxIOPriority.class:type_name -> nri.pkg.api.v1alpha1.IOPrioClass + 3, // 98: nri.pkg.api.v1alpha1.LinuxScheduler.policy:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerPolicy + 4, // 99: nri.pkg.api.v1alpha1.LinuxScheduler.flags:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerFlag + 88, // 100: nri.pkg.api.v1alpha1.ContainerAdjustment.annotations:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry + 40, // 101: nri.pkg.api.v1alpha1.ContainerAdjustment.mounts:type_name -> nri.pkg.api.v1alpha1.Mount + 68, // 102: nri.pkg.api.v1alpha1.ContainerAdjustment.env:type_name -> nri.pkg.api.v1alpha1.KeyValue + 41, // 103: nri.pkg.api.v1alpha1.ContainerAdjustment.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks + 60, // 104: nri.pkg.api.v1alpha1.ContainerAdjustment.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment + 54, // 105: nri.pkg.api.v1alpha1.ContainerAdjustment.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit + 47, // 106: nri.pkg.api.v1alpha1.ContainerAdjustment.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice + 45, // 107: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice + 49, // 108: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 71, // 109: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 56, // 110: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority + 61, // 111: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp + 44, // 112: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 89, // 113: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry + 90, // 114: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry + 58, // 115: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler + 67, // 116: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt + 73, // 117: nri.pkg.api.v1alpha1.LinuxSeccomp.default_errno:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 62, // 118: nri.pkg.api.v1alpha1.LinuxSeccomp.syscalls:type_name -> nri.pkg.api.v1alpha1.LinuxSyscall + 73, // 119: nri.pkg.api.v1alpha1.LinuxSyscall.errno_ret:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 63, // 120: nri.pkg.api.v1alpha1.LinuxSyscall.args:type_name -> nri.pkg.api.v1alpha1.LinuxSeccompArg + 65, // 121: nri.pkg.api.v1alpha1.ContainerUpdate.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerUpdate + 49, // 122: nri.pkg.api.v1alpha1.LinuxContainerUpdate.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 69, // 123: nri.pkg.api.v1alpha1.LinuxRdt.clos_id:type_name -> nri.pkg.api.v1alpha1.OptionalString + 70, // 124: nri.pkg.api.v1alpha1.LinuxRdt.schemata:type_name -> nri.pkg.api.v1alpha1.OptionalRepeatedString + 76, // 125: nri.pkg.api.v1alpha1.LinuxRdt.enable_monitoring:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 91, // 126: nri.pkg.api.v1alpha1.CompoundFieldOwners.owners:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry + 92, // 127: nri.pkg.api.v1alpha1.FieldOwners.simple:type_name -> nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry + 93, // 128: nri.pkg.api.v1alpha1.FieldOwners.compound:type_name -> nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry + 94, // 129: nri.pkg.api.v1alpha1.OwningPlugins.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry + 57, // 130: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice + 57, // 131: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice + 78, // 132: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry.value:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners + 79, // 133: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry.value:type_name -> nri.pkg.api.v1alpha1.FieldOwners + 8, // 134: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:input_type -> nri.pkg.api.v1alpha1.RegisterPluginRequest + 9, // 135: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:input_type -> nri.pkg.api.v1alpha1.UpdateContainersRequest + 12, // 136: nri.pkg.api.v1alpha1.Plugin.Configure:input_type -> nri.pkg.api.v1alpha1.ConfigureRequest + 14, // 137: nri.pkg.api.v1alpha1.Plugin.Synchronize:input_type -> nri.pkg.api.v1alpha1.SynchronizeRequest + 36, // 138: nri.pkg.api.v1alpha1.Plugin.Shutdown:input_type -> nri.pkg.api.v1alpha1.Empty + 16, // 139: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:input_type -> nri.pkg.api.v1alpha1.RunPodSandboxRequest + 28, // 140: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxRequest + 30, // 141: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest + 18, // 142: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:input_type -> nri.pkg.api.v1alpha1.StopPodSandboxRequest + 20, // 143: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:input_type -> nri.pkg.api.v1alpha1.RemovePodSandboxRequest + 22, // 144: nri.pkg.api.v1alpha1.Plugin.CreateContainer:input_type -> nri.pkg.api.v1alpha1.CreateContainerRequest + 24, // 145: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:input_type -> nri.pkg.api.v1alpha1.UpdateContainerRequest + 26, // 146: nri.pkg.api.v1alpha1.Plugin.StopContainer:input_type -> nri.pkg.api.v1alpha1.StopContainerRequest + 32, // 147: nri.pkg.api.v1alpha1.Plugin.StateChange:input_type -> nri.pkg.api.v1alpha1.StateChangeEvent + 33, // 148: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:input_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest + 11, // 149: nri.pkg.api.v1alpha1.HostFunctions.Log:input_type -> nri.pkg.api.v1alpha1.LogRequest + 36, // 150: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:output_type -> nri.pkg.api.v1alpha1.Empty + 10, // 151: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:output_type -> nri.pkg.api.v1alpha1.UpdateContainersResponse + 13, // 152: nri.pkg.api.v1alpha1.Plugin.Configure:output_type -> nri.pkg.api.v1alpha1.ConfigureResponse + 15, // 153: nri.pkg.api.v1alpha1.Plugin.Synchronize:output_type -> nri.pkg.api.v1alpha1.SynchronizeResponse + 36, // 154: nri.pkg.api.v1alpha1.Plugin.Shutdown:output_type -> nri.pkg.api.v1alpha1.Empty + 17, // 155: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:output_type -> nri.pkg.api.v1alpha1.RunPodSandboxResponse + 29, // 156: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxResponse + 31, // 157: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse + 19, // 158: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:output_type -> nri.pkg.api.v1alpha1.StopPodSandboxResponse + 21, // 159: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:output_type -> nri.pkg.api.v1alpha1.RemovePodSandboxResponse + 23, // 160: nri.pkg.api.v1alpha1.Plugin.CreateContainer:output_type -> nri.pkg.api.v1alpha1.CreateContainerResponse + 25, // 161: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:output_type -> nri.pkg.api.v1alpha1.UpdateContainerResponse + 27, // 162: nri.pkg.api.v1alpha1.Plugin.StopContainer:output_type -> nri.pkg.api.v1alpha1.StopContainerResponse + 36, // 163: nri.pkg.api.v1alpha1.Plugin.StateChange:output_type -> nri.pkg.api.v1alpha1.Empty + 35, // 164: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:output_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse + 36, // 165: nri.pkg.api.v1alpha1.HostFunctions.Log:output_type -> nri.pkg.api.v1alpha1.Empty + 150, // [150:166] is the sub-list for method output_type + 134, // [134:150] is the sub-list for method input_type + 134, // [134:134] is the sub-list for extension type_name + 134, // [134:134] is the sub-list for extension extendee + 0, // [0:134] is the sub-list for field type_name } func init() { file_pkg_api_api_proto_init() } @@ -6483,7 +6903,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContainerRequest); i { + switch v := v.(*RunPodSandboxRequest); i { case 0: return &v.state case 1: @@ -6495,7 +6915,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContainerResponse); i { + switch v := v.(*RunPodSandboxResponse); i { case 0: return &v.state case 1: @@ -6507,7 +6927,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContainerRequest); i { + switch v := v.(*StopPodSandboxRequest); i { case 0: return &v.state case 1: @@ -6519,7 +6939,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContainerResponse); i { + switch v := v.(*StopPodSandboxResponse); i { case 0: return &v.state case 1: @@ -6531,7 +6951,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopContainerRequest); i { + switch v := v.(*RemovePodSandboxRequest); i { case 0: return &v.state case 1: @@ -6543,7 +6963,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopContainerResponse); i { + switch v := v.(*RemovePodSandboxResponse); i { case 0: return &v.state case 1: @@ -6555,7 +6975,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePodSandboxRequest); i { + switch v := v.(*CreateContainerRequest); i { case 0: return &v.state case 1: @@ -6567,7 +6987,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePodSandboxResponse); i { + switch v := v.(*CreateContainerResponse); i { case 0: return &v.state case 1: @@ -6579,7 +6999,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StateChangeEvent); i { + switch v := v.(*UpdateContainerRequest); i { case 0: return &v.state case 1: @@ -6591,7 +7011,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateContainerAdjustmentRequest); i { + switch v := v.(*UpdateContainerResponse); i { case 0: return &v.state case 1: @@ -6603,7 +7023,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginInstance); i { + switch v := v.(*StopContainerRequest); i { case 0: return &v.state case 1: @@ -6615,7 +7035,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateContainerAdjustmentResponse); i { + switch v := v.(*StopContainerResponse); i { case 0: return &v.state case 1: @@ -6627,7 +7047,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Empty); i { + switch v := v.(*UpdatePodSandboxRequest); i { case 0: return &v.state case 1: @@ -6639,7 +7059,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PodSandbox); i { + switch v := v.(*UpdatePodSandboxResponse); i { case 0: return &v.state case 1: @@ -6651,7 +7071,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxPodSandbox); i { + switch v := v.(*PostUpdatePodSandboxRequest); i { case 0: return &v.state case 1: @@ -6663,7 +7083,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Container); i { + switch v := v.(*PostUpdatePodSandboxResponse); i { case 0: return &v.state case 1: @@ -6675,7 +7095,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Mount); i { + switch v := v.(*StateChangeEvent); i { case 0: return &v.state case 1: @@ -6687,7 +7107,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hooks); i { + switch v := v.(*ValidateContainerAdjustmentRequest); i { case 0: return &v.state case 1: @@ -6699,7 +7119,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hook); i { + switch v := v.(*PluginInstance); i { case 0: return &v.state case 1: @@ -6711,7 +7131,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainer); i { + switch v := v.(*ValidateContainerAdjustmentResponse); i { case 0: return &v.state case 1: @@ -6723,7 +7143,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxNamespace); i { + switch v := v.(*Empty); i { case 0: return &v.state case 1: @@ -6735,7 +7155,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxDevice); i { + switch v := v.(*PodSandbox); i { case 0: return &v.state case 1: @@ -6747,7 +7167,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxDeviceCgroup); i { + switch v := v.(*LinuxPodSandbox); i { case 0: return &v.state case 1: @@ -6759,7 +7179,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDIDevice); i { + switch v := v.(*Container); i { case 0: return &v.state case 1: @@ -6771,7 +7191,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { + switch v := v.(*Mount); i { case 0: return &v.state case 1: @@ -6783,7 +7203,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxResources); i { + switch v := v.(*Hooks); i { case 0: return &v.state case 1: @@ -6795,7 +7215,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxMemory); i { + switch v := v.(*Hook); i { case 0: return &v.state case 1: @@ -6807,7 +7227,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxCPU); i { + switch v := v.(*LinuxContainer); i { case 0: return &v.state case 1: @@ -6819,7 +7239,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HugepageLimit); i { + switch v := v.(*LinuxNamespace); i { case 0: return &v.state case 1: @@ -6831,7 +7251,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecurityProfile); i { + switch v := v.(*LinuxDevice); i { case 0: return &v.state case 1: @@ -6843,7 +7263,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*POSIXRlimit); i { + switch v := v.(*LinuxDeviceCgroup); i { case 0: return &v.state case 1: @@ -6855,7 +7275,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxPids); i { + switch v := v.(*CDIDevice); i { case 0: return &v.state case 1: @@ -6867,7 +7287,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxIOPriority); i { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -6879,7 +7299,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxNetDevice); i { + switch v := v.(*LinuxResources); i { case 0: return &v.state case 1: @@ -6891,7 +7311,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxScheduler); i { + switch v := v.(*LinuxMemory); i { case 0: return &v.state case 1: @@ -6903,7 +7323,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerAdjustment); i { + switch v := v.(*LinuxCPU); i { case 0: return &v.state case 1: @@ -6915,7 +7335,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainerAdjustment); i { + switch v := v.(*HugepageLimit); i { case 0: return &v.state case 1: @@ -6927,7 +7347,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSeccomp); i { + switch v := v.(*SecurityProfile); i { case 0: return &v.state case 1: @@ -6939,7 +7359,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSyscall); i { + switch v := v.(*POSIXRlimit); i { case 0: return &v.state case 1: @@ -6951,7 +7371,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSeccompArg); i { + switch v := v.(*LinuxPids); i { case 0: return &v.state case 1: @@ -6963,7 +7383,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerUpdate); i { + switch v := v.(*LinuxIOPriority); i { case 0: return &v.state case 1: @@ -6975,7 +7395,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainerUpdate); i { + switch v := v.(*LinuxNetDevice); i { case 0: return &v.state case 1: @@ -6987,7 +7407,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerEviction); i { + switch v := v.(*LinuxScheduler); i { case 0: return &v.state case 1: @@ -6999,7 +7419,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxRdt); i { + switch v := v.(*ContainerAdjustment); i { case 0: return &v.state case 1: @@ -7011,7 +7431,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyValue); i { + switch v := v.(*LinuxContainerAdjustment); i { case 0: return &v.state case 1: @@ -7023,7 +7443,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalString); i { + switch v := v.(*LinuxSeccomp); i { case 0: return &v.state case 1: @@ -7035,7 +7455,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalRepeatedString); i { + switch v := v.(*LinuxSyscall); i { case 0: return &v.state case 1: @@ -7047,7 +7467,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt); i { + switch v := v.(*LinuxSeccompArg); i { case 0: return &v.state case 1: @@ -7059,7 +7479,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt32); i { + switch v := v.(*ContainerUpdate); i { case 0: return &v.state case 1: @@ -7071,7 +7491,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalUInt32); i { + switch v := v.(*LinuxContainerUpdate); i { case 0: return &v.state case 1: @@ -7083,7 +7503,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt64); i { + switch v := v.(*ContainerEviction); i { case 0: return &v.state case 1: @@ -7095,7 +7515,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalUInt64); i { + switch v := v.(*LinuxRdt); i { case 0: return &v.state case 1: @@ -7107,7 +7527,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalBool); i { + switch v := v.(*KeyValue); i { case 0: return &v.state case 1: @@ -7119,7 +7539,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalFileMode); i { + switch v := v.(*OptionalString); i { case 0: return &v.state case 1: @@ -7131,7 +7551,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompoundFieldOwners); i { + switch v := v.(*OptionalRepeatedString); i { case 0: return &v.state case 1: @@ -7143,7 +7563,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldOwners); i { + switch v := v.(*OptionalInt); i { case 0: return &v.state case 1: @@ -7155,6 +7575,102 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalInt32); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalUInt32); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalInt64); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalUInt64); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalBool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalFileMode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompoundFieldOwners); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldOwners); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OwningPlugins); i { case 0: return &v.state @@ -7173,7 +7689,7 @@ func file_pkg_api_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_api_api_proto_rawDesc, NumEnums: 8, - NumMessages: 79, + NumMessages: 87, NumExtensions: 0, NumServices: 3, }, diff --git a/pkg/api/api.proto b/pkg/api/api.proto index d5c584fe..4766f045 100644 --- a/pkg/api/api.proto +++ b/pkg/api/api.proto @@ -84,6 +84,21 @@ service Plugin { // Shutdown a plugin (let it know the runtime is going down). rpc Shutdown(Empty) returns (Empty); + // RunPodSandbox relays the corresponding request to the plugin. + rpc RunPodSandbox(RunPodSandboxRequest) returns (RunPodSandboxResponse); + + // UpdatePodSandbox relays the corresponding request to the plugin. + rpc UpdatePodSandbox(UpdatePodSandboxRequest) returns (UpdatePodSandboxResponse); + + // PostUpdatePodSandbox relays the corresponding request to the plugin. + rpc PostUpdatePodSandbox(PostUpdatePodSandboxRequest) returns (PostUpdatePodSandboxResponse); + + // StopPodSandbox relays the corresponding request to the plugin. + rpc StopPodSandbox(StopPodSandboxRequest) returns (StopPodSandboxResponse); + + // RemovePodSandbox relays the corresponding request to the plugin. + rpc RemovePodSandbox(RemovePodSandboxRequest) returns (RemovePodSandboxResponse); + // CreateContainer relays the corresponding request to the plugin. In // response, the plugin can adjust the container being created, and // update other containers in the runtime. Container adjustment can @@ -101,9 +116,6 @@ service Plugin { // can update any of the remaining containers in the runtime in response. rpc StopContainer(StopContainerRequest) returns (StopContainerResponse); - // UpdatePodSandbox relays the corresponding request to the plugin. - rpc UpdatePodSandbox(UpdatePodSandboxRequest) returns (UpdatePodSandboxResponse); - // StateChange relays any remaining pod or container lifecycle/state change // events the plugin has subscribed for. These can be used to trigger any // plugin-specific processing which needs to occur in connection with any of @@ -169,6 +181,45 @@ message SynchronizeResponse { bool more = 2; } +message RunPodSandboxRequest { + // Pod being created. + PodSandbox pod = 1; +} + +message RunPodSandboxResponse{} + +message UpdatePodSandboxRequest { + // Pod being updated. + PodSandbox pod = 1; + // Overhead associated with this pod. + LinuxResources overhead_linux_resources = 2; + // Sum of container resources for this pod. + LinuxResources linux_resources = 3; +} + +message UpdatePodSandboxResponse {} + +message PostUpdatePodSandboxRequest { + // Updated pod. + PodSandbox pod = 1; +} + +message PostUpdatePodSandboxResponse {} + +message StopPodSandboxRequest { + // Pod being stopped. + PodSandbox pod = 1; +} + +message StopPodSandboxResponse{} + +message RemovePodSandboxRequest { + // Pod being removed. + PodSandbox pod = 1; +} + +message RemovePodSandboxResponse{} + message CreateContainerRequest { // Pod of container being created. PodSandbox pod = 1; @@ -213,17 +264,6 @@ message StopContainerResponse { repeated ContainerUpdate update = 1; } -message UpdatePodSandboxRequest { - // Pod being updated. - PodSandbox pod = 1; - // Overhead associated with this pod. - LinuxResources overhead_linux_resources = 2; - // Sum of container resources for this pod. - LinuxResources linux_resources = 3; -} - -message UpdatePodSandboxResponse {} - message StateChangeEvent { // Event type of notification. Event event = 1; diff --git a/pkg/api/api_host.pb.go b/pkg/api/api_host.pb.go index a2f901ea..6422e3a8 100644 --- a/pkg/api/api_host.pb.go +++ b/pkg/api/api_host.pb.go @@ -176,6 +176,26 @@ func (p *PluginPlugin) Load(ctx context.Context, pluginPath string, hostFunction if shutdown == nil { return nil, errors.New("plugin_shutdown is not exported") } + runpodsandbox := module.ExportedFunction("plugin_run_pod_sandbox") + if runpodsandbox == nil { + return nil, errors.New("plugin_run_pod_sandbox is not exported") + } + updatepodsandbox := module.ExportedFunction("plugin_update_pod_sandbox") + if updatepodsandbox == nil { + return nil, errors.New("plugin_update_pod_sandbox is not exported") + } + postupdatepodsandbox := module.ExportedFunction("plugin_post_update_pod_sandbox") + if postupdatepodsandbox == nil { + return nil, errors.New("plugin_post_update_pod_sandbox is not exported") + } + stoppodsandbox := module.ExportedFunction("plugin_stop_pod_sandbox") + if stoppodsandbox == nil { + return nil, errors.New("plugin_stop_pod_sandbox is not exported") + } + removepodsandbox := module.ExportedFunction("plugin_remove_pod_sandbox") + if removepodsandbox == nil { + return nil, errors.New("plugin_remove_pod_sandbox is not exported") + } createcontainer := module.ExportedFunction("plugin_create_container") if createcontainer == nil { return nil, errors.New("plugin_create_container is not exported") @@ -188,10 +208,6 @@ func (p *PluginPlugin) Load(ctx context.Context, pluginPath string, hostFunction if stopcontainer == nil { return nil, errors.New("plugin_stop_container is not exported") } - updatepodsandbox := module.ExportedFunction("plugin_update_pod_sandbox") - if updatepodsandbox == nil { - return nil, errors.New("plugin_update_pod_sandbox is not exported") - } statechange := module.ExportedFunction("plugin_state_change") if statechange == nil { return nil, errors.New("plugin_state_change is not exported") @@ -218,10 +234,14 @@ func (p *PluginPlugin) Load(ctx context.Context, pluginPath string, hostFunction configure: configure, synchronize: synchronize, shutdown: shutdown, + runpodsandbox: runpodsandbox, + updatepodsandbox: updatepodsandbox, + postupdatepodsandbox: postupdatepodsandbox, + stoppodsandbox: stoppodsandbox, + removepodsandbox: removepodsandbox, createcontainer: createcontainer, updatecontainer: updatecontainer, stopcontainer: stopcontainer, - updatepodsandbox: updatepodsandbox, statechange: statechange, validatecontaineradjustment: validatecontaineradjustment, }, nil @@ -242,10 +262,14 @@ type pluginPlugin struct { configure api.Function synchronize api.Function shutdown api.Function + runpodsandbox api.Function + updatepodsandbox api.Function + postupdatepodsandbox api.Function + stoppodsandbox api.Function + removepodsandbox api.Function createcontainer api.Function updatecontainer api.Function stopcontainer api.Function - updatepodsandbox api.Function statechange api.Function validatecontaineradjustment api.Function } @@ -433,7 +457,7 @@ func (p *pluginPlugin) Shutdown(ctx context.Context, request *Empty) (*Empty, er return response, nil } -func (p *pluginPlugin) CreateContainer(ctx context.Context, request *CreateContainerRequest) (*CreateContainerResponse, error) { +func (p *pluginPlugin) RunPodSandbox(ctx context.Context, request *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { data, err := request.MarshalVT() if err != nil { return nil, err @@ -458,7 +482,7 @@ func (p *pluginPlugin) CreateContainer(ctx context.Context, request *CreateConta } } - ptrSize, err := p.createcontainer.Call(ctx, dataPtr, dataSize) + ptrSize, err := p.runpodsandbox.Call(ctx, dataPtr, dataSize) if err != nil { return nil, err } @@ -487,14 +511,14 @@ func (p *pluginPlugin) CreateContainer(ctx context.Context, request *CreateConta return nil, errors.New(string(bytes)) } - response := new(CreateContainerResponse) + response := new(RunPodSandboxResponse) if err = response.UnmarshalVT(bytes); err != nil { return nil, err } return response, nil } -func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateContainerRequest) (*UpdateContainerResponse, error) { +func (p *pluginPlugin) UpdatePodSandbox(ctx context.Context, request *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { data, err := request.MarshalVT() if err != nil { return nil, err @@ -519,7 +543,7 @@ func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateConta } } - ptrSize, err := p.updatecontainer.Call(ctx, dataPtr, dataSize) + ptrSize, err := p.updatepodsandbox.Call(ctx, dataPtr, dataSize) if err != nil { return nil, err } @@ -548,14 +572,14 @@ func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateConta return nil, errors.New(string(bytes)) } - response := new(UpdateContainerResponse) + response := new(UpdatePodSandboxResponse) if err = response.UnmarshalVT(bytes); err != nil { return nil, err } return response, nil } -func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainerRequest) (*StopContainerResponse, error) { +func (p *pluginPlugin) PostUpdatePodSandbox(ctx context.Context, request *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { data, err := request.MarshalVT() if err != nil { return nil, err @@ -580,7 +604,7 @@ func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainer } } - ptrSize, err := p.stopcontainer.Call(ctx, dataPtr, dataSize) + ptrSize, err := p.postupdatepodsandbox.Call(ctx, dataPtr, dataSize) if err != nil { return nil, err } @@ -609,14 +633,14 @@ func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainer return nil, errors.New(string(bytes)) } - response := new(StopContainerResponse) + response := new(PostUpdatePodSandboxResponse) if err = response.UnmarshalVT(bytes); err != nil { return nil, err } return response, nil } -func (p *pluginPlugin) UpdatePodSandbox(ctx context.Context, request *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { +func (p *pluginPlugin) StopPodSandbox(ctx context.Context, request *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { data, err := request.MarshalVT() if err != nil { return nil, err @@ -641,7 +665,7 @@ func (p *pluginPlugin) UpdatePodSandbox(ctx context.Context, request *UpdatePodS } } - ptrSize, err := p.updatepodsandbox.Call(ctx, dataPtr, dataSize) + ptrSize, err := p.stoppodsandbox.Call(ctx, dataPtr, dataSize) if err != nil { return nil, err } @@ -670,7 +694,251 @@ func (p *pluginPlugin) UpdatePodSandbox(ctx context.Context, request *UpdatePodS return nil, errors.New(string(bytes)) } - response := new(UpdatePodSandboxResponse) + response := new(StopPodSandboxResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) RemovePodSandbox(ctx context.Context, request *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.removepodsandbox.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(RemovePodSandboxResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) CreateContainer(ctx context.Context, request *CreateContainerRequest) (*CreateContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.createcontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(CreateContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateContainerRequest) (*UpdateContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.updatecontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(UpdateContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainerRequest) (*StopContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.stopcontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(StopContainerResponse) if err = response.UnmarshalVT(bytes); err != nil { return nil, err } diff --git a/pkg/api/api_plugin.pb.go b/pkg/api/api_plugin.pb.go index ebc93eb3..216da47b 100644 --- a/pkg/api/api_plugin.pb.go +++ b/pkg/api/api_plugin.pb.go @@ -114,14 +114,14 @@ func _plugin_shutdown(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } -//go:wasmexport plugin_create_container -func _plugin_create_container(ptr, size uint32) uint64 { +//go:wasmexport plugin_run_pod_sandbox +func _plugin_run_pod_sandbox(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) - req := new(CreateContainerRequest) + req := new(RunPodSandboxRequest) if err := req.UnmarshalVT(b); err != nil { return 0 } - response, err := plugin.CreateContainer(context.Background(), req) + response, err := plugin.RunPodSandbox(context.Background(), req) if err != nil { ptr, size = wasm.ByteToPtr([]byte(err.Error())) return (uint64(ptr) << uint64(32)) | uint64(size) | @@ -138,14 +138,14 @@ func _plugin_create_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } -//go:wasmexport plugin_update_container -func _plugin_update_container(ptr, size uint32) uint64 { +//go:wasmexport plugin_update_pod_sandbox +func _plugin_update_pod_sandbox(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) - req := new(UpdateContainerRequest) + req := new(UpdatePodSandboxRequest) if err := req.UnmarshalVT(b); err != nil { return 0 } - response, err := plugin.UpdateContainer(context.Background(), req) + response, err := plugin.UpdatePodSandbox(context.Background(), req) if err != nil { ptr, size = wasm.ByteToPtr([]byte(err.Error())) return (uint64(ptr) << uint64(32)) | uint64(size) | @@ -162,14 +162,14 @@ func _plugin_update_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } -//go:wasmexport plugin_stop_container -func _plugin_stop_container(ptr, size uint32) uint64 { +//go:wasmexport plugin_post_update_pod_sandbox +func _plugin_post_update_pod_sandbox(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) - req := new(StopContainerRequest) + req := new(PostUpdatePodSandboxRequest) if err := req.UnmarshalVT(b); err != nil { return 0 } - response, err := plugin.StopContainer(context.Background(), req) + response, err := plugin.PostUpdatePodSandbox(context.Background(), req) if err != nil { ptr, size = wasm.ByteToPtr([]byte(err.Error())) return (uint64(ptr) << uint64(32)) | uint64(size) | @@ -186,14 +186,110 @@ func _plugin_stop_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } -//go:wasmexport plugin_update_pod_sandbox -func _plugin_update_pod_sandbox(ptr, size uint32) uint64 { +//go:wasmexport plugin_stop_pod_sandbox +func _plugin_stop_pod_sandbox(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) - req := new(UpdatePodSandboxRequest) + req := new(StopPodSandboxRequest) if err := req.UnmarshalVT(b); err != nil { return 0 } - response, err := plugin.UpdatePodSandbox(context.Background(), req) + response, err := plugin.StopPodSandbox(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_remove_pod_sandbox +func _plugin_remove_pod_sandbox(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(RemovePodSandboxRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.RemovePodSandbox(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_create_container +func _plugin_create_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(CreateContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.CreateContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_update_container +func _plugin_update_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(UpdateContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.UpdateContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_stop_container +func _plugin_stop_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(StopContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.StopContainer(context.Background(), req) if err != nil { ptr, size = wasm.ByteToPtr([]byte(err.Error())) return (uint64(ptr) << uint64(32)) | uint64(size) | diff --git a/pkg/api/api_service.pb.go b/pkg/api/api_service.pb.go index df50eeb5..46671ef2 100644 --- a/pkg/api/api_service.pb.go +++ b/pkg/api/api_service.pb.go @@ -62,6 +62,16 @@ type Plugin interface { Synchronize(context.Context, *SynchronizeRequest) (*SynchronizeResponse, error) // Shutdown a plugin (let it know the runtime is going down). Shutdown(context.Context, *Empty) (*Empty, error) + // RunPodSandbox relays the corresponding request to the plugin. + RunPodSandbox(context.Context, *RunPodSandboxRequest) (*RunPodSandboxResponse, error) + // UpdatePodSandbox relays the corresponding request to the plugin. + UpdatePodSandbox(context.Context, *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) + // PostUpdatePodSandbox relays the corresponding request to the plugin. + PostUpdatePodSandbox(context.Context, *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) + // StopPodSandbox relays the corresponding request to the plugin. + StopPodSandbox(context.Context, *StopPodSandboxRequest) (*StopPodSandboxResponse, error) + // RemovePodSandbox relays the corresponding request to the plugin. + RemovePodSandbox(context.Context, *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) // CreateContainer relays the corresponding request to the plugin. In // response, the plugin can adjust the container being created, and // update other containers in the runtime. Container adjustment can @@ -76,8 +86,6 @@ type Plugin interface { // StopContainer relays the corresponding request to the plugin. The plugin // can update any of the remaining containers in the runtime in response. StopContainer(context.Context, *StopContainerRequest) (*StopContainerResponse, error) - // UpdatePodSandbox relays the corresponding request to the plugin. - UpdatePodSandbox(context.Context, *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) // StateChange relays any remaining pod or container lifecycle/state change // events the plugin has subscribed for. These can be used to trigger any // plugin-specific processing which needs to occur in connection with any of diff --git a/pkg/api/api_ttrpc.pb.go b/pkg/api/api_ttrpc.pb.go index 94cb404b..20136008 100644 --- a/pkg/api/api_ttrpc.pb.go +++ b/pkg/api/api_ttrpc.pb.go @@ -65,10 +65,14 @@ type PluginService interface { Configure(context.Context, *ConfigureRequest) (*ConfigureResponse, error) Synchronize(context.Context, *SynchronizeRequest) (*SynchronizeResponse, error) Shutdown(context.Context, *Empty) (*Empty, error) + RunPodSandbox(context.Context, *RunPodSandboxRequest) (*RunPodSandboxResponse, error) + UpdatePodSandbox(context.Context, *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) + PostUpdatePodSandbox(context.Context, *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) + StopPodSandbox(context.Context, *StopPodSandboxRequest) (*StopPodSandboxResponse, error) + RemovePodSandbox(context.Context, *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) CreateContainer(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error) UpdateContainer(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error) StopContainer(context.Context, *StopContainerRequest) (*StopContainerResponse, error) - UpdatePodSandbox(context.Context, *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) StateChange(context.Context, *StateChangeEvent) (*Empty, error) ValidateContainerAdjustment(context.Context, *ValidateContainerAdjustmentRequest) (*ValidateContainerAdjustmentResponse, error) } @@ -97,6 +101,41 @@ func RegisterPluginService(srv *ttrpc.Server, svc PluginService) { } return svc.Shutdown(ctx, &req) }, + "RunPodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req RunPodSandboxRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.RunPodSandbox(ctx, &req) + }, + "UpdatePodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req UpdatePodSandboxRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.UpdatePodSandbox(ctx, &req) + }, + "PostUpdatePodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req PostUpdatePodSandboxRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.PostUpdatePodSandbox(ctx, &req) + }, + "StopPodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req StopPodSandboxRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.StopPodSandbox(ctx, &req) + }, + "RemovePodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req RemovePodSandboxRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.RemovePodSandbox(ctx, &req) + }, "CreateContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { var req CreateContainerRequest if err := unmarshal(&req); err != nil { @@ -118,13 +157,6 @@ func RegisterPluginService(srv *ttrpc.Server, svc PluginService) { } return svc.StopContainer(ctx, &req) }, - "UpdatePodSandbox": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { - var req UpdatePodSandboxRequest - if err := unmarshal(&req); err != nil { - return nil, err - } - return svc.UpdatePodSandbox(ctx, &req) - }, "StateChange": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { var req StateChangeEvent if err := unmarshal(&req); err != nil { @@ -177,6 +209,46 @@ func (c *pluginClient) Shutdown(ctx context.Context, req *Empty) (*Empty, error) return &resp, nil } +func (c *pluginClient) RunPodSandbox(ctx context.Context, req *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { + var resp RunPodSandboxResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "RunPodSandbox", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { + var resp UpdatePodSandboxResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "UpdatePodSandbox", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { + var resp PostUpdatePodSandboxResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "PostUpdatePodSandbox", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { + var resp StopPodSandboxResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "StopPodSandbox", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) RemovePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { + var resp RemovePodSandboxResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "RemovePodSandbox", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + func (c *pluginClient) CreateContainer(ctx context.Context, req *CreateContainerRequest) (*CreateContainerResponse, error) { var resp CreateContainerResponse if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "CreateContainer", req, &resp); err != nil { @@ -201,14 +273,6 @@ func (c *pluginClient) StopContainer(ctx context.Context, req *StopContainerRequ return &resp, nil } -func (c *pluginClient) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { - var resp UpdatePodSandboxResponse - if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "UpdatePodSandbox", req, &resp); err != nil { - return nil, err - } - return &resp, nil -} - func (c *pluginClient) StateChange(ctx context.Context, req *StateChangeEvent) (*Empty, error) { var resp Empty if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "StateChange", req, &resp); err != nil { diff --git a/pkg/api/api_vtproto.pb.go b/pkg/api/api_vtproto.pb.go index 869096b2..681ca737 100644 --- a/pkg/api/api_vtproto.pb.go +++ b/pkg/api/api_vtproto.pb.go @@ -453,6 +453,234 @@ func (m *SynchronizeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *RunPodSandboxRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RunPodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RunPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RunPodSandboxResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RunPodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RunPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *StopPodSandboxRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StopPodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StopPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *StopPodSandboxResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StopPodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StopPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *RemovePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RemovePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RemovePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RemovePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RemovePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RemovePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + func (m *CreateContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -887,7 +1115,7 @@ func (m *UpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -900,12 +1128,12 @@ func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StateChangeEvent) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -917,16 +1145,6 @@ func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Container != nil { - size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -935,17 +1153,12 @@ func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 - } - if m.Event != 0 { - i = encodeVarint(dAtA, i, uint64(m.Event)) - i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -958,12 +1171,12 @@ func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error return dAtA[:n], nil } -func (m *ValidateContainerAdjustmentRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -975,24 +1188,115 @@ func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Plugins) > 0 { - for iNdEx := len(m.Plugins) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Plugins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } + return len(dAtA) - i, nil +} + +func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.Owners != nil { - size, err := m.Owners.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StateChangeEvent) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Event != 0 { + i = encodeVarint(dAtA, i, uint64(m.Event)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ValidateContainerAdjustmentRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Plugins) > 0 { + for iNdEx := len(m.Plugins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Plugins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + } + if m.Owners != nil { + size, err := m.Owners.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x2a @@ -4512,6 +4816,78 @@ func (m *SynchronizeResponse) SizeVT() (n int) { return n } +func (m *RunPodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RunPodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *StopPodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *StopPodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *RemovePodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RemovePodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + func (m *CreateContainerRequest) SizeVT() (n int) { if m == nil { return 0 @@ -4666,6 +5042,30 @@ func (m *UpdatePodSandboxResponse) SizeVT() (n int) { return n } +func (m *PostUpdatePodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *PostUpdatePodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + func (m *StateChangeEvent) SizeVT() (n int) { if m == nil { return 0 @@ -6727,7 +7127,527 @@ func (m *ConfigureResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { +func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SynchronizeRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SynchronizeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pods = append(m.Pods, &PodSandbox{}) + if err := m.Pods[len(m.Pods)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Containers = append(m.Containers, &Container{}) + if err := m.Containers[len(m.Containers)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.More = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: SynchronizeResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: SynchronizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Update = append(m.Update, &ContainerUpdate{}) + if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.More = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RunPodSandboxRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RunPodSandboxRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RunPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RunPodSandboxResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RunPodSandboxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RunPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StopPodSandboxRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StopPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StopPodSandboxResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StopPodSandboxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StopPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6750,15 +7670,15 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SynchronizeRequest: wiretype end group for non-group") + return fmt.Errorf("proto: RemovePodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SynchronizeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemovePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6785,65 +7705,13 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Pods = append(m.Pods, &PodSandbox{}) - if err := m.Pods[len(m.Pods)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF + if m.Pod == nil { + m.Pod = &PodSandbox{} } - m.Containers = append(m.Containers, &Container{}) - if err := m.Containers[len(m.Containers)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.More = bool(v != 0) default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -6866,7 +7734,7 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { +func (m *RemovePodSandboxResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6889,66 +7757,12 @@ func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SynchronizeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: RemovePodSandboxResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SynchronizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemovePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Update = append(m.Update, &ContainerUpdate{}) - if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.More = bool(v != 0) default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7945,6 +8759,144 @@ func (m *UpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { } return nil } +func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PostUpdatePodSandboxRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PostUpdatePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PostUpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PostUpdatePodSandboxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PostUpdatePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *StateChangeEvent) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pkg/api/event.go b/pkg/api/event.go index 05720184..106c9044 100644 --- a/pkg/api/event.go +++ b/pkg/api/event.go @@ -30,25 +30,17 @@ const ( type ( // Define *Request/*Response type aliases for *Event/Empty pairs. - StateChangeResponse = Empty - RunPodSandboxRequest = StateChangeEvent - RunPodSandboxResponse = Empty - StopPodSandboxRequest = StateChangeEvent - StopPodSandboxResponse = Empty - RemovePodSandboxRequest = StateChangeEvent - RemovePodSandboxResponse = Empty - PostUpdatePodSandboxRequest = StateChangeEvent - PostUpdatePodSandboxResponse = Empty - StartContainerRequest = StateChangeEvent - StartContainerResponse = Empty - RemoveContainerRequest = StateChangeEvent - RemoveContainerResponse = Empty - PostCreateContainerRequest = StateChangeEvent - PostCreateContainerResponse = Empty - PostStartContainerRequest = StateChangeEvent - PostStartContainerResponse = Empty - PostUpdateContainerRequest = StateChangeEvent - PostUpdateContainerResponse = Empty + StateChangeResponse = Empty + StartContainerRequest = StateChangeEvent + StartContainerResponse = Empty + RemoveContainerRequest = StateChangeEvent + RemoveContainerResponse = Empty + PostCreateContainerRequest = StateChangeEvent + PostCreateContainerResponse = Empty + PostStartContainerRequest = StateChangeEvent + PostStartContainerResponse = Empty + PostUpdateContainerRequest = StateChangeEvent + PostUpdateContainerResponse = Empty ShutdownRequest = Empty ShutdownResponse = Empty diff --git a/pkg/stub/stub.go b/pkg/stub/stub.go index b964c4e6..20695094 100644 --- a/pkg/stub/stub.go +++ b/pkg/stub/stub.go @@ -735,6 +735,56 @@ func (stub *stub) Shutdown(ctx context.Context, _ *api.ShutdownRequest) (*api.Sh return &api.ShutdownResponse{}, nil } +// RunPodSandbox request handler. +func (stub *stub) RunPodSandbox(ctx context.Context, req *api.RunPodSandboxRequest) (*api.RunPodSandboxResponse, error) { + handler := stub.handlers.RunPodSandbox + if handler == nil { + return &api.RunPodSandboxResponse{}, nil + } + err := handler(ctx, req.Pod) + return &api.RunPodSandboxResponse{}, err +} + +// UpdatePodSandbox request handler. +func (stub *stub) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandboxRequest) (*api.UpdatePodSandboxResponse, error) { + handler := stub.handlers.UpdatePodSandbox + if handler == nil { + return &api.UpdatePodSandboxResponse{}, nil + } + err := handler(ctx, req.Pod, req.OverheadLinuxResources, req.LinuxResources) + return &api.UpdatePodSandboxResponse{}, err +} + +// PostUpdatePodSandbox request handler. +func (stub *stub) PostUpdatePodSandbox(ctx context.Context, req *api.PostUpdatePodSandboxRequest) (*api.PostUpdatePodSandboxResponse, error) { + handler := stub.handlers.PostUpdatePodSandbox + if handler == nil { + return &api.PostUpdatePodSandboxResponse{}, nil + } + err := handler(ctx, req.Pod) + return &api.PostUpdatePodSandboxResponse{}, err +} + +// StopPodSandbox request handler. +func (stub *stub) StopPodSandbox(ctx context.Context, req *api.StopPodSandboxRequest) (*api.StopPodSandboxResponse, error) { + handler := stub.handlers.StopPodSandbox + if handler == nil { + return &api.StopPodSandboxResponse{}, nil + } + err := handler(ctx, req.Pod) + return &api.StopPodSandboxResponse{}, err +} + +// RemovePodSandbox request handler. +func (stub *stub) RemovePodSandbox(ctx context.Context, req *api.RemovePodSandboxRequest) (*api.RemovePodSandboxResponse, error) { + handler := stub.handlers.RemovePodSandbox + if handler == nil { + return &api.RemovePodSandboxResponse{}, nil + } + err := handler(ctx, req.Pod) + return &api.RemovePodSandboxResponse{}, err +} + // CreateContainer request handler. func (stub *stub) CreateContainer(ctx context.Context, req *api.CreateContainerRequest) (*api.CreateContainerResponse, error) { handler := stub.handlers.CreateContainer @@ -772,16 +822,6 @@ func (stub *stub) StopContainer(ctx context.Context, req *api.StopContainerReque }, err } -// UpdatePodSandbox request handler. -func (stub *stub) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandboxRequest) (*api.UpdatePodSandboxResponse, error) { - handler := stub.handlers.UpdatePodSandbox - if handler == nil { - return &api.UpdatePodSandboxResponse{}, nil - } - err := handler(ctx, req.Pod, req.OverheadLinuxResources, req.LinuxResources) - return &api.UpdatePodSandboxResponse{}, err -} - // StateChange event handler. func (stub *stub) StateChange(ctx context.Context, evt *api.StateChangeEvent) (*api.Empty, error) { var err error @@ -885,6 +925,10 @@ func (stub *stub) setupHandlers() error { stub.handlers.UpdatePodSandbox = plugin.UpdatePodSandbox stub.events.Set(api.Event_UPDATE_POD_SANDBOX) } + if plugin, ok := stub.plugin.(PostUpdatePodInterface); ok { + stub.handlers.PostUpdatePodSandbox = plugin.PostUpdatePodSandbox + stub.events.Set(api.Event_POST_UPDATE_POD_SANDBOX) + } if plugin, ok := stub.plugin.(StopPodInterface); ok { stub.handlers.StopPodSandbox = plugin.StopPodSandbox stub.events.Set(api.Event_STOP_POD_SANDBOX) @@ -893,10 +937,6 @@ func (stub *stub) setupHandlers() error { stub.handlers.RemovePodSandbox = plugin.RemovePodSandbox stub.events.Set(api.Event_REMOVE_POD_SANDBOX) } - if plugin, ok := stub.plugin.(PostUpdatePodInterface); ok { - stub.handlers.PostUpdatePodSandbox = plugin.PostUpdatePodSandbox - stub.events.Set(api.Event_POST_UPDATE_POD_SANDBOX) - } if plugin, ok := stub.plugin.(CreateContainerInterface); ok { stub.handlers.CreateContainer = plugin.CreateContainer stub.events.Set(api.Event_CREATE_CONTAINER) diff --git a/plugins/wasm/plugin.go b/plugins/wasm/plugin.go index 1d339d41..7af043db 100644 --- a/plugins/wasm/plugin.go +++ b/plugins/wasm/plugin.go @@ -60,13 +60,25 @@ func (p *plugin) StateChange(ctx context.Context, req *api.StateChangeEvent) (*a // called directly. switch req.GetEvent() { case api.Event_RUN_POD_SANDBOX: - return p.RunPodSandbox(ctx, req.GetPod()) + _, err := p.RunPodSandbox(ctx, &api.RunPodSandboxRequest{ + Pod: req.GetPod(), + }) + return &api.Empty{}, err case api.Event_POST_UPDATE_POD_SANDBOX: - return p.PostUpdatePodSandbox(ctx, req.GetPod()) + _, err := p.PostUpdatePodSandbox(ctx, &api.PostUpdatePodSandboxRequest{ + Pod: req.GetPod(), + }) + return &api.Empty{}, err case api.Event_STOP_POD_SANDBOX: - return p.StopPodSandbox(ctx, req.GetPod()) + _, err := p.StopPodSandbox(ctx, &api.StopPodSandboxRequest{ + Pod: req.GetPod(), + }) + return &api.Empty{}, err case api.Event_REMOVE_POD_SANDBOX: - return p.RemovePodSandbox(ctx, req.GetPod()) + _, err := p.RemovePodSandbox(ctx, &api.RemovePodSandboxRequest{ + Pod: req.GetPod(), + }) + return &api.Empty{}, err case api.Event_POST_CREATE_CONTAINER: return p.PostCreateContainer(ctx, req.GetPod(), req.GetContainer()) case api.Event_START_CONTAINER: @@ -82,7 +94,7 @@ func (p *plugin) StateChange(ctx context.Context, req *api.StateChangeEvent) (*a return &api.Empty{}, nil } -func (p *plugin) RunPodSandbox(ctx context.Context, pod *api.PodSandbox) (*api.Empty, error) { +func (p *plugin) RunPodSandbox(ctx context.Context, req *api.RunPodSandboxRequest) (*api.RunPodSandboxResponse, error) { log(ctx, "Got run pod sandbox request") return nil, nil } @@ -92,17 +104,17 @@ func (p *plugin) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandbox return nil, nil } -func (p *plugin) PostUpdatePodSandbox(ctx context.Context, pod *api.PodSandbox) (*api.Empty, error) { +func (p *plugin) PostUpdatePodSandbox(ctx context.Context, req *api.PostUpdatePodSandboxRequest) (*api.PostUpdatePodSandboxResponse, error) { log(ctx, "Got post update pod sandbox request") return nil, nil } -func (p *plugin) StopPodSandbox(ctx context.Context, pod *api.PodSandbox) (*api.Empty, error) { +func (p *plugin) StopPodSandbox(ctx context.Context, req *api.StopPodSandboxRequest) (*api.StopPodSandboxResponse, error) { log(ctx, "Got stop pod sandbox request") return nil, nil } -func (p *plugin) RemovePodSandbox(ctx context.Context, pod *api.PodSandbox) (*api.Empty, error) { +func (p *plugin) RemovePodSandbox(ctx context.Context, req *api.RemovePodSandboxRequest) (*api.RemovePodSandboxResponse, error) { log(ctx, "Got remove pod sandbox request") return nil, nil } From 8c658aa5a1493bf8aa3451061e2fb672f0790225 Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Tue, 24 Feb 2026 18:03:32 +0200 Subject: [PATCH 2/4] api,stub: add dedicated RPC calls for all container events. Define dedicated RPC calls on the wire for all container lifecycle events. Update stub, builtin and WASM plugins accordingly. Signed-off-by: Krisztian Litkey --- pkg/adaptation/builtin/plugin.go | 67 +- pkg/api/api.pb.go | 3952 ++++++++++------- pkg/api/api.proto | 61 + pkg/api/api_host.pb.go | 335 ++ pkg/api/api_plugin.pb.go | 120 + pkg/api/api_service.pb.go | 10 + pkg/api/api_ttrpc.pb.go | 80 + pkg/api/api_vtproto.pb.go | 7100 ++++++++++++++++++------------ pkg/api/event.go | 12 +- pkg/stub/stub.go | 50 + plugins/wasm/plugin.go | 40 +- 11 files changed, 7333 insertions(+), 4494 deletions(-) diff --git a/pkg/adaptation/builtin/plugin.go b/pkg/adaptation/builtin/plugin.go index 08ebcba1..4c76619d 100644 --- a/pkg/adaptation/builtin/plugin.go +++ b/pkg/adaptation/builtin/plugin.go @@ -179,6 +179,30 @@ func (b *BuiltinPlugin) CreateContainer(ctx context.Context, req *api.CreateCont return &api.CreateContainerResponse{}, nil } +// PostCreateContainer implements PluginsService of the NRI API. +func (b *BuiltinPlugin) PostCreateContainer(ctx context.Context, req *api.PostCreateContainerRequest) (*api.PostCreateContainerResponse, error) { + if b.Handlers.PostCreateContainer != nil { + return &api.PostCreateContainerResponse{}, b.Handlers.PostCreateContainer(ctx, req) + } + return &api.PostCreateContainerResponse{}, nil +} + +// StartContainer implements PluginService of the NRI API. +func (b *BuiltinPlugin) StartContainer(ctx context.Context, req *api.StartContainerRequest) (*api.StartContainerResponse, error) { + if b.Handlers.StartContainer != nil { + return &api.StartContainerResponse{}, b.Handlers.StartContainer(ctx, req) + } + return &api.StartContainerResponse{}, nil +} + +// PostStartContainer implements PluginService of the NRI API. +func (b *BuiltinPlugin) PostStartContainer(ctx context.Context, req *api.PostStartContainerRequest) (*api.PostStartContainerResponse, error) { + if b.Handlers.PostStartContainer != nil { + return &api.PostStartContainerResponse{}, b.Handlers.PostStartContainer(ctx, req) + } + return &api.PostStartContainerResponse{}, nil +} + // UpdateContainer implements PluginService of the NRI API. func (b *BuiltinPlugin) UpdateContainer(ctx context.Context, req *api.UpdateContainerRequest) (*api.UpdateContainerResponse, error) { if b.Handlers.UpdateContainer != nil { @@ -187,6 +211,14 @@ func (b *BuiltinPlugin) UpdateContainer(ctx context.Context, req *api.UpdateCont return &api.UpdateContainerResponse{}, nil } +// PostUpdateContainer implements PluginService of the NRI API. +func (b *BuiltinPlugin) PostUpdateContainer(ctx context.Context, req *api.PostUpdateContainerRequest) (*api.PostUpdateContainerResponse, error) { + if b.Handlers.PostUpdateContainer != nil { + return &api.PostUpdateContainerResponse{}, b.Handlers.PostUpdateContainer(ctx, req) + } + return &api.PostUpdateContainerResponse{}, nil +} + // StopContainer implements PluginService of the NRI API. func (b *BuiltinPlugin) StopContainer(ctx context.Context, req *api.StopContainerRequest) (*api.StopContainerResponse, error) { if b.Handlers.StopContainer != nil { @@ -195,33 +227,18 @@ func (b *BuiltinPlugin) StopContainer(ctx context.Context, req *api.StopContaine return &api.StopContainerResponse{}, nil } -// StateChange implements PluginService of the NRI API. -func (b *BuiltinPlugin) StateChange(ctx context.Context, evt *api.StateChangeEvent) (*api.StateChangeResponse, error) { - var err error - switch evt.Event { - case api.Event_POST_CREATE_CONTAINER: - if b.Handlers.PostCreateContainer != nil { - err = b.Handlers.PostCreateContainer(ctx, evt) - } - case api.Event_START_CONTAINER: - if b.Handlers.StartContainer != nil { - err = b.Handlers.StartContainer(ctx, evt) - } - case api.Event_POST_START_CONTAINER: - if b.Handlers.PostStartContainer != nil { - err = b.Handlers.PostStartContainer(ctx, evt) - } - case api.Event_POST_UPDATE_CONTAINER: - if b.Handlers.PostUpdateContainer != nil { - err = b.Handlers.PostUpdateContainer(ctx, evt) - } - case api.Event_REMOVE_CONTAINER: - if b.Handlers.RemoveContainer != nil { - err = b.Handlers.RemoveContainer(ctx, evt) - } +// RemoveContainer implements PluginService of the NRI API. +func (b *BuiltinPlugin) RemoveContainer(ctx context.Context, req *api.RemoveContainerRequest) (*api.RemoveContainerResponse, error) { + if b.Handlers.RemoveContainer != nil { + return &api.RemoveContainerResponse{}, b.Handlers.RemoveContainer(ctx, req) } + return &api.RemoveContainerResponse{}, nil +} - return &api.StateChangeResponse{}, err +// StateChange implements PluginService of the NRI API. +func (b *BuiltinPlugin) StateChange(_ context.Context, _ *api.StateChangeEvent) (*api.StateChangeResponse, error) { + // TODO: remove eventually once StateChange is removed from the wire protocol. + return &api.StateChangeResponse{}, nil } // ValidateContainerAdjustment implements PluginService of the NRI API. diff --git a/pkg/api/api.pb.go b/pkg/api/api.pb.go index 9d68dc6f..d810b382 100644 --- a/pkg/api/api.pb.go +++ b/pkg/api/api.pb.go @@ -621,7 +621,7 @@ func (x SecurityProfile_ProfileType) Number() protoreflect.EnumNumber { // Deprecated: Use SecurityProfile_ProfileType.Descriptor instead. func (SecurityProfile_ProfileType) EnumDescriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{45, 0} + return file_pkg_api_api_proto_rawDescGZIP(), []int{55, 0} } type RegisterPluginRequest struct { @@ -1183,6 +1183,196 @@ func (*RunPodSandboxResponse) Descriptor() ([]byte, []int) { return file_pkg_api_api_proto_rawDescGZIP(), []int{9} } +type UpdatePodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod being updated. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Overhead associated with this pod. + OverheadLinuxResources *LinuxResources `protobuf:"bytes,2,opt,name=overhead_linux_resources,json=overheadLinuxResources,proto3" json:"overhead_linux_resources,omitempty"` + // Sum of container resources for this pod. + LinuxResources *LinuxResources `protobuf:"bytes,3,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"` +} + +func (x *UpdatePodSandboxRequest) Reset() { + *x = UpdatePodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePodSandboxRequest) ProtoMessage() {} + +func (x *UpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePodSandboxRequest.ProtoReflect.Descriptor instead. +func (*UpdatePodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdatePodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +func (x *UpdatePodSandboxRequest) GetOverheadLinuxResources() *LinuxResources { + if x != nil { + return x.OverheadLinuxResources + } + return nil +} + +func (x *UpdatePodSandboxRequest) GetLinuxResources() *LinuxResources { + if x != nil { + return x.LinuxResources + } + return nil +} + +type UpdatePodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdatePodSandboxResponse) Reset() { + *x = UpdatePodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdatePodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdatePodSandboxResponse) ProtoMessage() {} + +func (x *UpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdatePodSandboxResponse.ProtoReflect.Descriptor instead. +func (*UpdatePodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{11} +} + +type PostUpdatePodSandboxRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Updated pod. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` +} + +func (x *PostUpdatePodSandboxRequest) Reset() { + *x = PostUpdatePodSandboxRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostUpdatePodSandboxRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostUpdatePodSandboxRequest) ProtoMessage() {} + +func (x *PostUpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostUpdatePodSandboxRequest.ProtoReflect.Descriptor instead. +func (*PostUpdatePodSandboxRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{12} +} + +func (x *PostUpdatePodSandboxRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +type PostUpdatePodSandboxResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PostUpdatePodSandboxResponse) Reset() { + *x = PostUpdatePodSandboxResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PostUpdatePodSandboxResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostUpdatePodSandboxResponse) ProtoMessage() {} + +func (x *PostUpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostUpdatePodSandboxResponse.ProtoReflect.Descriptor instead. +func (*PostUpdatePodSandboxResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{13} +} + type StopPodSandboxRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1195,7 +1385,7 @@ type StopPodSandboxRequest struct { func (x *StopPodSandboxRequest) Reset() { *x = StopPodSandboxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[10] + mi := &file_pkg_api_api_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1208,7 +1398,7 @@ func (x *StopPodSandboxRequest) String() string { func (*StopPodSandboxRequest) ProtoMessage() {} func (x *StopPodSandboxRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[10] + mi := &file_pkg_api_api_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1221,7 +1411,7 @@ func (x *StopPodSandboxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopPodSandboxRequest.ProtoReflect.Descriptor instead. func (*StopPodSandboxRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{10} + return file_pkg_api_api_proto_rawDescGZIP(), []int{14} } func (x *StopPodSandboxRequest) GetPod() *PodSandbox { @@ -1240,7 +1430,7 @@ type StopPodSandboxResponse struct { func (x *StopPodSandboxResponse) Reset() { *x = StopPodSandboxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[11] + mi := &file_pkg_api_api_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1253,7 +1443,7 @@ func (x *StopPodSandboxResponse) String() string { func (*StopPodSandboxResponse) ProtoMessage() {} func (x *StopPodSandboxResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[11] + mi := &file_pkg_api_api_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1266,7 +1456,7 @@ func (x *StopPodSandboxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StopPodSandboxResponse.ProtoReflect.Descriptor instead. func (*StopPodSandboxResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{11} + return file_pkg_api_api_proto_rawDescGZIP(), []int{15} } type RemovePodSandboxRequest struct { @@ -1281,7 +1471,7 @@ type RemovePodSandboxRequest struct { func (x *RemovePodSandboxRequest) Reset() { *x = RemovePodSandboxRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[12] + mi := &file_pkg_api_api_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1294,7 +1484,7 @@ func (x *RemovePodSandboxRequest) String() string { func (*RemovePodSandboxRequest) ProtoMessage() {} func (x *RemovePodSandboxRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[12] + mi := &file_pkg_api_api_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1307,7 +1497,7 @@ func (x *RemovePodSandboxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemovePodSandboxRequest.ProtoReflect.Descriptor instead. func (*RemovePodSandboxRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{12} + return file_pkg_api_api_proto_rawDescGZIP(), []int{16} } func (x *RemovePodSandboxRequest) GetPod() *PodSandbox { @@ -1326,7 +1516,7 @@ type RemovePodSandboxResponse struct { func (x *RemovePodSandboxResponse) Reset() { *x = RemovePodSandboxResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[13] + mi := &file_pkg_api_api_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1339,7 +1529,7 @@ func (x *RemovePodSandboxResponse) String() string { func (*RemovePodSandboxResponse) ProtoMessage() {} func (x *RemovePodSandboxResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[13] + mi := &file_pkg_api_api_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1352,7 +1542,7 @@ func (x *RemovePodSandboxResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemovePodSandboxResponse.ProtoReflect.Descriptor instead. func (*RemovePodSandboxResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{13} + return file_pkg_api_api_proto_rawDescGZIP(), []int{17} } type CreateContainerRequest struct { @@ -1369,7 +1559,7 @@ type CreateContainerRequest struct { func (x *CreateContainerRequest) Reset() { *x = CreateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[14] + mi := &file_pkg_api_api_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1382,7 +1572,7 @@ func (x *CreateContainerRequest) String() string { func (*CreateContainerRequest) ProtoMessage() {} func (x *CreateContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[14] + mi := &file_pkg_api_api_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1395,7 +1585,7 @@ func (x *CreateContainerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContainerRequest.ProtoReflect.Descriptor instead. func (*CreateContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{14} + return file_pkg_api_api_proto_rawDescGZIP(), []int{18} } func (x *CreateContainerRequest) GetPod() *PodSandbox { @@ -1428,7 +1618,7 @@ type CreateContainerResponse struct { func (x *CreateContainerResponse) Reset() { *x = CreateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[15] + mi := &file_pkg_api_api_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1441,7 +1631,7 @@ func (x *CreateContainerResponse) String() string { func (*CreateContainerResponse) ProtoMessage() {} func (x *CreateContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[15] + mi := &file_pkg_api_api_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1454,7 +1644,7 @@ func (x *CreateContainerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateContainerResponse.ProtoReflect.Descriptor instead. func (*CreateContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{15} + return file_pkg_api_api_proto_rawDescGZIP(), []int{19} } func (x *CreateContainerResponse) GetAdjust() *ContainerAdjustment { @@ -1478,36 +1668,34 @@ func (x *CreateContainerResponse) GetEvict() []*ContainerEviction { return nil } -type UpdateContainerRequest struct { +type PostCreateContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Pod of container being updated. + // Pod of created container. Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` - // Container being updated. + // Created container. Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` - // Resources to update. - LinuxResources *LinuxResources `protobuf:"bytes,3,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"` } -func (x *UpdateContainerRequest) Reset() { - *x = UpdateContainerRequest{} +func (x *PostCreateContainerRequest) Reset() { + *x = PostCreateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[16] + mi := &file_pkg_api_api_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateContainerRequest) String() string { +func (x *PostCreateContainerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateContainerRequest) ProtoMessage() {} +func (*PostCreateContainerRequest) ProtoMessage() {} -func (x *UpdateContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[16] +func (x *PostCreateContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1518,60 +1706,48 @@ func (x *UpdateContainerRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateContainerRequest.ProtoReflect.Descriptor instead. -func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{16} +// Deprecated: Use PostCreateContainerRequest.ProtoReflect.Descriptor instead. +func (*PostCreateContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{20} } -func (x *UpdateContainerRequest) GetPod() *PodSandbox { +func (x *PostCreateContainerRequest) GetPod() *PodSandbox { if x != nil { return x.Pod } return nil } -func (x *UpdateContainerRequest) GetContainer() *Container { +func (x *PostCreateContainerRequest) GetContainer() *Container { if x != nil { return x.Container } return nil } -func (x *UpdateContainerRequest) GetLinuxResources() *LinuxResources { - if x != nil { - return x.LinuxResources - } - return nil -} - -type UpdateContainerResponse struct { +type PostCreateContainerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields +} - // Requested updates to containers. - Update []*ContainerUpdate `protobuf:"bytes,1,rep,name=update,proto3" json:"update,omitempty"` - // Requested eviction of containers. - Evict []*ContainerEviction `protobuf:"bytes,2,rep,name=evict,proto3" json:"evict,omitempty"` -} - -func (x *UpdateContainerResponse) Reset() { - *x = UpdateContainerResponse{} +func (x *PostCreateContainerResponse) Reset() { + *x = PostCreateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[17] + mi := &file_pkg_api_api_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdateContainerResponse) String() string { +func (x *PostCreateContainerResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdateContainerResponse) ProtoMessage() {} +func (*PostCreateContainerResponse) ProtoMessage() {} -func (x *UpdateContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[17] +func (x *PostCreateContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1582,53 +1758,39 @@ func (x *UpdateContainerResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdateContainerResponse.ProtoReflect.Descriptor instead. -func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{17} -} - -func (x *UpdateContainerResponse) GetUpdate() []*ContainerUpdate { - if x != nil { - return x.Update - } - return nil -} - -func (x *UpdateContainerResponse) GetEvict() []*ContainerEviction { - if x != nil { - return x.Evict - } - return nil +// Deprecated: Use PostCreateContainerResponse.ProtoReflect.Descriptor instead. +func (*PostCreateContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{21} } -type StopContainerRequest struct { +type StartContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Pod of container being stopped. + // Pod of container being started. Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` - // Container being stopped. + // Container being started. Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` } -func (x *StopContainerRequest) Reset() { - *x = StopContainerRequest{} +func (x *StartContainerRequest) Reset() { + *x = StartContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[18] + mi := &file_pkg_api_api_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StopContainerRequest) String() string { +func (x *StartContainerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StopContainerRequest) ProtoMessage() {} +func (*StartContainerRequest) ProtoMessage() {} -func (x *StopContainerRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[18] +func (x *StartContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1639,51 +1801,48 @@ func (x *StopContainerRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StopContainerRequest.ProtoReflect.Descriptor instead. -func (*StopContainerRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{18} +// Deprecated: Use StartContainerRequest.ProtoReflect.Descriptor instead. +func (*StartContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{22} } -func (x *StopContainerRequest) GetPod() *PodSandbox { +func (x *StartContainerRequest) GetPod() *PodSandbox { if x != nil { return x.Pod } return nil } -func (x *StopContainerRequest) GetContainer() *Container { +func (x *StartContainerRequest) GetContainer() *Container { if x != nil { return x.Container } return nil } -type StopContainerResponse struct { +type StartContainerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Requested updates to containers. - Update []*ContainerUpdate `protobuf:"bytes,1,rep,name=update,proto3" json:"update,omitempty"` } -func (x *StopContainerResponse) Reset() { - *x = StopContainerResponse{} +func (x *StartContainerResponse) Reset() { + *x = StartContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[19] + mi := &file_pkg_api_api_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StopContainerResponse) String() string { +func (x *StartContainerResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StopContainerResponse) ProtoMessage() {} +func (*StartContainerResponse) ProtoMessage() {} -func (x *StopContainerResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[19] +func (x *StartContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1694,48 +1853,39 @@ func (x *StopContainerResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StopContainerResponse.ProtoReflect.Descriptor instead. -func (*StopContainerResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{19} -} - -func (x *StopContainerResponse) GetUpdate() []*ContainerUpdate { - if x != nil { - return x.Update - } - return nil +// Deprecated: Use StartContainerResponse.ProtoReflect.Descriptor instead. +func (*StartContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{23} } -type UpdatePodSandboxRequest struct { +type PostStartContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Pod being updated. + // Pod of started container. Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` - // Overhead associated with this pod. - OverheadLinuxResources *LinuxResources `protobuf:"bytes,2,opt,name=overhead_linux_resources,json=overheadLinuxResources,proto3" json:"overhead_linux_resources,omitempty"` - // Sum of container resources for this pod. - LinuxResources *LinuxResources `protobuf:"bytes,3,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"` + // Started container. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` } -func (x *UpdatePodSandboxRequest) Reset() { - *x = UpdatePodSandboxRequest{} +func (x *PostStartContainerRequest) Reset() { + *x = PostStartContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[20] + mi := &file_pkg_api_api_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdatePodSandboxRequest) String() string { +func (x *PostStartContainerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdatePodSandboxRequest) ProtoMessage() {} +func (*PostStartContainerRequest) ProtoMessage() {} -func (x *UpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[20] +func (x *PostStartContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1746,55 +1896,48 @@ func (x *UpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdatePodSandboxRequest.ProtoReflect.Descriptor instead. -func (*UpdatePodSandboxRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{20} +// Deprecated: Use PostStartContainerRequest.ProtoReflect.Descriptor instead. +func (*PostStartContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{24} } -func (x *UpdatePodSandboxRequest) GetPod() *PodSandbox { +func (x *PostStartContainerRequest) GetPod() *PodSandbox { if x != nil { return x.Pod } return nil } -func (x *UpdatePodSandboxRequest) GetOverheadLinuxResources() *LinuxResources { - if x != nil { - return x.OverheadLinuxResources - } - return nil -} - -func (x *UpdatePodSandboxRequest) GetLinuxResources() *LinuxResources { +func (x *PostStartContainerRequest) GetContainer() *Container { if x != nil { - return x.LinuxResources + return x.Container } return nil } -type UpdatePodSandboxResponse struct { +type PostStartContainerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *UpdatePodSandboxResponse) Reset() { - *x = UpdatePodSandboxResponse{} +func (x *PostStartContainerResponse) Reset() { + *x = PostStartContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[21] + mi := &file_pkg_api_api_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UpdatePodSandboxResponse) String() string { +func (x *PostStartContainerResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UpdatePodSandboxResponse) ProtoMessage() {} +func (*PostStartContainerResponse) ProtoMessage() {} -func (x *UpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[21] +func (x *PostStartContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1805,37 +1948,41 @@ func (x *UpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UpdatePodSandboxResponse.ProtoReflect.Descriptor instead. -func (*UpdatePodSandboxResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{21} +// Deprecated: Use PostStartContainerResponse.ProtoReflect.Descriptor instead. +func (*PostStartContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{25} } -type PostUpdatePodSandboxRequest struct { +type UpdateContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Updated pod. + // Pod of container being updated. Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Container being updated. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` + // Resources to update. + LinuxResources *LinuxResources `protobuf:"bytes,3,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"` } -func (x *PostUpdatePodSandboxRequest) Reset() { - *x = PostUpdatePodSandboxRequest{} +func (x *UpdateContainerRequest) Reset() { + *x = UpdateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[22] + mi := &file_pkg_api_api_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PostUpdatePodSandboxRequest) String() string { +func (x *UpdateContainerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostUpdatePodSandboxRequest) ProtoMessage() {} +func (*UpdateContainerRequest) ProtoMessage() {} -func (x *PostUpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[22] +func (x *UpdateContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1846,41 +1993,60 @@ func (x *PostUpdatePodSandboxRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostUpdatePodSandboxRequest.ProtoReflect.Descriptor instead. -func (*PostUpdatePodSandboxRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{22} +// Deprecated: Use UpdateContainerRequest.ProtoReflect.Descriptor instead. +func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{26} } -func (x *PostUpdatePodSandboxRequest) GetPod() *PodSandbox { +func (x *UpdateContainerRequest) GetPod() *PodSandbox { if x != nil { return x.Pod } return nil } -type PostUpdatePodSandboxResponse struct { +func (x *UpdateContainerRequest) GetContainer() *Container { + if x != nil { + return x.Container + } + return nil +} + +func (x *UpdateContainerRequest) GetLinuxResources() *LinuxResources { + if x != nil { + return x.LinuxResources + } + return nil +} + +type UpdateContainerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Requested updates to containers. + Update []*ContainerUpdate `protobuf:"bytes,1,rep,name=update,proto3" json:"update,omitempty"` + // Requested eviction of containers. + Evict []*ContainerEviction `protobuf:"bytes,2,rep,name=evict,proto3" json:"evict,omitempty"` } -func (x *PostUpdatePodSandboxResponse) Reset() { - *x = PostUpdatePodSandboxResponse{} +func (x *UpdateContainerResponse) Reset() { + *x = UpdateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[23] + mi := &file_pkg_api_api_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PostUpdatePodSandboxResponse) String() string { +func (x *UpdateContainerResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PostUpdatePodSandboxResponse) ProtoMessage() {} +func (*UpdateContainerResponse) ProtoMessage() {} -func (x *PostUpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[23] +func (x *UpdateContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1891,43 +2057,53 @@ func (x *PostUpdatePodSandboxResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PostUpdatePodSandboxResponse.ProtoReflect.Descriptor instead. -func (*PostUpdatePodSandboxResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{23} +// Deprecated: Use UpdateContainerResponse.ProtoReflect.Descriptor instead. +func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{27} } -type StateChangeEvent struct { +func (x *UpdateContainerResponse) GetUpdate() []*ContainerUpdate { + if x != nil { + return x.Update + } + return nil +} + +func (x *UpdateContainerResponse) GetEvict() []*ContainerEviction { + if x != nil { + return x.Evict + } + return nil +} + +type PostUpdateContainerRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Event type of notification. - Event Event `protobuf:"varint,1,opt,name=event,proto3,enum=nri.pkg.api.v1alpha1.Event" json:"event,omitempty"` - // Pod this notification is sent for. If this event is related to a container, - // pod is set to the pod of the container. - Pod *PodSandbox `protobuf:"bytes,2,opt,name=pod,proto3" json:"pod,omitempty"` - // Container this notification is sent for. If the event is related to a pod, - // container is nil. - Container *Container `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` + // Pod of updated container. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Updated container. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` } -func (x *StateChangeEvent) Reset() { - *x = StateChangeEvent{} +func (x *PostUpdateContainerRequest) Reset() { + *x = PostUpdateContainerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[24] + mi := &file_pkg_api_api_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StateChangeEvent) String() string { +func (x *PostUpdateContainerRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StateChangeEvent) ProtoMessage() {} +func (*PostUpdateContainerRequest) ProtoMessage() {} -func (x *StateChangeEvent) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[24] +func (x *PostUpdateContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1938,68 +2114,367 @@ func (x *StateChangeEvent) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StateChangeEvent.ProtoReflect.Descriptor instead. -func (*StateChangeEvent) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{24} -} - -func (x *StateChangeEvent) GetEvent() Event { - if x != nil { - return x.Event - } - return Event_UNKNOWN +// Deprecated: Use PostUpdateContainerRequest.ProtoReflect.Descriptor instead. +func (*PostUpdateContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{28} } -func (x *StateChangeEvent) GetPod() *PodSandbox { +func (x *PostUpdateContainerRequest) GetPod() *PodSandbox { if x != nil { return x.Pod } return nil } -func (x *StateChangeEvent) GetContainer() *Container { +func (x *PostUpdateContainerRequest) GetContainer() *Container { if x != nil { return x.Container } return nil } -type ValidateContainerAdjustmentRequest struct { +type PostUpdateContainerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // Pod of container being adjusted. - Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` - // Container being adjusted in its pristine state. - Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` - // Pending container adjustments. - Adjust *ContainerAdjustment `protobuf:"bytes,3,opt,name=adjust,proto3" json:"adjust,omitempty"` - // Pending updates to other containers. - Update []*ContainerUpdate `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` - // Plugins that made the adjustments and updates. - Owners *OwningPlugins `protobuf:"bytes,5,opt,name=owners,proto3" json:"owners,omitempty"` - // Plugins consulted for adjustments and updates. - Plugins []*PluginInstance `protobuf:"bytes,6,rep,name=plugins,proto3" json:"plugins,omitempty"` } -func (x *ValidateContainerAdjustmentRequest) Reset() { - *x = ValidateContainerAdjustmentRequest{} +func (x *PostUpdateContainerResponse) Reset() { + *x = PostUpdateContainerResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[25] + mi := &file_pkg_api_api_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ValidateContainerAdjustmentRequest) String() string { +func (x *PostUpdateContainerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostUpdateContainerResponse) ProtoMessage() {} + +func (x *PostUpdateContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostUpdateContainerResponse.ProtoReflect.Descriptor instead. +func (*PostUpdateContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{29} +} + +type StopContainerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod of container being stopped. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Container being stopped. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` +} + +func (x *StopContainerRequest) Reset() { + *x = StopContainerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopContainerRequest) ProtoMessage() {} + +func (x *StopContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopContainerRequest.ProtoReflect.Descriptor instead. +func (*StopContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{30} +} + +func (x *StopContainerRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +func (x *StopContainerRequest) GetContainer() *Container { + if x != nil { + return x.Container + } + return nil +} + +type StopContainerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Requested updates to containers. + Update []*ContainerUpdate `protobuf:"bytes,1,rep,name=update,proto3" json:"update,omitempty"` +} + +func (x *StopContainerResponse) Reset() { + *x = StopContainerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopContainerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopContainerResponse) ProtoMessage() {} + +func (x *StopContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopContainerResponse.ProtoReflect.Descriptor instead. +func (*StopContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{31} +} + +func (x *StopContainerResponse) GetUpdate() []*ContainerUpdate { + if x != nil { + return x.Update + } + return nil +} + +type RemoveContainerRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod of removed container. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Removed container. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` +} + +func (x *RemoveContainerRequest) Reset() { + *x = RemoveContainerRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveContainerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveContainerRequest) ProtoMessage() {} + +func (x *RemoveContainerRequest) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveContainerRequest.ProtoReflect.Descriptor instead. +func (*RemoveContainerRequest) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{32} +} + +func (x *RemoveContainerRequest) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +func (x *RemoveContainerRequest) GetContainer() *Container { + if x != nil { + return x.Container + } + return nil +} + +type RemoveContainerResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemoveContainerResponse) Reset() { + *x = RemoveContainerResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveContainerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveContainerResponse) ProtoMessage() {} + +func (x *RemoveContainerResponse) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveContainerResponse.ProtoReflect.Descriptor instead. +func (*RemoveContainerResponse) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{33} +} + +type StateChangeEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Event type of notification. + Event Event `protobuf:"varint,1,opt,name=event,proto3,enum=nri.pkg.api.v1alpha1.Event" json:"event,omitempty"` + // Pod this notification is sent for. If this event is related to a container, + // pod is set to the pod of the container. + Pod *PodSandbox `protobuf:"bytes,2,opt,name=pod,proto3" json:"pod,omitempty"` + // Container this notification is sent for. If the event is related to a pod, + // container is nil. + Container *Container `protobuf:"bytes,3,opt,name=container,proto3" json:"container,omitempty"` +} + +func (x *StateChangeEvent) Reset() { + *x = StateChangeEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StateChangeEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StateChangeEvent) ProtoMessage() {} + +func (x *StateChangeEvent) ProtoReflect() protoreflect.Message { + mi := &file_pkg_api_api_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StateChangeEvent.ProtoReflect.Descriptor instead. +func (*StateChangeEvent) Descriptor() ([]byte, []int) { + return file_pkg_api_api_proto_rawDescGZIP(), []int{34} +} + +func (x *StateChangeEvent) GetEvent() Event { + if x != nil { + return x.Event + } + return Event_UNKNOWN +} + +func (x *StateChangeEvent) GetPod() *PodSandbox { + if x != nil { + return x.Pod + } + return nil +} + +func (x *StateChangeEvent) GetContainer() *Container { + if x != nil { + return x.Container + } + return nil +} + +type ValidateContainerAdjustmentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Pod of container being adjusted. + Pod *PodSandbox `protobuf:"bytes,1,opt,name=pod,proto3" json:"pod,omitempty"` + // Container being adjusted in its pristine state. + Container *Container `protobuf:"bytes,2,opt,name=container,proto3" json:"container,omitempty"` + // Pending container adjustments. + Adjust *ContainerAdjustment `protobuf:"bytes,3,opt,name=adjust,proto3" json:"adjust,omitempty"` + // Pending updates to other containers. + Update []*ContainerUpdate `protobuf:"bytes,4,rep,name=update,proto3" json:"update,omitempty"` + // Plugins that made the adjustments and updates. + Owners *OwningPlugins `protobuf:"bytes,5,opt,name=owners,proto3" json:"owners,omitempty"` + // Plugins consulted for adjustments and updates. + Plugins []*PluginInstance `protobuf:"bytes,6,rep,name=plugins,proto3" json:"plugins,omitempty"` +} + +func (x *ValidateContainerAdjustmentRequest) Reset() { + *x = ValidateContainerAdjustmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pkg_api_api_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValidateContainerAdjustmentRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ValidateContainerAdjustmentRequest) ProtoMessage() {} func (x *ValidateContainerAdjustmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[25] + mi := &file_pkg_api_api_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2012,7 +2487,7 @@ func (x *ValidateContainerAdjustmentRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ValidateContainerAdjustmentRequest.ProtoReflect.Descriptor instead. func (*ValidateContainerAdjustmentRequest) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{25} + return file_pkg_api_api_proto_rawDescGZIP(), []int{35} } func (x *ValidateContainerAdjustmentRequest) GetPod() *PodSandbox { @@ -2069,7 +2544,7 @@ type PluginInstance struct { func (x *PluginInstance) Reset() { *x = PluginInstance{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[26] + mi := &file_pkg_api_api_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2082,7 +2557,7 @@ func (x *PluginInstance) String() string { func (*PluginInstance) ProtoMessage() {} func (x *PluginInstance) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[26] + mi := &file_pkg_api_api_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2095,7 +2570,7 @@ func (x *PluginInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use PluginInstance.ProtoReflect.Descriptor instead. func (*PluginInstance) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{26} + return file_pkg_api_api_proto_rawDescGZIP(), []int{36} } func (x *PluginInstance) GetName() string { @@ -2124,7 +2599,7 @@ type ValidateContainerAdjustmentResponse struct { func (x *ValidateContainerAdjustmentResponse) Reset() { *x = ValidateContainerAdjustmentResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[27] + mi := &file_pkg_api_api_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2137,7 +2612,7 @@ func (x *ValidateContainerAdjustmentResponse) String() string { func (*ValidateContainerAdjustmentResponse) ProtoMessage() {} func (x *ValidateContainerAdjustmentResponse) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[27] + mi := &file_pkg_api_api_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2150,7 +2625,7 @@ func (x *ValidateContainerAdjustmentResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use ValidateContainerAdjustmentResponse.ProtoReflect.Descriptor instead. func (*ValidateContainerAdjustmentResponse) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{27} + return file_pkg_api_api_proto_rawDescGZIP(), []int{37} } func (x *ValidateContainerAdjustmentResponse) GetReject() bool { @@ -2177,7 +2652,7 @@ type Empty struct { func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[28] + mi := &file_pkg_api_api_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2190,7 +2665,7 @@ func (x *Empty) String() string { func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[28] + mi := &file_pkg_api_api_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2203,7 +2678,7 @@ func (x *Empty) ProtoReflect() protoreflect.Message { // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{28} + return file_pkg_api_api_proto_rawDescGZIP(), []int{38} } // Pod metadata that is considered relevant for a plugin. @@ -2227,7 +2702,7 @@ type PodSandbox struct { func (x *PodSandbox) Reset() { *x = PodSandbox{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[29] + mi := &file_pkg_api_api_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2240,7 +2715,7 @@ func (x *PodSandbox) String() string { func (*PodSandbox) ProtoMessage() {} func (x *PodSandbox) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[29] + mi := &file_pkg_api_api_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2253,7 +2728,7 @@ func (x *PodSandbox) ProtoReflect() protoreflect.Message { // Deprecated: Use PodSandbox.ProtoReflect.Descriptor instead. func (*PodSandbox) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{29} + return file_pkg_api_api_proto_rawDescGZIP(), []int{39} } func (x *PodSandbox) GetId() string { @@ -2343,7 +2818,7 @@ type LinuxPodSandbox struct { func (x *LinuxPodSandbox) Reset() { *x = LinuxPodSandbox{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[30] + mi := &file_pkg_api_api_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2356,7 +2831,7 @@ func (x *LinuxPodSandbox) String() string { func (*LinuxPodSandbox) ProtoMessage() {} func (x *LinuxPodSandbox) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[30] + mi := &file_pkg_api_api_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2369,7 +2844,7 @@ func (x *LinuxPodSandbox) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxPodSandbox.ProtoReflect.Descriptor instead. func (*LinuxPodSandbox) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{30} + return file_pkg_api_api_proto_rawDescGZIP(), []int{40} } func (x *LinuxPodSandbox) GetPodOverhead() *LinuxResources { @@ -2446,7 +2921,7 @@ type Container struct { func (x *Container) Reset() { *x = Container{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[31] + mi := &file_pkg_api_api_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2459,7 +2934,7 @@ func (x *Container) String() string { func (*Container) ProtoMessage() {} func (x *Container) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[31] + mi := &file_pkg_api_api_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2472,7 +2947,7 @@ func (x *Container) ProtoReflect() protoreflect.Message { // Deprecated: Use Container.ProtoReflect.Descriptor instead. func (*Container) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{31} + return file_pkg_api_api_proto_rawDescGZIP(), []int{41} } func (x *Container) GetId() string { @@ -2637,7 +3112,7 @@ type Mount struct { func (x *Mount) Reset() { *x = Mount{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[32] + mi := &file_pkg_api_api_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2650,7 +3125,7 @@ func (x *Mount) String() string { func (*Mount) ProtoMessage() {} func (x *Mount) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[32] + mi := &file_pkg_api_api_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2663,7 +3138,7 @@ func (x *Mount) ProtoReflect() protoreflect.Message { // Deprecated: Use Mount.ProtoReflect.Descriptor instead. func (*Mount) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{32} + return file_pkg_api_api_proto_rawDescGZIP(), []int{42} } func (x *Mount) GetDestination() string { @@ -2711,7 +3186,7 @@ type Hooks struct { func (x *Hooks) Reset() { *x = Hooks{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[33] + mi := &file_pkg_api_api_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2724,7 +3199,7 @@ func (x *Hooks) String() string { func (*Hooks) ProtoMessage() {} func (x *Hooks) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[33] + mi := &file_pkg_api_api_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2737,7 +3212,7 @@ func (x *Hooks) ProtoReflect() protoreflect.Message { // Deprecated: Use Hooks.ProtoReflect.Descriptor instead. func (*Hooks) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{33} + return file_pkg_api_api_proto_rawDescGZIP(), []int{43} } func (x *Hooks) GetPrestart() []*Hook { @@ -2797,7 +3272,7 @@ type Hook struct { func (x *Hook) Reset() { *x = Hook{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[34] + mi := &file_pkg_api_api_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2810,7 +3285,7 @@ func (x *Hook) String() string { func (*Hook) ProtoMessage() {} func (x *Hook) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[34] + mi := &file_pkg_api_api_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2823,7 +3298,7 @@ func (x *Hook) ProtoReflect() protoreflect.Message { // Deprecated: Use Hook.ProtoReflect.Descriptor instead. func (*Hook) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{34} + return file_pkg_api_api_proto_rawDescGZIP(), []int{44} } func (x *Hook) GetPath() string { @@ -2877,7 +3352,7 @@ type LinuxContainer struct { func (x *LinuxContainer) Reset() { *x = LinuxContainer{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[35] + mi := &file_pkg_api_api_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2890,7 +3365,7 @@ func (x *LinuxContainer) String() string { func (*LinuxContainer) ProtoMessage() {} func (x *LinuxContainer) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[35] + mi := &file_pkg_api_api_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2903,7 +3378,7 @@ func (x *LinuxContainer) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainer.ProtoReflect.Descriptor instead. func (*LinuxContainer) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{35} + return file_pkg_api_api_proto_rawDescGZIP(), []int{45} } func (x *LinuxContainer) GetNamespaces() []*LinuxNamespace { @@ -3003,7 +3478,7 @@ type LinuxNamespace struct { func (x *LinuxNamespace) Reset() { *x = LinuxNamespace{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[36] + mi := &file_pkg_api_api_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3016,7 +3491,7 @@ func (x *LinuxNamespace) String() string { func (*LinuxNamespace) ProtoMessage() {} func (x *LinuxNamespace) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[36] + mi := &file_pkg_api_api_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3029,7 +3504,7 @@ func (x *LinuxNamespace) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxNamespace.ProtoReflect.Descriptor instead. func (*LinuxNamespace) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{36} + return file_pkg_api_api_proto_rawDescGZIP(), []int{46} } func (x *LinuxNamespace) GetType() string { @@ -3064,7 +3539,7 @@ type LinuxDevice struct { func (x *LinuxDevice) Reset() { *x = LinuxDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[37] + mi := &file_pkg_api_api_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3077,7 +3552,7 @@ func (x *LinuxDevice) String() string { func (*LinuxDevice) ProtoMessage() {} func (x *LinuxDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[37] + mi := &file_pkg_api_api_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3090,7 +3565,7 @@ func (x *LinuxDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxDevice.ProtoReflect.Descriptor instead. func (*LinuxDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{37} + return file_pkg_api_api_proto_rawDescGZIP(), []int{47} } func (x *LinuxDevice) GetPath() string { @@ -3158,7 +3633,7 @@ type LinuxDeviceCgroup struct { func (x *LinuxDeviceCgroup) Reset() { *x = LinuxDeviceCgroup{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[38] + mi := &file_pkg_api_api_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3171,7 +3646,7 @@ func (x *LinuxDeviceCgroup) String() string { func (*LinuxDeviceCgroup) ProtoMessage() {} func (x *LinuxDeviceCgroup) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[38] + mi := &file_pkg_api_api_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3184,7 +3659,7 @@ func (x *LinuxDeviceCgroup) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxDeviceCgroup.ProtoReflect.Descriptor instead. func (*LinuxDeviceCgroup) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{38} + return file_pkg_api_api_proto_rawDescGZIP(), []int{48} } func (x *LinuxDeviceCgroup) GetAllow() bool { @@ -3234,7 +3709,7 @@ type CDIDevice struct { func (x *CDIDevice) Reset() { *x = CDIDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[39] + mi := &file_pkg_api_api_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3247,7 +3722,7 @@ func (x *CDIDevice) String() string { func (*CDIDevice) ProtoMessage() {} func (x *CDIDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[39] + mi := &file_pkg_api_api_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3260,7 +3735,7 @@ func (x *CDIDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use CDIDevice.ProtoReflect.Descriptor instead. func (*CDIDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{39} + return file_pkg_api_api_proto_rawDescGZIP(), []int{49} } func (x *CDIDevice) GetName() string { @@ -3284,7 +3759,7 @@ type User struct { func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[40] + mi := &file_pkg_api_api_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3297,7 +3772,7 @@ func (x *User) String() string { func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[40] + mi := &file_pkg_api_api_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3310,7 +3785,7 @@ func (x *User) ProtoReflect() protoreflect.Message { // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{40} + return file_pkg_api_api_proto_rawDescGZIP(), []int{50} } func (x *User) GetUid() uint32 { @@ -3353,7 +3828,7 @@ type LinuxResources struct { func (x *LinuxResources) Reset() { *x = LinuxResources{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[41] + mi := &file_pkg_api_api_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3366,7 +3841,7 @@ func (x *LinuxResources) String() string { func (*LinuxResources) ProtoMessage() {} func (x *LinuxResources) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[41] + mi := &file_pkg_api_api_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3379,7 +3854,7 @@ func (x *LinuxResources) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxResources.ProtoReflect.Descriptor instead. func (*LinuxResources) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{41} + return file_pkg_api_api_proto_rawDescGZIP(), []int{51} } func (x *LinuxResources) GetMemory() *LinuxMemory { @@ -3457,7 +3932,7 @@ type LinuxMemory struct { func (x *LinuxMemory) Reset() { *x = LinuxMemory{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[42] + mi := &file_pkg_api_api_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3470,7 +3945,7 @@ func (x *LinuxMemory) String() string { func (*LinuxMemory) ProtoMessage() {} func (x *LinuxMemory) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[42] + mi := &file_pkg_api_api_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3483,7 +3958,7 @@ func (x *LinuxMemory) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxMemory.ProtoReflect.Descriptor instead. func (*LinuxMemory) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{42} + return file_pkg_api_api_proto_rawDescGZIP(), []int{52} } func (x *LinuxMemory) GetLimit() *OptionalInt64 { @@ -3560,7 +4035,7 @@ type LinuxCPU struct { func (x *LinuxCPU) Reset() { *x = LinuxCPU{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[43] + mi := &file_pkg_api_api_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3573,7 +4048,7 @@ func (x *LinuxCPU) String() string { func (*LinuxCPU) ProtoMessage() {} func (x *LinuxCPU) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[43] + mi := &file_pkg_api_api_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3586,7 +4061,7 @@ func (x *LinuxCPU) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxCPU.ProtoReflect.Descriptor instead. func (*LinuxCPU) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{43} + return file_pkg_api_api_proto_rawDescGZIP(), []int{53} } func (x *LinuxCPU) GetShares() *OptionalUInt64 { @@ -3651,7 +4126,7 @@ type HugepageLimit struct { func (x *HugepageLimit) Reset() { *x = HugepageLimit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[44] + mi := &file_pkg_api_api_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3664,7 +4139,7 @@ func (x *HugepageLimit) String() string { func (*HugepageLimit) ProtoMessage() {} func (x *HugepageLimit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[44] + mi := &file_pkg_api_api_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3677,7 +4152,7 @@ func (x *HugepageLimit) ProtoReflect() protoreflect.Message { // Deprecated: Use HugepageLimit.ProtoReflect.Descriptor instead. func (*HugepageLimit) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{44} + return file_pkg_api_api_proto_rawDescGZIP(), []int{54} } func (x *HugepageLimit) GetPageSize() string { @@ -3707,7 +4182,7 @@ type SecurityProfile struct { func (x *SecurityProfile) Reset() { *x = SecurityProfile{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[45] + mi := &file_pkg_api_api_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3720,7 +4195,7 @@ func (x *SecurityProfile) String() string { func (*SecurityProfile) ProtoMessage() {} func (x *SecurityProfile) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[45] + mi := &file_pkg_api_api_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3733,7 +4208,7 @@ func (x *SecurityProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityProfile.ProtoReflect.Descriptor instead. func (*SecurityProfile) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{45} + return file_pkg_api_api_proto_rawDescGZIP(), []int{55} } func (x *SecurityProfile) GetProfileType() SecurityProfile_ProfileType { @@ -3764,7 +4239,7 @@ type POSIXRlimit struct { func (x *POSIXRlimit) Reset() { *x = POSIXRlimit{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[46] + mi := &file_pkg_api_api_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3777,7 +4252,7 @@ func (x *POSIXRlimit) String() string { func (*POSIXRlimit) ProtoMessage() {} func (x *POSIXRlimit) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[46] + mi := &file_pkg_api_api_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3790,7 +4265,7 @@ func (x *POSIXRlimit) ProtoReflect() protoreflect.Message { // Deprecated: Use POSIXRlimit.ProtoReflect.Descriptor instead. func (*POSIXRlimit) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{46} + return file_pkg_api_api_proto_rawDescGZIP(), []int{56} } func (x *POSIXRlimit) GetType() string { @@ -3826,7 +4301,7 @@ type LinuxPids struct { func (x *LinuxPids) Reset() { *x = LinuxPids{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[47] + mi := &file_pkg_api_api_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3839,7 +4314,7 @@ func (x *LinuxPids) String() string { func (*LinuxPids) ProtoMessage() {} func (x *LinuxPids) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[47] + mi := &file_pkg_api_api_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3852,7 +4327,7 @@ func (x *LinuxPids) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxPids.ProtoReflect.Descriptor instead. func (*LinuxPids) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{47} + return file_pkg_api_api_proto_rawDescGZIP(), []int{57} } func (x *LinuxPids) GetLimit() int64 { @@ -3876,7 +4351,7 @@ type LinuxIOPriority struct { func (x *LinuxIOPriority) Reset() { *x = LinuxIOPriority{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[48] + mi := &file_pkg_api_api_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3889,7 +4364,7 @@ func (x *LinuxIOPriority) String() string { func (*LinuxIOPriority) ProtoMessage() {} func (x *LinuxIOPriority) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[48] + mi := &file_pkg_api_api_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3902,7 +4377,7 @@ func (x *LinuxIOPriority) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxIOPriority.ProtoReflect.Descriptor instead. func (*LinuxIOPriority) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{48} + return file_pkg_api_api_proto_rawDescGZIP(), []int{58} } func (x *LinuxIOPriority) GetClass() IOPrioClass { @@ -3931,7 +4406,7 @@ type LinuxNetDevice struct { func (x *LinuxNetDevice) Reset() { *x = LinuxNetDevice{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[49] + mi := &file_pkg_api_api_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3944,7 +4419,7 @@ func (x *LinuxNetDevice) String() string { func (*LinuxNetDevice) ProtoMessage() {} func (x *LinuxNetDevice) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[49] + mi := &file_pkg_api_api_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3957,7 +4432,7 @@ func (x *LinuxNetDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxNetDevice.ProtoReflect.Descriptor instead. func (*LinuxNetDevice) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{49} + return file_pkg_api_api_proto_rawDescGZIP(), []int{59} } func (x *LinuxNetDevice) GetName() string { @@ -3985,7 +4460,7 @@ type LinuxScheduler struct { func (x *LinuxScheduler) Reset() { *x = LinuxScheduler{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[50] + mi := &file_pkg_api_api_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3998,7 +4473,7 @@ func (x *LinuxScheduler) String() string { func (*LinuxScheduler) ProtoMessage() {} func (x *LinuxScheduler) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[50] + mi := &file_pkg_api_api_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4011,7 +4486,7 @@ func (x *LinuxScheduler) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxScheduler.ProtoReflect.Descriptor instead. func (*LinuxScheduler) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{50} + return file_pkg_api_api_proto_rawDescGZIP(), []int{60} } func (x *LinuxScheduler) GetPolicy() LinuxSchedulerPolicy { @@ -4082,7 +4557,7 @@ type ContainerAdjustment struct { func (x *ContainerAdjustment) Reset() { *x = ContainerAdjustment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[51] + mi := &file_pkg_api_api_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4095,7 +4570,7 @@ func (x *ContainerAdjustment) String() string { func (*ContainerAdjustment) ProtoMessage() {} func (x *ContainerAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[51] + mi := &file_pkg_api_api_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4108,7 +4583,7 @@ func (x *ContainerAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerAdjustment.ProtoReflect.Descriptor instead. func (*ContainerAdjustment) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{51} + return file_pkg_api_api_proto_rawDescGZIP(), []int{61} } func (x *ContainerAdjustment) GetAnnotations() map[string]string { @@ -4189,7 +4664,7 @@ type LinuxContainerAdjustment struct { func (x *LinuxContainerAdjustment) Reset() { *x = LinuxContainerAdjustment{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[52] + mi := &file_pkg_api_api_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4202,7 +4677,7 @@ func (x *LinuxContainerAdjustment) String() string { func (*LinuxContainerAdjustment) ProtoMessage() {} func (x *LinuxContainerAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[52] + mi := &file_pkg_api_api_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4215,7 +4690,7 @@ func (x *LinuxContainerAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainerAdjustment.ProtoReflect.Descriptor instead. func (*LinuxContainerAdjustment) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{52} + return file_pkg_api_api_proto_rawDescGZIP(), []int{62} } func (x *LinuxContainerAdjustment) GetDevices() []*LinuxDevice { @@ -4312,7 +4787,7 @@ type LinuxSeccomp struct { func (x *LinuxSeccomp) Reset() { *x = LinuxSeccomp{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[53] + mi := &file_pkg_api_api_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4325,7 +4800,7 @@ func (x *LinuxSeccomp) String() string { func (*LinuxSeccomp) ProtoMessage() {} func (x *LinuxSeccomp) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[53] + mi := &file_pkg_api_api_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4338,7 +4813,7 @@ func (x *LinuxSeccomp) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSeccomp.ProtoReflect.Descriptor instead. func (*LinuxSeccomp) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{53} + return file_pkg_api_api_proto_rawDescGZIP(), []int{63} } func (x *LinuxSeccomp) GetDefaultAction() string { @@ -4404,7 +4879,7 @@ type LinuxSyscall struct { func (x *LinuxSyscall) Reset() { *x = LinuxSyscall{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[54] + mi := &file_pkg_api_api_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4417,7 +4892,7 @@ func (x *LinuxSyscall) String() string { func (*LinuxSyscall) ProtoMessage() {} func (x *LinuxSyscall) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[54] + mi := &file_pkg_api_api_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4430,7 +4905,7 @@ func (x *LinuxSyscall) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSyscall.ProtoReflect.Descriptor instead. func (*LinuxSyscall) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{54} + return file_pkg_api_api_proto_rawDescGZIP(), []int{64} } func (x *LinuxSyscall) GetNames() []string { @@ -4475,7 +4950,7 @@ type LinuxSeccompArg struct { func (x *LinuxSeccompArg) Reset() { *x = LinuxSeccompArg{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[55] + mi := &file_pkg_api_api_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4488,7 +4963,7 @@ func (x *LinuxSeccompArg) String() string { func (*LinuxSeccompArg) ProtoMessage() {} func (x *LinuxSeccompArg) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[55] + mi := &file_pkg_api_api_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4501,7 +4976,7 @@ func (x *LinuxSeccompArg) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxSeccompArg.ProtoReflect.Descriptor instead. func (*LinuxSeccompArg) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{55} + return file_pkg_api_api_proto_rawDescGZIP(), []int{65} } func (x *LinuxSeccompArg) GetIndex() uint32 { @@ -4546,7 +5021,7 @@ type ContainerUpdate struct { func (x *ContainerUpdate) Reset() { *x = ContainerUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[56] + mi := &file_pkg_api_api_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4559,7 +5034,7 @@ func (x *ContainerUpdate) String() string { func (*ContainerUpdate) ProtoMessage() {} func (x *ContainerUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[56] + mi := &file_pkg_api_api_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4572,7 +5047,7 @@ func (x *ContainerUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerUpdate.ProtoReflect.Descriptor instead. func (*ContainerUpdate) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{56} + return file_pkg_api_api_proto_rawDescGZIP(), []int{66} } func (x *ContainerUpdate) GetContainerId() string { @@ -4608,7 +5083,7 @@ type LinuxContainerUpdate struct { func (x *LinuxContainerUpdate) Reset() { *x = LinuxContainerUpdate{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[57] + mi := &file_pkg_api_api_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4621,7 +5096,7 @@ func (x *LinuxContainerUpdate) String() string { func (*LinuxContainerUpdate) ProtoMessage() {} func (x *LinuxContainerUpdate) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[57] + mi := &file_pkg_api_api_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4634,7 +5109,7 @@ func (x *LinuxContainerUpdate) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxContainerUpdate.ProtoReflect.Descriptor instead. func (*LinuxContainerUpdate) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{57} + return file_pkg_api_api_proto_rawDescGZIP(), []int{67} } func (x *LinuxContainerUpdate) GetResources() *LinuxResources { @@ -4659,7 +5134,7 @@ type ContainerEviction struct { func (x *ContainerEviction) Reset() { *x = ContainerEviction{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[58] + mi := &file_pkg_api_api_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4672,7 +5147,7 @@ func (x *ContainerEviction) String() string { func (*ContainerEviction) ProtoMessage() {} func (x *ContainerEviction) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[58] + mi := &file_pkg_api_api_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4685,7 +5160,7 @@ func (x *ContainerEviction) ProtoReflect() protoreflect.Message { // Deprecated: Use ContainerEviction.ProtoReflect.Descriptor instead. func (*ContainerEviction) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{58} + return file_pkg_api_api_proto_rawDescGZIP(), []int{68} } func (x *ContainerEviction) GetContainerId() string { @@ -4717,7 +5192,7 @@ type LinuxRdt struct { func (x *LinuxRdt) Reset() { *x = LinuxRdt{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[59] + mi := &file_pkg_api_api_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4730,7 +5205,7 @@ func (x *LinuxRdt) String() string { func (*LinuxRdt) ProtoMessage() {} func (x *LinuxRdt) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[59] + mi := &file_pkg_api_api_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4743,7 +5218,7 @@ func (x *LinuxRdt) ProtoReflect() protoreflect.Message { // Deprecated: Use LinuxRdt.ProtoReflect.Descriptor instead. func (*LinuxRdt) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{59} + return file_pkg_api_api_proto_rawDescGZIP(), []int{69} } func (x *LinuxRdt) GetClosId() *OptionalString { @@ -4787,7 +5262,7 @@ type KeyValue struct { func (x *KeyValue) Reset() { *x = KeyValue{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[60] + mi := &file_pkg_api_api_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4800,7 +5275,7 @@ func (x *KeyValue) String() string { func (*KeyValue) ProtoMessage() {} func (x *KeyValue) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[60] + mi := &file_pkg_api_api_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4813,7 +5288,7 @@ func (x *KeyValue) ProtoReflect() protoreflect.Message { // Deprecated: Use KeyValue.ProtoReflect.Descriptor instead. func (*KeyValue) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{60} + return file_pkg_api_api_proto_rawDescGZIP(), []int{70} } func (x *KeyValue) GetKey() string { @@ -4842,7 +5317,7 @@ type OptionalString struct { func (x *OptionalString) Reset() { *x = OptionalString{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[61] + mi := &file_pkg_api_api_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4855,7 +5330,7 @@ func (x *OptionalString) String() string { func (*OptionalString) ProtoMessage() {} func (x *OptionalString) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[61] + mi := &file_pkg_api_api_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4868,7 +5343,7 @@ func (x *OptionalString) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalString.ProtoReflect.Descriptor instead. func (*OptionalString) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{61} + return file_pkg_api_api_proto_rawDescGZIP(), []int{71} } func (x *OptionalString) GetValue() string { @@ -4890,7 +5365,7 @@ type OptionalRepeatedString struct { func (x *OptionalRepeatedString) Reset() { *x = OptionalRepeatedString{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[62] + mi := &file_pkg_api_api_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4903,7 +5378,7 @@ func (x *OptionalRepeatedString) String() string { func (*OptionalRepeatedString) ProtoMessage() {} func (x *OptionalRepeatedString) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[62] + mi := &file_pkg_api_api_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4916,7 +5391,7 @@ func (x *OptionalRepeatedString) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalRepeatedString.ProtoReflect.Descriptor instead. func (*OptionalRepeatedString) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{62} + return file_pkg_api_api_proto_rawDescGZIP(), []int{72} } func (x *OptionalRepeatedString) GetValue() []string { @@ -4938,7 +5413,7 @@ type OptionalInt struct { func (x *OptionalInt) Reset() { *x = OptionalInt{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[63] + mi := &file_pkg_api_api_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4951,7 +5426,7 @@ func (x *OptionalInt) String() string { func (*OptionalInt) ProtoMessage() {} func (x *OptionalInt) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[63] + mi := &file_pkg_api_api_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4964,7 +5439,7 @@ func (x *OptionalInt) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt.ProtoReflect.Descriptor instead. func (*OptionalInt) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{63} + return file_pkg_api_api_proto_rawDescGZIP(), []int{73} } func (x *OptionalInt) GetValue() int64 { @@ -4986,7 +5461,7 @@ type OptionalInt32 struct { func (x *OptionalInt32) Reset() { *x = OptionalInt32{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[64] + mi := &file_pkg_api_api_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4999,7 +5474,7 @@ func (x *OptionalInt32) String() string { func (*OptionalInt32) ProtoMessage() {} func (x *OptionalInt32) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[64] + mi := &file_pkg_api_api_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5012,7 +5487,7 @@ func (x *OptionalInt32) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt32.ProtoReflect.Descriptor instead. func (*OptionalInt32) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{64} + return file_pkg_api_api_proto_rawDescGZIP(), []int{74} } func (x *OptionalInt32) GetValue() int32 { @@ -5034,7 +5509,7 @@ type OptionalUInt32 struct { func (x *OptionalUInt32) Reset() { *x = OptionalUInt32{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[65] + mi := &file_pkg_api_api_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5047,7 +5522,7 @@ func (x *OptionalUInt32) String() string { func (*OptionalUInt32) ProtoMessage() {} func (x *OptionalUInt32) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[65] + mi := &file_pkg_api_api_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5060,7 +5535,7 @@ func (x *OptionalUInt32) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalUInt32.ProtoReflect.Descriptor instead. func (*OptionalUInt32) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{65} + return file_pkg_api_api_proto_rawDescGZIP(), []int{75} } func (x *OptionalUInt32) GetValue() uint32 { @@ -5082,7 +5557,7 @@ type OptionalInt64 struct { func (x *OptionalInt64) Reset() { *x = OptionalInt64{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[66] + mi := &file_pkg_api_api_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5095,7 +5570,7 @@ func (x *OptionalInt64) String() string { func (*OptionalInt64) ProtoMessage() {} func (x *OptionalInt64) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[66] + mi := &file_pkg_api_api_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5108,7 +5583,7 @@ func (x *OptionalInt64) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalInt64.ProtoReflect.Descriptor instead. func (*OptionalInt64) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{66} + return file_pkg_api_api_proto_rawDescGZIP(), []int{76} } func (x *OptionalInt64) GetValue() int64 { @@ -5130,7 +5605,7 @@ type OptionalUInt64 struct { func (x *OptionalUInt64) Reset() { *x = OptionalUInt64{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[67] + mi := &file_pkg_api_api_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5143,7 +5618,7 @@ func (x *OptionalUInt64) String() string { func (*OptionalUInt64) ProtoMessage() {} func (x *OptionalUInt64) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[67] + mi := &file_pkg_api_api_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5156,7 +5631,7 @@ func (x *OptionalUInt64) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalUInt64.ProtoReflect.Descriptor instead. func (*OptionalUInt64) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{67} + return file_pkg_api_api_proto_rawDescGZIP(), []int{77} } func (x *OptionalUInt64) GetValue() uint64 { @@ -5178,7 +5653,7 @@ type OptionalBool struct { func (x *OptionalBool) Reset() { *x = OptionalBool{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[68] + mi := &file_pkg_api_api_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5191,7 +5666,7 @@ func (x *OptionalBool) String() string { func (*OptionalBool) ProtoMessage() {} func (x *OptionalBool) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[68] + mi := &file_pkg_api_api_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5204,7 +5679,7 @@ func (x *OptionalBool) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalBool.ProtoReflect.Descriptor instead. func (*OptionalBool) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{68} + return file_pkg_api_api_proto_rawDescGZIP(), []int{78} } func (x *OptionalBool) GetValue() bool { @@ -5226,7 +5701,7 @@ type OptionalFileMode struct { func (x *OptionalFileMode) Reset() { *x = OptionalFileMode{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[69] + mi := &file_pkg_api_api_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5239,7 +5714,7 @@ func (x *OptionalFileMode) String() string { func (*OptionalFileMode) ProtoMessage() {} func (x *OptionalFileMode) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[69] + mi := &file_pkg_api_api_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5252,7 +5727,7 @@ func (x *OptionalFileMode) ProtoReflect() protoreflect.Message { // Deprecated: Use OptionalFileMode.ProtoReflect.Descriptor instead. func (*OptionalFileMode) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{69} + return file_pkg_api_api_proto_rawDescGZIP(), []int{79} } func (x *OptionalFileMode) GetValue() uint32 { @@ -5279,7 +5754,7 @@ type CompoundFieldOwners struct { func (x *CompoundFieldOwners) Reset() { *x = CompoundFieldOwners{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[70] + mi := &file_pkg_api_api_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5292,7 +5767,7 @@ func (x *CompoundFieldOwners) String() string { func (*CompoundFieldOwners) ProtoMessage() {} func (x *CompoundFieldOwners) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[70] + mi := &file_pkg_api_api_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5305,7 +5780,7 @@ func (x *CompoundFieldOwners) ProtoReflect() protoreflect.Message { // Deprecated: Use CompoundFieldOwners.ProtoReflect.Descriptor instead. func (*CompoundFieldOwners) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{70} + return file_pkg_api_api_proto_rawDescGZIP(), []int{80} } func (x *CompoundFieldOwners) GetOwners() map[string]string { @@ -5334,7 +5809,7 @@ type FieldOwners struct { func (x *FieldOwners) Reset() { *x = FieldOwners{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[71] + mi := &file_pkg_api_api_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5347,7 +5822,7 @@ func (x *FieldOwners) String() string { func (*FieldOwners) ProtoMessage() {} func (x *FieldOwners) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[71] + mi := &file_pkg_api_api_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5360,7 +5835,7 @@ func (x *FieldOwners) ProtoReflect() protoreflect.Message { // Deprecated: Use FieldOwners.ProtoReflect.Descriptor instead. func (*FieldOwners) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{71} + return file_pkg_api_api_proto_rawDescGZIP(), []int{81} } func (x *FieldOwners) GetSimple() map[int32]string { @@ -5391,7 +5866,7 @@ type OwningPlugins struct { func (x *OwningPlugins) Reset() { *x = OwningPlugins{} if protoimpl.UnsafeEnabled { - mi := &file_pkg_api_api_proto_msgTypes[72] + mi := &file_pkg_api_api_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5404,7 +5879,7 @@ func (x *OwningPlugins) String() string { func (*OwningPlugins) ProtoMessage() {} func (x *OwningPlugins) ProtoReflect() protoreflect.Message { - mi := &file_pkg_api_api_proto_msgTypes[72] + mi := &file_pkg_api_api_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5417,7 +5892,7 @@ func (x *OwningPlugins) ProtoReflect() protoreflect.Message { // Deprecated: Use OwningPlugins.ProtoReflect.Descriptor instead. func (*OwningPlugins) Descriptor() ([]byte, []int) { - return file_pkg_api_api_proto_rawDescGZIP(), []int{72} + return file_pkg_api_api_proto_rawDescGZIP(), []int{82} } func (x *OwningPlugins) GetOwners() map[string]*FieldOwners { @@ -5504,67 +5979,101 @@ var file_pkg_api_api_proto_rawDesc = []byte{ 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, - 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x53, - 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, - 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, - 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4d, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, - 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, - 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x17, + 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x17, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, + 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x5e, 0x0a, 0x18, 0x6f, + 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x52, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, + 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, + 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, + 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x6f, 0x73, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x53, 0x74, 0x6f, + 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, + 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4d, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, + 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, + 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x22, + 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, - 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0xda, 0x01, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, 0xda, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, - 0x89, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, + 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, + 0x01, 0x0a, 0x19, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, + 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, + 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, + 0x1c, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xda, 0x01, + 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, @@ -5572,51 +6081,23 @@ var file_pkg_api_api_proto_rawDesc = []byte{ 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x15, 0x53, - 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, + 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, + 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x65, 0x76, 0x69, 0x63, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, - 0x70, 0x6f, 0x64, 0x12, 0x5e, 0x0a, 0x18, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x16, 0x6f, 0x76, 0x65, - 0x72, 0x68, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, - 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, - 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, - 0x64, 0x22, 0x1e, 0x0a, 0x1c, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, - 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, - 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x96, 0x03, 0x0a, - 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x65, + 0x76, 0x69, 0x63, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x1a, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, @@ -5624,895 +6105,980 @@ var file_pkg_api_api_proto_rawDesc = []byte{ 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, + 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, + 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x22, 0x56, 0x0a, 0x15, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x22, 0x96, 0x03, + 0x0a, 0x22, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x03, 0x70, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x78, 0x52, 0x03, 0x70, 0x6f, 0x64, 0x12, 0x3d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x06, 0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x2e, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x06, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x22, 0x55, 0x0a, 0x23, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x80, 0x04, 0x0a, 0x0a, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, + 0x6f, 0x78, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, + 0x6d, 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, + 0x75, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x07, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x55, 0x0a, 0x23, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x80, 0x04, 0x0a, 0x0a, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x53, 0x0a, 0x0b, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x78, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x27, 0x0a, 0x0f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, - 0x65, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x05, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, - 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x6f, 0x64, 0x5f, - 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, + 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x70, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, + 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x6f, 0x64, + 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, + 0x61, 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x6f, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x0c, 0x70, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x70, 0x6f, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, - 0x64, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x6f, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x0c, - 0x70, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, + 0xf8, 0x07, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, + 0x0e, 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, + 0x78, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0xf8, - 0x07, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, - 0x70, 0x6f, 0x64, 0x5f, 0x73, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x43, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, - 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, - 0x76, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6e, - 0x75, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x05, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, - 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, - 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2e, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x05, 0x4d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x05, 0x48, - 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x61, 0x72, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, + 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, + 0x6e, 0x76, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, - 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x41, 0x0a, 0x0e, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, - 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, + 0x6e, 0x75, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, + 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, + 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x14, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x2e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6f, 0x0a, 0x05, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x05, + 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, + 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x41, 0x0a, + 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, + 0x6b, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x45, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0e, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, + 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x0e, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x09, 0x70, - 0x6f, 0x73, 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x09, 0x70, 0x6f, 0x73, + 0x74, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, + 0x6f, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, 0x70, 0x22, 0x7d, + 0x0a, 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, + 0x12, 0x3b, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xdb, 0x07, + 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, - 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x48, - 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x74, 0x6f, 0x70, 0x22, 0x7d, 0x0a, - 0x04, 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, - 0x03, 0x65, 0x6e, 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, - 0x3b, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x49, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xdb, 0x07, 0x0a, - 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, - 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x21, + 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, + 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, + 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, + 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, + 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x55, + 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, 0x63, - 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, + 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x0e, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, + 0x6a, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x03, 0x67, 0x69, 0x64, 0x22, 0xcb, + 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, + 0x0a, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, - 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x63, - 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, - 0x70, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, - 0x6f, 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, - 0x63, 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x55, 0x0a, - 0x0b, 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x36, 0x34, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x69, 0x6e, + 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x6d, + 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1f, 0x0a, 0x09, + 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, + 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x69, + 0x64, 0x73, 0x22, 0xda, 0x04, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, - 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x0e, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x22, 0x96, 0x02, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x61, 0x6a, - 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6e, 0x72, + 0x75, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x12, 0x30, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, + 0x70, 0x75, 0x12, 0x4c, 0x0a, 0x0f, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, - 0x03, 0x75, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x36, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x03, 0x67, 0x69, 0x64, 0x22, 0xcb, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, - 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x61, 0x31, 0x2e, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x52, 0x0e, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, + 0x12, 0x49, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x6d, 0x69, - 0x6e, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x1f, 0x0a, 0x09, 0x43, - 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x04, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x03, 0x67, 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x69, 0x64, - 0x73, 0x22, 0xda, 0x04, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, - 0x30, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x72, + 0x64, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x72, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x4b, + 0x0a, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x52, 0x03, 0x63, 0x70, - 0x75, 0x12, 0x4c, 0x0a, 0x0f, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x0e, 0x68, 0x75, 0x67, 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, - 0x49, 0x0a, 0x0d, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x41, 0x0a, 0x09, 0x72, 0x64, - 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x08, 0x72, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x4b, 0x0a, - 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x33, + 0x0a, 0x04, 0x70, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x69, 0x64, 0x73, 0x52, 0x04, 0x70, + 0x69, 0x64, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xaa, 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, + 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x07, 0x75, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x41, 0x0a, 0x07, 0x64, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6e, 0x72, - 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x33, 0x0a, - 0x04, 0x70, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x37, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, + 0x6e, 0x74, 0x36, 0x34, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x6b, 0x65, + 0x72, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, + 0x6c, 0x5f, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x50, 0x69, 0x64, 0x73, 0x52, 0x04, 0x70, 0x69, - 0x64, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaa, - 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x39, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x52, 0x09, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x54, 0x63, 0x70, 0x12, 0x44, 0x0a, 0x0a, 0x73, + 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, + 0x73, 0x12, 0x50, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6f, 0x6d, + 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x37, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x3b, 0x0a, 0x06, 0x6b, 0x65, 0x72, - 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, + 0x6c, 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, + 0x6c, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x65, 0x72, 0x61, + 0x72, 0x63, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0c, + 0x75, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x22, 0x88, 0x03, 0x0a, + 0x08, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x68, 0x61, + 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, - 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x42, 0x0a, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, - 0x5f, 0x74, 0x63, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x06, 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x71, 0x75, 0x6f, + 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x12, 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, - 0x09, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x54, 0x63, 0x70, 0x12, 0x44, 0x0a, 0x0a, 0x73, 0x77, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, - 0x12, 0x50, 0x0a, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6f, 0x6d, 0x5f, - 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, - 0x65, 0x72, 0x12, 0x47, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, - 0x63, 0x68, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x0c, 0x75, - 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x22, 0x88, 0x03, 0x0a, 0x08, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x50, 0x55, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x05, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x05, 0x71, 0x75, 0x6f, 0x74, - 0x61, 0x12, 0x3c, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, - 0x4e, 0x0a, 0x10, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0f, - 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x4d, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x0e, - 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x70, - 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x48, 0x75, 0x67, 0x65, 0x70, 0x61, - 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x54, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x66, 0x22, 0x41, 0x0a, 0x0b, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x54, - 0x49, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x0a, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, - 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x22, 0x49, 0x0a, 0x0b, - 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x68, - 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x22, 0x21, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x50, 0x69, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x66, 0x0a, 0x0f, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, - 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6e, + 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, + 0x70, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x48, 0x75, 0x67, 0x65, 0x70, + 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x0f, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x54, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x50, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x66, 0x22, 0x41, 0x0a, 0x0b, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, + 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x0a, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, + 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x48, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x22, 0x49, 0x0a, + 0x0b, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, + 0x68, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x22, 0x21, 0x0a, 0x09, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x50, 0x69, 0x64, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x66, 0x0a, 0x0f, 0x4c, + 0x69, 0x6e, 0x75, 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x37, + 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x22, 0x24, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, - 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x22, 0x24, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x6e, 0x72, + 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x6e, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x3e, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, + 0x28, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, + 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xa6, + 0x04, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6e, - 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x3e, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x28, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, - 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x61, - 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xa6, 0x04, - 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, + 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, + 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x6e, 0x76, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4b, 0x65, + 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x31, 0x0a, 0x05, 0x68, + 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x30, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4b, 0x65, 0x79, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x31, 0x0a, 0x05, 0x68, 0x6f, - 0x6f, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x44, 0x0a, - 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6c, 0x69, - 0x6e, 0x75, 0x78, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x4f, 0x53, 0x49, - 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, 0x49, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x07, 0x0a, 0x18, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x31, 0x2e, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x44, + 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x6c, + 0x69, 0x6e, 0x75, 0x78, 0x12, 0x3b, 0x0a, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, + 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x4f, 0x53, + 0x49, 0x58, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x44, 0x49, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x44, + 0x49, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x43, 0x44, 0x49, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa9, 0x07, 0x0a, 0x18, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, - 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, 0x46, - 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, 0x50, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, - 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0d, 0x6f, 0x6f, 0x6d, 0x5f, + 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x64, 0x6a, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, + 0x6e, 0x74, 0x52, 0x0b, 0x6f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, 0x12, + 0x46, 0x0a, 0x0b, 0x69, 0x6f, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0a, 0x69, 0x6f, 0x50, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x49, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x63, 0x6f, + 0x6d, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, + 0x6f, 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, + 0x74, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, + 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x5f, 0x0a, 0x0b, + 0x6e, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, - 0x6d, 0x70, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, - 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, - 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x12, 0x5f, 0x0a, 0x0b, 0x6e, - 0x65, 0x74, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x09, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0x52, 0x09, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x12, 0x30, 0x0a, 0x03, 0x72, 0x64, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, 0x72, - 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, 0x72, + 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x52, 0x03, + 0x72, 0x64, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, + 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x63, 0x0a, - 0x0f, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, - 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, - 0x6f, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, - 0x6c, 0x6c, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x79, 0x73, - 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x08, 0x65, 0x72, 0x72, - 0x6e, 0x6f, 0x52, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x41, 0x72, 0x67, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, - 0x22, 0x6a, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, - 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x77, 0x6f, 0x12, 0x0e, 0x0a, 0x02, - 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x9d, 0x01, 0x0a, - 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, - 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x5a, 0x0a, 0x14, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, - 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x52, 0x64, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x63, 0x6c, - 0x6f, 0x73, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, + 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xce, 0x02, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x45, 0x72, 0x72, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x66, 0x6c, 0x61, + 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x08, 0x73, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x53, 0x79, 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x52, 0x08, 0x73, 0x79, 0x73, 0x63, + 0x61, 0x6c, 0x6c, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x79, + 0x73, 0x63, 0x61, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6e, 0x6f, 0x5f, 0x72, 0x65, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x12, 0x4f, - 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x10, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x2e, 0x0a, 0x16, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, - 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, - 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, 0x10, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4d, - 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, - 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, 0x02, 0x0a, 0x0b, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x08, 0x65, 0x72, + 0x72, 0x6e, 0x6f, 0x52, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, + 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x41, 0x72, 0x67, 0x52, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x22, 0x6a, 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, + 0x70, 0x41, 0x72, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x77, 0x6f, 0x12, 0x0e, 0x0a, + 0x02, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x22, 0x9d, 0x01, + 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x6e, 0x75, 0x78, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x6c, 0x69, 0x6e, 0x75, 0x78, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x5a, 0x0a, + 0x14, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, - 0x4b, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x39, 0x0a, 0x0b, - 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x4e, 0x0a, 0x11, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x45, 0x76, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x08, 0x4c, 0x69, + 0x6e, 0x75, 0x78, 0x52, 0x64, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x63, + 0x6c, 0x6f, 0x73, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, 0x12, + 0x4f, 0x0a, 0x11, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x10, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x26, 0x0a, 0x0e, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2e, 0x0a, 0x16, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x23, 0x0a, 0x0b, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x49, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x26, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x24, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x28, 0x0a, + 0x10, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, + 0x4d, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x35, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x39, + 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc4, 0x02, 0x0a, 0x0b, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xb6, 0x01, 0x0a, 0x0d, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x0b, 0x4f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x53, 0x69, 0x6d, + 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, + 0x12, 0x4b, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x1a, 0x39, 0x0a, + 0x0b, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, + 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xf4, 0x02, 0x0a, 0x05, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, - 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, - 0x4f, 0x58, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x50, 0x4f, 0x44, - 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, - 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, - 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, - 0x52, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x53, 0x54, - 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, - 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, 0x54, - 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, - 0x52, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x4d, 0x4f, 0x56, - 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x16, 0x0a, - 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, - 0x42, 0x4f, 0x58, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x55, 0x50, - 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, - 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, 0x4d, - 0x45, 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x0f, 0x2a, - 0x82, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, - 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, - 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x50, 0x41, - 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, - 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x15, 0x0a, - 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x4f, 0x50, 0x50, - 0x45, 0x44, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0b, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, - 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4f, - 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x54, 0x10, 0x01, 0x12, - 0x13, 0x0a, 0x0f, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, - 0x42, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, - 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0x99, 0x01, 0x0a, 0x14, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4f, 0x54, - 0x48, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, - 0x49, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x52, - 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x54, - 0x43, 0x48, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x53, - 0x4f, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x44, 0x4c, - 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x41, - 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xdb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x1c, - 0x0a, 0x18, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x43, 0x4c, 0x41, - 0x49, 0x4d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, - 0x41, 0x47, 0x5f, 0x44, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x55, 0x4e, 0x10, 0x02, 0x12, - 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, - 0x45, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x53, - 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x50, - 0x41, 0x52, 0x41, 0x4d, 0x53, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4f, 0x77, 0x6e, 0x69, 0x6e, 0x67, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x1a, 0x5c, 0x0a, 0x0b, 0x4f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0xf4, 0x02, 0x0a, 0x05, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x55, 0x4e, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, + 0x42, 0x4f, 0x58, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x50, 0x4f, + 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, 0x58, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x52, + 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, + 0x58, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, + 0x54, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, + 0x45, 0x52, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x06, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4f, 0x53, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, + 0x52, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, + 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x4f, 0x53, + 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, + 0x45, 0x52, 0x10, 0x09, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x4d, 0x4f, + 0x56, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x10, 0x0b, 0x12, 0x16, + 0x0a, 0x12, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, + 0x44, 0x42, 0x4f, 0x58, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x50, 0x4f, 0x44, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x42, 0x4f, + 0x58, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x5f, + 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x41, 0x44, 0x4a, 0x55, 0x53, 0x54, + 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0e, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x41, 0x53, 0x54, 0x10, 0x0f, + 0x2a, 0x82, 0x01, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, + 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, + 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x50, + 0x41, 0x55, 0x53, 0x45, 0x44, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, + 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x15, + 0x0a, 0x11, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x4f, 0x50, + 0x50, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0b, 0x49, 0x4f, 0x50, 0x72, 0x69, 0x6f, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, + 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, + 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x52, 0x54, 0x10, 0x01, + 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, + 0x5f, 0x42, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4f, 0x50, 0x52, 0x49, 0x4f, 0x5f, + 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0x99, 0x01, 0x0a, + 0x14, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, + 0x46, 0x49, 0x46, 0x4f, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, + 0x52, 0x52, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x42, 0x41, + 0x54, 0x43, 0x48, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, + 0x53, 0x4f, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x49, 0x44, + 0x4c, 0x45, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x44, 0x45, + 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x07, 0x2a, 0xdb, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x6e, + 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x1c, 0x0a, 0x18, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, + 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x46, 0x4f, 0x52, 0x4b, 0x10, 0x00, 0x12, 0x16, 0x0a, + 0x12, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x52, 0x45, 0x43, 0x4c, + 0x41, 0x49, 0x4d, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, + 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x4c, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x55, 0x4e, 0x10, 0x02, + 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, + 0x45, 0x45, 0x50, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, + 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4b, 0x45, 0x45, 0x50, 0x5f, + 0x50, 0x41, 0x52, 0x41, 0x4d, 0x53, 0x10, 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, + 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x4d, + 0x50, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x4d, 0x50, - 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x44, 0x5f, - 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x41, 0x4d, 0x50, 0x5f, - 0x4d, 0x41, 0x58, 0x10, 0x06, 0x2a, 0xa3, 0x05, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, - 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x63, 0x69, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, - 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x64, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x10, - 0x05, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x72, - 0x67, 0x73, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x65, 0x6d, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, - 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x4b, - 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0b, 0x12, 0x0f, 0x0a, 0x0b, - 0x4d, 0x65, 0x6d, 0x54, 0x43, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x11, 0x0a, - 0x0d, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x10, 0x0d, - 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6f, - 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, - 0x55, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x10, 0x0f, 0x12, 0x0d, - 0x0a, 0x09, 0x43, 0x50, 0x55, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x10, 0x10, 0x12, 0x0c, 0x0a, - 0x08, 0x43, 0x50, 0x55, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x43, - 0x50, 0x55, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x50, - 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, - 0x10, 0x13, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x50, 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, - 0x53, 0x65, 0x74, 0x43, 0x50, 0x55, 0x73, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, 0x55, - 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x73, 0x10, 0x16, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x64, - 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x17, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x75, 0x67, 0x65, - 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x18, 0x12, 0x10, 0x0a, 0x0c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x19, 0x12, 0x0c, - 0x0a, 0x08, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x1a, 0x12, 0x12, 0x0a, 0x0e, - 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x1b, - 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, 0x10, - 0x1c, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, 0x6a, - 0x10, 0x1d, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x1e, 0x12, - 0x0e, 0x0a, 0x0a, 0x49, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x10, 0x1f, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x10, 0x20, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x10, - 0x21, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x10, 0x22, 0x12, 0x13, 0x0a, - 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x49, 0x44, 0x10, - 0x25, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x64, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, 0x61, - 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x64, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x27, 0x32, 0xd8, 0x01, 0x0a, 0x07, - 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x5f, 0x4d, 0x41, 0x58, 0x10, 0x06, 0x2a, 0xa3, 0x05, 0x0a, 0x05, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x6f, 0x6e, 0x65, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x63, 0x69, 0x48, 0x6f, + 0x6f, 0x6b, 0x73, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x64, 0x69, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x10, 0x05, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x6e, 0x76, 0x10, 0x06, 0x12, 0x08, 0x0a, 0x04, 0x41, + 0x72, 0x67, 0x73, 0x10, 0x07, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x65, 0x6d, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x09, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x65, 0x6d, 0x53, 0x77, + 0x61, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x65, 0x6d, + 0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0b, 0x12, 0x0f, 0x0a, + 0x0b, 0x4d, 0x65, 0x6d, 0x54, 0x43, 0x50, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x11, + 0x0a, 0x0d, 0x4d, 0x65, 0x6d, 0x53, 0x77, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x10, + 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x65, 0x6d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, + 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x65, 0x72, 0x10, 0x0e, 0x12, 0x13, 0x0a, 0x0f, 0x4d, 0x65, + 0x6d, 0x55, 0x73, 0x65, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x79, 0x10, 0x0f, 0x12, + 0x0d, 0x0a, 0x09, 0x43, 0x50, 0x55, 0x53, 0x68, 0x61, 0x72, 0x65, 0x73, 0x10, 0x10, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x50, 0x55, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, + 0x43, 0x50, 0x55, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x43, + 0x50, 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, + 0x65, 0x10, 0x13, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x50, 0x55, 0x52, 0x65, 0x61, 0x6c, 0x74, 0x69, + 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, + 0x55, 0x53, 0x65, 0x74, 0x43, 0x50, 0x55, 0x73, 0x10, 0x15, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x50, + 0x55, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x73, 0x10, 0x16, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, + 0x64, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x17, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x75, 0x67, + 0x65, 0x70, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x18, 0x12, 0x10, 0x0a, + 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x19, 0x12, + 0x0c, 0x0a, 0x08, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x10, 0x1a, 0x12, 0x12, 0x0a, + 0x0e, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x55, 0x6e, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, + 0x1b, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x50, 0x61, 0x74, 0x68, + 0x10, 0x1c, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x6f, 0x6d, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x41, 0x64, + 0x6a, 0x10, 0x1d, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x10, 0x1e, + 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x6f, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x10, 0x1f, + 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x63, 0x6f, 0x6d, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x10, 0x20, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x10, 0x21, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x79, 0x73, 0x63, 0x74, 0x6c, 0x10, 0x22, 0x12, 0x13, + 0x0a, 0x0f, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x4e, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x10, 0x24, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x64, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x49, 0x44, + 0x10, 0x25, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x64, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x74, + 0x61, 0x10, 0x26, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x64, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x10, 0x27, 0x32, 0xd8, 0x01, 0x0a, + 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xff, 0x0a, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x12, 0x5c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, 0x26, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x12, 0x28, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xcd, 0x0f, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x12, 0x5c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x12, + 0x26, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x62, 0x0a, 0x0b, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x12, + 0x28, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, + 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, + 0x12, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x68, 0x0a, 0x0d, 0x52, 0x75, + 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2a, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, + 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x53, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x08, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, - 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x6e, - 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x68, 0x0a, 0x0d, 0x52, 0x75, 0x6e, - 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x75, - 0x6e, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, + 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x14, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x31, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, - 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, - 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, - 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, + 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, + 0x53, 0x74, 0x6f, 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, + 0x70, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, + 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x12, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x6f, 0x64, 0x53, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x78, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, - 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x30, 0x2e, + 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x52, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, - 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, - 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, + 0x77, 0x0a, 0x12, 0x50, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2f, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, + 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, + 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7a, 0x0a, 0x13, 0x50, 0x6f, 0x73, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, + 0x30, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x6f, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0d, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, + 0x70, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x12, 0x2c, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, + 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x57, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x03, 0x4c, 0x6f, 0x67, - 0x12, 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x00, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x6e, 0x72, 0x69, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x92, 0x01, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x38, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x6e, + 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x57, 0x0a, 0x0d, 0x48, 0x6f, 0x73, 0x74, 0x46, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x12, + 0x20, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x72, 0x69, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x6e, 0x72, 0x69, 0x2f, 0x70, 0x6b, + 0x67, 0x2f, 0x61, 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -6528,7 +7094,7 @@ func file_pkg_api_api_proto_rawDescGZIP() []byte { } var file_pkg_api_api_proto_enumTypes = make([]protoimpl.EnumInfo, 8) -var file_pkg_api_api_proto_msgTypes = make([]protoimpl.MessageInfo, 87) +var file_pkg_api_api_proto_msgTypes = make([]protoimpl.MessageInfo, 97) var file_pkg_api_api_proto_goTypes = []interface{}{ (Event)(0), // 0: nri.pkg.api.v1alpha1.Event (ContainerState)(0), // 1: nri.pkg.api.v1alpha1.ContainerState @@ -6548,256 +7114,286 @@ var file_pkg_api_api_proto_goTypes = []interface{}{ (*SynchronizeResponse)(nil), // 15: nri.pkg.api.v1alpha1.SynchronizeResponse (*RunPodSandboxRequest)(nil), // 16: nri.pkg.api.v1alpha1.RunPodSandboxRequest (*RunPodSandboxResponse)(nil), // 17: nri.pkg.api.v1alpha1.RunPodSandboxResponse - (*StopPodSandboxRequest)(nil), // 18: nri.pkg.api.v1alpha1.StopPodSandboxRequest - (*StopPodSandboxResponse)(nil), // 19: nri.pkg.api.v1alpha1.StopPodSandboxResponse - (*RemovePodSandboxRequest)(nil), // 20: nri.pkg.api.v1alpha1.RemovePodSandboxRequest - (*RemovePodSandboxResponse)(nil), // 21: nri.pkg.api.v1alpha1.RemovePodSandboxResponse - (*CreateContainerRequest)(nil), // 22: nri.pkg.api.v1alpha1.CreateContainerRequest - (*CreateContainerResponse)(nil), // 23: nri.pkg.api.v1alpha1.CreateContainerResponse - (*UpdateContainerRequest)(nil), // 24: nri.pkg.api.v1alpha1.UpdateContainerRequest - (*UpdateContainerResponse)(nil), // 25: nri.pkg.api.v1alpha1.UpdateContainerResponse - (*StopContainerRequest)(nil), // 26: nri.pkg.api.v1alpha1.StopContainerRequest - (*StopContainerResponse)(nil), // 27: nri.pkg.api.v1alpha1.StopContainerResponse - (*UpdatePodSandboxRequest)(nil), // 28: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest - (*UpdatePodSandboxResponse)(nil), // 29: nri.pkg.api.v1alpha1.UpdatePodSandboxResponse - (*PostUpdatePodSandboxRequest)(nil), // 30: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest - (*PostUpdatePodSandboxResponse)(nil), // 31: nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse - (*StateChangeEvent)(nil), // 32: nri.pkg.api.v1alpha1.StateChangeEvent - (*ValidateContainerAdjustmentRequest)(nil), // 33: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest - (*PluginInstance)(nil), // 34: nri.pkg.api.v1alpha1.PluginInstance - (*ValidateContainerAdjustmentResponse)(nil), // 35: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse - (*Empty)(nil), // 36: nri.pkg.api.v1alpha1.Empty - (*PodSandbox)(nil), // 37: nri.pkg.api.v1alpha1.PodSandbox - (*LinuxPodSandbox)(nil), // 38: nri.pkg.api.v1alpha1.LinuxPodSandbox - (*Container)(nil), // 39: nri.pkg.api.v1alpha1.Container - (*Mount)(nil), // 40: nri.pkg.api.v1alpha1.Mount - (*Hooks)(nil), // 41: nri.pkg.api.v1alpha1.Hooks - (*Hook)(nil), // 42: nri.pkg.api.v1alpha1.Hook - (*LinuxContainer)(nil), // 43: nri.pkg.api.v1alpha1.LinuxContainer - (*LinuxNamespace)(nil), // 44: nri.pkg.api.v1alpha1.LinuxNamespace - (*LinuxDevice)(nil), // 45: nri.pkg.api.v1alpha1.LinuxDevice - (*LinuxDeviceCgroup)(nil), // 46: nri.pkg.api.v1alpha1.LinuxDeviceCgroup - (*CDIDevice)(nil), // 47: nri.pkg.api.v1alpha1.CDIDevice - (*User)(nil), // 48: nri.pkg.api.v1alpha1.User - (*LinuxResources)(nil), // 49: nri.pkg.api.v1alpha1.LinuxResources - (*LinuxMemory)(nil), // 50: nri.pkg.api.v1alpha1.LinuxMemory - (*LinuxCPU)(nil), // 51: nri.pkg.api.v1alpha1.LinuxCPU - (*HugepageLimit)(nil), // 52: nri.pkg.api.v1alpha1.HugepageLimit - (*SecurityProfile)(nil), // 53: nri.pkg.api.v1alpha1.SecurityProfile - (*POSIXRlimit)(nil), // 54: nri.pkg.api.v1alpha1.POSIXRlimit - (*LinuxPids)(nil), // 55: nri.pkg.api.v1alpha1.LinuxPids - (*LinuxIOPriority)(nil), // 56: nri.pkg.api.v1alpha1.LinuxIOPriority - (*LinuxNetDevice)(nil), // 57: nri.pkg.api.v1alpha1.LinuxNetDevice - (*LinuxScheduler)(nil), // 58: nri.pkg.api.v1alpha1.LinuxScheduler - (*ContainerAdjustment)(nil), // 59: nri.pkg.api.v1alpha1.ContainerAdjustment - (*LinuxContainerAdjustment)(nil), // 60: nri.pkg.api.v1alpha1.LinuxContainerAdjustment - (*LinuxSeccomp)(nil), // 61: nri.pkg.api.v1alpha1.LinuxSeccomp - (*LinuxSyscall)(nil), // 62: nri.pkg.api.v1alpha1.LinuxSyscall - (*LinuxSeccompArg)(nil), // 63: nri.pkg.api.v1alpha1.LinuxSeccompArg - (*ContainerUpdate)(nil), // 64: nri.pkg.api.v1alpha1.ContainerUpdate - (*LinuxContainerUpdate)(nil), // 65: nri.pkg.api.v1alpha1.LinuxContainerUpdate - (*ContainerEviction)(nil), // 66: nri.pkg.api.v1alpha1.ContainerEviction - (*LinuxRdt)(nil), // 67: nri.pkg.api.v1alpha1.LinuxRdt - (*KeyValue)(nil), // 68: nri.pkg.api.v1alpha1.KeyValue - (*OptionalString)(nil), // 69: nri.pkg.api.v1alpha1.OptionalString - (*OptionalRepeatedString)(nil), // 70: nri.pkg.api.v1alpha1.OptionalRepeatedString - (*OptionalInt)(nil), // 71: nri.pkg.api.v1alpha1.OptionalInt - (*OptionalInt32)(nil), // 72: nri.pkg.api.v1alpha1.OptionalInt32 - (*OptionalUInt32)(nil), // 73: nri.pkg.api.v1alpha1.OptionalUInt32 - (*OptionalInt64)(nil), // 74: nri.pkg.api.v1alpha1.OptionalInt64 - (*OptionalUInt64)(nil), // 75: nri.pkg.api.v1alpha1.OptionalUInt64 - (*OptionalBool)(nil), // 76: nri.pkg.api.v1alpha1.OptionalBool - (*OptionalFileMode)(nil), // 77: nri.pkg.api.v1alpha1.OptionalFileMode - (*CompoundFieldOwners)(nil), // 78: nri.pkg.api.v1alpha1.CompoundFieldOwners - (*FieldOwners)(nil), // 79: nri.pkg.api.v1alpha1.FieldOwners - (*OwningPlugins)(nil), // 80: nri.pkg.api.v1alpha1.OwningPlugins - nil, // 81: nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry - nil, // 82: nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry - nil, // 83: nri.pkg.api.v1alpha1.Container.LabelsEntry - nil, // 84: nri.pkg.api.v1alpha1.Container.AnnotationsEntry - nil, // 85: nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry - nil, // 86: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry - nil, // 87: nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry - nil, // 88: nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry - nil, // 89: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry - nil, // 90: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry - nil, // 91: nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry - nil, // 92: nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry - nil, // 93: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry - nil, // 94: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry + (*UpdatePodSandboxRequest)(nil), // 18: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest + (*UpdatePodSandboxResponse)(nil), // 19: nri.pkg.api.v1alpha1.UpdatePodSandboxResponse + (*PostUpdatePodSandboxRequest)(nil), // 20: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest + (*PostUpdatePodSandboxResponse)(nil), // 21: nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse + (*StopPodSandboxRequest)(nil), // 22: nri.pkg.api.v1alpha1.StopPodSandboxRequest + (*StopPodSandboxResponse)(nil), // 23: nri.pkg.api.v1alpha1.StopPodSandboxResponse + (*RemovePodSandboxRequest)(nil), // 24: nri.pkg.api.v1alpha1.RemovePodSandboxRequest + (*RemovePodSandboxResponse)(nil), // 25: nri.pkg.api.v1alpha1.RemovePodSandboxResponse + (*CreateContainerRequest)(nil), // 26: nri.pkg.api.v1alpha1.CreateContainerRequest + (*CreateContainerResponse)(nil), // 27: nri.pkg.api.v1alpha1.CreateContainerResponse + (*PostCreateContainerRequest)(nil), // 28: nri.pkg.api.v1alpha1.PostCreateContainerRequest + (*PostCreateContainerResponse)(nil), // 29: nri.pkg.api.v1alpha1.PostCreateContainerResponse + (*StartContainerRequest)(nil), // 30: nri.pkg.api.v1alpha1.StartContainerRequest + (*StartContainerResponse)(nil), // 31: nri.pkg.api.v1alpha1.StartContainerResponse + (*PostStartContainerRequest)(nil), // 32: nri.pkg.api.v1alpha1.PostStartContainerRequest + (*PostStartContainerResponse)(nil), // 33: nri.pkg.api.v1alpha1.PostStartContainerResponse + (*UpdateContainerRequest)(nil), // 34: nri.pkg.api.v1alpha1.UpdateContainerRequest + (*UpdateContainerResponse)(nil), // 35: nri.pkg.api.v1alpha1.UpdateContainerResponse + (*PostUpdateContainerRequest)(nil), // 36: nri.pkg.api.v1alpha1.PostUpdateContainerRequest + (*PostUpdateContainerResponse)(nil), // 37: nri.pkg.api.v1alpha1.PostUpdateContainerResponse + (*StopContainerRequest)(nil), // 38: nri.pkg.api.v1alpha1.StopContainerRequest + (*StopContainerResponse)(nil), // 39: nri.pkg.api.v1alpha1.StopContainerResponse + (*RemoveContainerRequest)(nil), // 40: nri.pkg.api.v1alpha1.RemoveContainerRequest + (*RemoveContainerResponse)(nil), // 41: nri.pkg.api.v1alpha1.RemoveContainerResponse + (*StateChangeEvent)(nil), // 42: nri.pkg.api.v1alpha1.StateChangeEvent + (*ValidateContainerAdjustmentRequest)(nil), // 43: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest + (*PluginInstance)(nil), // 44: nri.pkg.api.v1alpha1.PluginInstance + (*ValidateContainerAdjustmentResponse)(nil), // 45: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse + (*Empty)(nil), // 46: nri.pkg.api.v1alpha1.Empty + (*PodSandbox)(nil), // 47: nri.pkg.api.v1alpha1.PodSandbox + (*LinuxPodSandbox)(nil), // 48: nri.pkg.api.v1alpha1.LinuxPodSandbox + (*Container)(nil), // 49: nri.pkg.api.v1alpha1.Container + (*Mount)(nil), // 50: nri.pkg.api.v1alpha1.Mount + (*Hooks)(nil), // 51: nri.pkg.api.v1alpha1.Hooks + (*Hook)(nil), // 52: nri.pkg.api.v1alpha1.Hook + (*LinuxContainer)(nil), // 53: nri.pkg.api.v1alpha1.LinuxContainer + (*LinuxNamespace)(nil), // 54: nri.pkg.api.v1alpha1.LinuxNamespace + (*LinuxDevice)(nil), // 55: nri.pkg.api.v1alpha1.LinuxDevice + (*LinuxDeviceCgroup)(nil), // 56: nri.pkg.api.v1alpha1.LinuxDeviceCgroup + (*CDIDevice)(nil), // 57: nri.pkg.api.v1alpha1.CDIDevice + (*User)(nil), // 58: nri.pkg.api.v1alpha1.User + (*LinuxResources)(nil), // 59: nri.pkg.api.v1alpha1.LinuxResources + (*LinuxMemory)(nil), // 60: nri.pkg.api.v1alpha1.LinuxMemory + (*LinuxCPU)(nil), // 61: nri.pkg.api.v1alpha1.LinuxCPU + (*HugepageLimit)(nil), // 62: nri.pkg.api.v1alpha1.HugepageLimit + (*SecurityProfile)(nil), // 63: nri.pkg.api.v1alpha1.SecurityProfile + (*POSIXRlimit)(nil), // 64: nri.pkg.api.v1alpha1.POSIXRlimit + (*LinuxPids)(nil), // 65: nri.pkg.api.v1alpha1.LinuxPids + (*LinuxIOPriority)(nil), // 66: nri.pkg.api.v1alpha1.LinuxIOPriority + (*LinuxNetDevice)(nil), // 67: nri.pkg.api.v1alpha1.LinuxNetDevice + (*LinuxScheduler)(nil), // 68: nri.pkg.api.v1alpha1.LinuxScheduler + (*ContainerAdjustment)(nil), // 69: nri.pkg.api.v1alpha1.ContainerAdjustment + (*LinuxContainerAdjustment)(nil), // 70: nri.pkg.api.v1alpha1.LinuxContainerAdjustment + (*LinuxSeccomp)(nil), // 71: nri.pkg.api.v1alpha1.LinuxSeccomp + (*LinuxSyscall)(nil), // 72: nri.pkg.api.v1alpha1.LinuxSyscall + (*LinuxSeccompArg)(nil), // 73: nri.pkg.api.v1alpha1.LinuxSeccompArg + (*ContainerUpdate)(nil), // 74: nri.pkg.api.v1alpha1.ContainerUpdate + (*LinuxContainerUpdate)(nil), // 75: nri.pkg.api.v1alpha1.LinuxContainerUpdate + (*ContainerEviction)(nil), // 76: nri.pkg.api.v1alpha1.ContainerEviction + (*LinuxRdt)(nil), // 77: nri.pkg.api.v1alpha1.LinuxRdt + (*KeyValue)(nil), // 78: nri.pkg.api.v1alpha1.KeyValue + (*OptionalString)(nil), // 79: nri.pkg.api.v1alpha1.OptionalString + (*OptionalRepeatedString)(nil), // 80: nri.pkg.api.v1alpha1.OptionalRepeatedString + (*OptionalInt)(nil), // 81: nri.pkg.api.v1alpha1.OptionalInt + (*OptionalInt32)(nil), // 82: nri.pkg.api.v1alpha1.OptionalInt32 + (*OptionalUInt32)(nil), // 83: nri.pkg.api.v1alpha1.OptionalUInt32 + (*OptionalInt64)(nil), // 84: nri.pkg.api.v1alpha1.OptionalInt64 + (*OptionalUInt64)(nil), // 85: nri.pkg.api.v1alpha1.OptionalUInt64 + (*OptionalBool)(nil), // 86: nri.pkg.api.v1alpha1.OptionalBool + (*OptionalFileMode)(nil), // 87: nri.pkg.api.v1alpha1.OptionalFileMode + (*CompoundFieldOwners)(nil), // 88: nri.pkg.api.v1alpha1.CompoundFieldOwners + (*FieldOwners)(nil), // 89: nri.pkg.api.v1alpha1.FieldOwners + (*OwningPlugins)(nil), // 90: nri.pkg.api.v1alpha1.OwningPlugins + nil, // 91: nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry + nil, // 92: nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry + nil, // 93: nri.pkg.api.v1alpha1.Container.LabelsEntry + nil, // 94: nri.pkg.api.v1alpha1.Container.AnnotationsEntry + nil, // 95: nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry + nil, // 96: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry + nil, // 97: nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry + nil, // 98: nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry + nil, // 99: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry + nil, // 100: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry + nil, // 101: nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry + nil, // 102: nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry + nil, // 103: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry + nil, // 104: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry } var file_pkg_api_api_proto_depIdxs = []int32{ - 64, // 0: nri.pkg.api.v1alpha1.UpdateContainersRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 66, // 1: nri.pkg.api.v1alpha1.UpdateContainersRequest.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 64, // 2: nri.pkg.api.v1alpha1.UpdateContainersResponse.failed:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 74, // 0: nri.pkg.api.v1alpha1.UpdateContainersRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 76, // 1: nri.pkg.api.v1alpha1.UpdateContainersRequest.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 74, // 2: nri.pkg.api.v1alpha1.UpdateContainersResponse.failed:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate 6, // 3: nri.pkg.api.v1alpha1.LogRequest.level:type_name -> nri.pkg.api.v1alpha1.LogRequest.Level - 37, // 4: nri.pkg.api.v1alpha1.SynchronizeRequest.pods:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 5: nri.pkg.api.v1alpha1.SynchronizeRequest.containers:type_name -> nri.pkg.api.v1alpha1.Container - 64, // 6: nri.pkg.api.v1alpha1.SynchronizeResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 37, // 7: nri.pkg.api.v1alpha1.RunPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 37, // 8: nri.pkg.api.v1alpha1.StopPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 37, // 9: nri.pkg.api.v1alpha1.RemovePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 37, // 10: nri.pkg.api.v1alpha1.CreateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 11: nri.pkg.api.v1alpha1.CreateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 59, // 12: nri.pkg.api.v1alpha1.CreateContainerResponse.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment - 64, // 13: nri.pkg.api.v1alpha1.CreateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 66, // 14: nri.pkg.api.v1alpha1.CreateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 37, // 15: nri.pkg.api.v1alpha1.UpdateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 16: nri.pkg.api.v1alpha1.UpdateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 49, // 17: nri.pkg.api.v1alpha1.UpdateContainerRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 64, // 18: nri.pkg.api.v1alpha1.UpdateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 66, // 19: nri.pkg.api.v1alpha1.UpdateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction - 37, // 20: nri.pkg.api.v1alpha1.StopContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 21: nri.pkg.api.v1alpha1.StopContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 64, // 22: nri.pkg.api.v1alpha1.StopContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 37, // 23: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 49, // 24: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.overhead_linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 49, // 25: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 37, // 26: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 0, // 27: nri.pkg.api.v1alpha1.StateChangeEvent.event:type_name -> nri.pkg.api.v1alpha1.Event - 37, // 28: nri.pkg.api.v1alpha1.StateChangeEvent.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 29: nri.pkg.api.v1alpha1.StateChangeEvent.container:type_name -> nri.pkg.api.v1alpha1.Container - 37, // 30: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox - 39, // 31: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.container:type_name -> nri.pkg.api.v1alpha1.Container - 59, // 32: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment - 64, // 33: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate - 80, // 34: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins - 34, // 35: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.plugins:type_name -> nri.pkg.api.v1alpha1.PluginInstance - 81, // 36: nri.pkg.api.v1alpha1.PodSandbox.labels:type_name -> nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry - 82, // 37: nri.pkg.api.v1alpha1.PodSandbox.annotations:type_name -> nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry - 38, // 38: nri.pkg.api.v1alpha1.PodSandbox.linux:type_name -> nri.pkg.api.v1alpha1.LinuxPodSandbox - 49, // 39: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_overhead:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 49, // 40: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 44, // 41: nri.pkg.api.v1alpha1.LinuxPodSandbox.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 49, // 42: nri.pkg.api.v1alpha1.LinuxPodSandbox.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 1, // 43: nri.pkg.api.v1alpha1.Container.state:type_name -> nri.pkg.api.v1alpha1.ContainerState - 83, // 44: nri.pkg.api.v1alpha1.Container.labels:type_name -> nri.pkg.api.v1alpha1.Container.LabelsEntry - 84, // 45: nri.pkg.api.v1alpha1.Container.annotations:type_name -> nri.pkg.api.v1alpha1.Container.AnnotationsEntry - 40, // 46: nri.pkg.api.v1alpha1.Container.mounts:type_name -> nri.pkg.api.v1alpha1.Mount - 41, // 47: nri.pkg.api.v1alpha1.Container.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks - 43, // 48: nri.pkg.api.v1alpha1.Container.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainer - 54, // 49: nri.pkg.api.v1alpha1.Container.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit - 47, // 50: nri.pkg.api.v1alpha1.Container.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice - 48, // 51: nri.pkg.api.v1alpha1.Container.user:type_name -> nri.pkg.api.v1alpha1.User - 42, // 52: nri.pkg.api.v1alpha1.Hooks.prestart:type_name -> nri.pkg.api.v1alpha1.Hook - 42, // 53: nri.pkg.api.v1alpha1.Hooks.create_runtime:type_name -> nri.pkg.api.v1alpha1.Hook - 42, // 54: nri.pkg.api.v1alpha1.Hooks.create_container:type_name -> nri.pkg.api.v1alpha1.Hook - 42, // 55: nri.pkg.api.v1alpha1.Hooks.start_container:type_name -> nri.pkg.api.v1alpha1.Hook - 42, // 56: nri.pkg.api.v1alpha1.Hooks.poststart:type_name -> nri.pkg.api.v1alpha1.Hook - 42, // 57: nri.pkg.api.v1alpha1.Hooks.poststop:type_name -> nri.pkg.api.v1alpha1.Hook - 71, // 58: nri.pkg.api.v1alpha1.Hook.timeout:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 44, // 59: nri.pkg.api.v1alpha1.LinuxContainer.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 45, // 60: nri.pkg.api.v1alpha1.LinuxContainer.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice - 49, // 61: nri.pkg.api.v1alpha1.LinuxContainer.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 71, // 62: nri.pkg.api.v1alpha1.LinuxContainer.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 56, // 63: nri.pkg.api.v1alpha1.LinuxContainer.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority - 53, // 64: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_profile:type_name -> nri.pkg.api.v1alpha1.SecurityProfile - 61, // 65: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp - 85, // 66: nri.pkg.api.v1alpha1.LinuxContainer.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry - 86, // 67: nri.pkg.api.v1alpha1.LinuxContainer.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry - 58, // 68: nri.pkg.api.v1alpha1.LinuxContainer.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler - 67, // 69: nri.pkg.api.v1alpha1.LinuxContainer.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt - 77, // 70: nri.pkg.api.v1alpha1.LinuxDevice.file_mode:type_name -> nri.pkg.api.v1alpha1.OptionalFileMode - 73, // 71: nri.pkg.api.v1alpha1.LinuxDevice.uid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 73, // 72: nri.pkg.api.v1alpha1.LinuxDevice.gid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 74, // 73: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.major:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 74, // 74: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.minor:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 50, // 75: nri.pkg.api.v1alpha1.LinuxResources.memory:type_name -> nri.pkg.api.v1alpha1.LinuxMemory - 51, // 76: nri.pkg.api.v1alpha1.LinuxResources.cpu:type_name -> nri.pkg.api.v1alpha1.LinuxCPU - 52, // 77: nri.pkg.api.v1alpha1.LinuxResources.hugepage_limits:type_name -> nri.pkg.api.v1alpha1.HugepageLimit - 69, // 78: nri.pkg.api.v1alpha1.LinuxResources.blockio_class:type_name -> nri.pkg.api.v1alpha1.OptionalString - 69, // 79: nri.pkg.api.v1alpha1.LinuxResources.rdt_class:type_name -> nri.pkg.api.v1alpha1.OptionalString - 87, // 80: nri.pkg.api.v1alpha1.LinuxResources.unified:type_name -> nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry - 46, // 81: nri.pkg.api.v1alpha1.LinuxResources.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDeviceCgroup - 55, // 82: nri.pkg.api.v1alpha1.LinuxResources.pids:type_name -> nri.pkg.api.v1alpha1.LinuxPids - 74, // 83: nri.pkg.api.v1alpha1.LinuxMemory.limit:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 74, // 84: nri.pkg.api.v1alpha1.LinuxMemory.reservation:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 74, // 85: nri.pkg.api.v1alpha1.LinuxMemory.swap:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 74, // 86: nri.pkg.api.v1alpha1.LinuxMemory.kernel:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 74, // 87: nri.pkg.api.v1alpha1.LinuxMemory.kernel_tcp:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 75, // 88: nri.pkg.api.v1alpha1.LinuxMemory.swappiness:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 76, // 89: nri.pkg.api.v1alpha1.LinuxMemory.disable_oom_killer:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 76, // 90: nri.pkg.api.v1alpha1.LinuxMemory.use_hierarchy:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 75, // 91: nri.pkg.api.v1alpha1.LinuxCPU.shares:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 74, // 92: nri.pkg.api.v1alpha1.LinuxCPU.quota:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 75, // 93: nri.pkg.api.v1alpha1.LinuxCPU.period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 74, // 94: nri.pkg.api.v1alpha1.LinuxCPU.realtime_runtime:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 - 75, // 95: nri.pkg.api.v1alpha1.LinuxCPU.realtime_period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 - 7, // 96: nri.pkg.api.v1alpha1.SecurityProfile.profile_type:type_name -> nri.pkg.api.v1alpha1.SecurityProfile.ProfileType - 2, // 97: nri.pkg.api.v1alpha1.LinuxIOPriority.class:type_name -> nri.pkg.api.v1alpha1.IOPrioClass - 3, // 98: nri.pkg.api.v1alpha1.LinuxScheduler.policy:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerPolicy - 4, // 99: nri.pkg.api.v1alpha1.LinuxScheduler.flags:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerFlag - 88, // 100: nri.pkg.api.v1alpha1.ContainerAdjustment.annotations:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry - 40, // 101: nri.pkg.api.v1alpha1.ContainerAdjustment.mounts:type_name -> nri.pkg.api.v1alpha1.Mount - 68, // 102: nri.pkg.api.v1alpha1.ContainerAdjustment.env:type_name -> nri.pkg.api.v1alpha1.KeyValue - 41, // 103: nri.pkg.api.v1alpha1.ContainerAdjustment.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks - 60, // 104: nri.pkg.api.v1alpha1.ContainerAdjustment.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment - 54, // 105: nri.pkg.api.v1alpha1.ContainerAdjustment.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit - 47, // 106: nri.pkg.api.v1alpha1.ContainerAdjustment.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice - 45, // 107: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice - 49, // 108: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 71, // 109: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt - 56, // 110: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority - 61, // 111: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp - 44, // 112: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace - 89, // 113: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry - 90, // 114: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry - 58, // 115: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler - 67, // 116: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt - 73, // 117: nri.pkg.api.v1alpha1.LinuxSeccomp.default_errno:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 62, // 118: nri.pkg.api.v1alpha1.LinuxSeccomp.syscalls:type_name -> nri.pkg.api.v1alpha1.LinuxSyscall - 73, // 119: nri.pkg.api.v1alpha1.LinuxSyscall.errno_ret:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 - 63, // 120: nri.pkg.api.v1alpha1.LinuxSyscall.args:type_name -> nri.pkg.api.v1alpha1.LinuxSeccompArg - 65, // 121: nri.pkg.api.v1alpha1.ContainerUpdate.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerUpdate - 49, // 122: nri.pkg.api.v1alpha1.LinuxContainerUpdate.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources - 69, // 123: nri.pkg.api.v1alpha1.LinuxRdt.clos_id:type_name -> nri.pkg.api.v1alpha1.OptionalString - 70, // 124: nri.pkg.api.v1alpha1.LinuxRdt.schemata:type_name -> nri.pkg.api.v1alpha1.OptionalRepeatedString - 76, // 125: nri.pkg.api.v1alpha1.LinuxRdt.enable_monitoring:type_name -> nri.pkg.api.v1alpha1.OptionalBool - 91, // 126: nri.pkg.api.v1alpha1.CompoundFieldOwners.owners:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry - 92, // 127: nri.pkg.api.v1alpha1.FieldOwners.simple:type_name -> nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry - 93, // 128: nri.pkg.api.v1alpha1.FieldOwners.compound:type_name -> nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry - 94, // 129: nri.pkg.api.v1alpha1.OwningPlugins.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry - 57, // 130: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice - 57, // 131: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice - 78, // 132: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry.value:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners - 79, // 133: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry.value:type_name -> nri.pkg.api.v1alpha1.FieldOwners - 8, // 134: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:input_type -> nri.pkg.api.v1alpha1.RegisterPluginRequest - 9, // 135: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:input_type -> nri.pkg.api.v1alpha1.UpdateContainersRequest - 12, // 136: nri.pkg.api.v1alpha1.Plugin.Configure:input_type -> nri.pkg.api.v1alpha1.ConfigureRequest - 14, // 137: nri.pkg.api.v1alpha1.Plugin.Synchronize:input_type -> nri.pkg.api.v1alpha1.SynchronizeRequest - 36, // 138: nri.pkg.api.v1alpha1.Plugin.Shutdown:input_type -> nri.pkg.api.v1alpha1.Empty - 16, // 139: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:input_type -> nri.pkg.api.v1alpha1.RunPodSandboxRequest - 28, // 140: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxRequest - 30, // 141: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest - 18, // 142: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:input_type -> nri.pkg.api.v1alpha1.StopPodSandboxRequest - 20, // 143: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:input_type -> nri.pkg.api.v1alpha1.RemovePodSandboxRequest - 22, // 144: nri.pkg.api.v1alpha1.Plugin.CreateContainer:input_type -> nri.pkg.api.v1alpha1.CreateContainerRequest - 24, // 145: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:input_type -> nri.pkg.api.v1alpha1.UpdateContainerRequest - 26, // 146: nri.pkg.api.v1alpha1.Plugin.StopContainer:input_type -> nri.pkg.api.v1alpha1.StopContainerRequest - 32, // 147: nri.pkg.api.v1alpha1.Plugin.StateChange:input_type -> nri.pkg.api.v1alpha1.StateChangeEvent - 33, // 148: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:input_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest - 11, // 149: nri.pkg.api.v1alpha1.HostFunctions.Log:input_type -> nri.pkg.api.v1alpha1.LogRequest - 36, // 150: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:output_type -> nri.pkg.api.v1alpha1.Empty - 10, // 151: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:output_type -> nri.pkg.api.v1alpha1.UpdateContainersResponse - 13, // 152: nri.pkg.api.v1alpha1.Plugin.Configure:output_type -> nri.pkg.api.v1alpha1.ConfigureResponse - 15, // 153: nri.pkg.api.v1alpha1.Plugin.Synchronize:output_type -> nri.pkg.api.v1alpha1.SynchronizeResponse - 36, // 154: nri.pkg.api.v1alpha1.Plugin.Shutdown:output_type -> nri.pkg.api.v1alpha1.Empty - 17, // 155: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:output_type -> nri.pkg.api.v1alpha1.RunPodSandboxResponse - 29, // 156: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxResponse - 31, // 157: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse - 19, // 158: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:output_type -> nri.pkg.api.v1alpha1.StopPodSandboxResponse - 21, // 159: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:output_type -> nri.pkg.api.v1alpha1.RemovePodSandboxResponse - 23, // 160: nri.pkg.api.v1alpha1.Plugin.CreateContainer:output_type -> nri.pkg.api.v1alpha1.CreateContainerResponse - 25, // 161: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:output_type -> nri.pkg.api.v1alpha1.UpdateContainerResponse - 27, // 162: nri.pkg.api.v1alpha1.Plugin.StopContainer:output_type -> nri.pkg.api.v1alpha1.StopContainerResponse - 36, // 163: nri.pkg.api.v1alpha1.Plugin.StateChange:output_type -> nri.pkg.api.v1alpha1.Empty - 35, // 164: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:output_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse - 36, // 165: nri.pkg.api.v1alpha1.HostFunctions.Log:output_type -> nri.pkg.api.v1alpha1.Empty - 150, // [150:166] is the sub-list for method output_type - 134, // [134:150] is the sub-list for method input_type - 134, // [134:134] is the sub-list for extension type_name - 134, // [134:134] is the sub-list for extension extendee - 0, // [0:134] is the sub-list for field type_name + 47, // 4: nri.pkg.api.v1alpha1.SynchronizeRequest.pods:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 5: nri.pkg.api.v1alpha1.SynchronizeRequest.containers:type_name -> nri.pkg.api.v1alpha1.Container + 74, // 6: nri.pkg.api.v1alpha1.SynchronizeResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 47, // 7: nri.pkg.api.v1alpha1.RunPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 47, // 8: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 59, // 9: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.overhead_linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 59, // 10: nri.pkg.api.v1alpha1.UpdatePodSandboxRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 47, // 11: nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 47, // 12: nri.pkg.api.v1alpha1.StopPodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 47, // 13: nri.pkg.api.v1alpha1.RemovePodSandboxRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 47, // 14: nri.pkg.api.v1alpha1.CreateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 15: nri.pkg.api.v1alpha1.CreateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 69, // 16: nri.pkg.api.v1alpha1.CreateContainerResponse.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment + 74, // 17: nri.pkg.api.v1alpha1.CreateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 76, // 18: nri.pkg.api.v1alpha1.CreateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 47, // 19: nri.pkg.api.v1alpha1.PostCreateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 20: nri.pkg.api.v1alpha1.PostCreateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 47, // 21: nri.pkg.api.v1alpha1.StartContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 22: nri.pkg.api.v1alpha1.StartContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 47, // 23: nri.pkg.api.v1alpha1.PostStartContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 24: nri.pkg.api.v1alpha1.PostStartContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 47, // 25: nri.pkg.api.v1alpha1.UpdateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 26: nri.pkg.api.v1alpha1.UpdateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 59, // 27: nri.pkg.api.v1alpha1.UpdateContainerRequest.linux_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 74, // 28: nri.pkg.api.v1alpha1.UpdateContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 76, // 29: nri.pkg.api.v1alpha1.UpdateContainerResponse.evict:type_name -> nri.pkg.api.v1alpha1.ContainerEviction + 47, // 30: nri.pkg.api.v1alpha1.PostUpdateContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 31: nri.pkg.api.v1alpha1.PostUpdateContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 47, // 32: nri.pkg.api.v1alpha1.StopContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 33: nri.pkg.api.v1alpha1.StopContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 74, // 34: nri.pkg.api.v1alpha1.StopContainerResponse.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 47, // 35: nri.pkg.api.v1alpha1.RemoveContainerRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 36: nri.pkg.api.v1alpha1.RemoveContainerRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 0, // 37: nri.pkg.api.v1alpha1.StateChangeEvent.event:type_name -> nri.pkg.api.v1alpha1.Event + 47, // 38: nri.pkg.api.v1alpha1.StateChangeEvent.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 39: nri.pkg.api.v1alpha1.StateChangeEvent.container:type_name -> nri.pkg.api.v1alpha1.Container + 47, // 40: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.pod:type_name -> nri.pkg.api.v1alpha1.PodSandbox + 49, // 41: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.container:type_name -> nri.pkg.api.v1alpha1.Container + 69, // 42: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.adjust:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment + 74, // 43: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.update:type_name -> nri.pkg.api.v1alpha1.ContainerUpdate + 90, // 44: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins + 44, // 45: nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest.plugins:type_name -> nri.pkg.api.v1alpha1.PluginInstance + 91, // 46: nri.pkg.api.v1alpha1.PodSandbox.labels:type_name -> nri.pkg.api.v1alpha1.PodSandbox.LabelsEntry + 92, // 47: nri.pkg.api.v1alpha1.PodSandbox.annotations:type_name -> nri.pkg.api.v1alpha1.PodSandbox.AnnotationsEntry + 48, // 48: nri.pkg.api.v1alpha1.PodSandbox.linux:type_name -> nri.pkg.api.v1alpha1.LinuxPodSandbox + 59, // 49: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_overhead:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 59, // 50: nri.pkg.api.v1alpha1.LinuxPodSandbox.pod_resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 54, // 51: nri.pkg.api.v1alpha1.LinuxPodSandbox.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 59, // 52: nri.pkg.api.v1alpha1.LinuxPodSandbox.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 1, // 53: nri.pkg.api.v1alpha1.Container.state:type_name -> nri.pkg.api.v1alpha1.ContainerState + 93, // 54: nri.pkg.api.v1alpha1.Container.labels:type_name -> nri.pkg.api.v1alpha1.Container.LabelsEntry + 94, // 55: nri.pkg.api.v1alpha1.Container.annotations:type_name -> nri.pkg.api.v1alpha1.Container.AnnotationsEntry + 50, // 56: nri.pkg.api.v1alpha1.Container.mounts:type_name -> nri.pkg.api.v1alpha1.Mount + 51, // 57: nri.pkg.api.v1alpha1.Container.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks + 53, // 58: nri.pkg.api.v1alpha1.Container.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainer + 64, // 59: nri.pkg.api.v1alpha1.Container.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit + 57, // 60: nri.pkg.api.v1alpha1.Container.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice + 58, // 61: nri.pkg.api.v1alpha1.Container.user:type_name -> nri.pkg.api.v1alpha1.User + 52, // 62: nri.pkg.api.v1alpha1.Hooks.prestart:type_name -> nri.pkg.api.v1alpha1.Hook + 52, // 63: nri.pkg.api.v1alpha1.Hooks.create_runtime:type_name -> nri.pkg.api.v1alpha1.Hook + 52, // 64: nri.pkg.api.v1alpha1.Hooks.create_container:type_name -> nri.pkg.api.v1alpha1.Hook + 52, // 65: nri.pkg.api.v1alpha1.Hooks.start_container:type_name -> nri.pkg.api.v1alpha1.Hook + 52, // 66: nri.pkg.api.v1alpha1.Hooks.poststart:type_name -> nri.pkg.api.v1alpha1.Hook + 52, // 67: nri.pkg.api.v1alpha1.Hooks.poststop:type_name -> nri.pkg.api.v1alpha1.Hook + 81, // 68: nri.pkg.api.v1alpha1.Hook.timeout:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 54, // 69: nri.pkg.api.v1alpha1.LinuxContainer.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 55, // 70: nri.pkg.api.v1alpha1.LinuxContainer.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice + 59, // 71: nri.pkg.api.v1alpha1.LinuxContainer.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 81, // 72: nri.pkg.api.v1alpha1.LinuxContainer.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 66, // 73: nri.pkg.api.v1alpha1.LinuxContainer.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority + 63, // 74: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_profile:type_name -> nri.pkg.api.v1alpha1.SecurityProfile + 71, // 75: nri.pkg.api.v1alpha1.LinuxContainer.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp + 95, // 76: nri.pkg.api.v1alpha1.LinuxContainer.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.SysctlEntry + 96, // 77: nri.pkg.api.v1alpha1.LinuxContainer.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry + 68, // 78: nri.pkg.api.v1alpha1.LinuxContainer.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler + 77, // 79: nri.pkg.api.v1alpha1.LinuxContainer.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt + 87, // 80: nri.pkg.api.v1alpha1.LinuxDevice.file_mode:type_name -> nri.pkg.api.v1alpha1.OptionalFileMode + 83, // 81: nri.pkg.api.v1alpha1.LinuxDevice.uid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 83, // 82: nri.pkg.api.v1alpha1.LinuxDevice.gid:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 84, // 83: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.major:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 84, // 84: nri.pkg.api.v1alpha1.LinuxDeviceCgroup.minor:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 60, // 85: nri.pkg.api.v1alpha1.LinuxResources.memory:type_name -> nri.pkg.api.v1alpha1.LinuxMemory + 61, // 86: nri.pkg.api.v1alpha1.LinuxResources.cpu:type_name -> nri.pkg.api.v1alpha1.LinuxCPU + 62, // 87: nri.pkg.api.v1alpha1.LinuxResources.hugepage_limits:type_name -> nri.pkg.api.v1alpha1.HugepageLimit + 79, // 88: nri.pkg.api.v1alpha1.LinuxResources.blockio_class:type_name -> nri.pkg.api.v1alpha1.OptionalString + 79, // 89: nri.pkg.api.v1alpha1.LinuxResources.rdt_class:type_name -> nri.pkg.api.v1alpha1.OptionalString + 97, // 90: nri.pkg.api.v1alpha1.LinuxResources.unified:type_name -> nri.pkg.api.v1alpha1.LinuxResources.UnifiedEntry + 56, // 91: nri.pkg.api.v1alpha1.LinuxResources.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDeviceCgroup + 65, // 92: nri.pkg.api.v1alpha1.LinuxResources.pids:type_name -> nri.pkg.api.v1alpha1.LinuxPids + 84, // 93: nri.pkg.api.v1alpha1.LinuxMemory.limit:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 84, // 94: nri.pkg.api.v1alpha1.LinuxMemory.reservation:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 84, // 95: nri.pkg.api.v1alpha1.LinuxMemory.swap:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 84, // 96: nri.pkg.api.v1alpha1.LinuxMemory.kernel:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 84, // 97: nri.pkg.api.v1alpha1.LinuxMemory.kernel_tcp:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 85, // 98: nri.pkg.api.v1alpha1.LinuxMemory.swappiness:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 86, // 99: nri.pkg.api.v1alpha1.LinuxMemory.disable_oom_killer:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 86, // 100: nri.pkg.api.v1alpha1.LinuxMemory.use_hierarchy:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 85, // 101: nri.pkg.api.v1alpha1.LinuxCPU.shares:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 84, // 102: nri.pkg.api.v1alpha1.LinuxCPU.quota:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 85, // 103: nri.pkg.api.v1alpha1.LinuxCPU.period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 84, // 104: nri.pkg.api.v1alpha1.LinuxCPU.realtime_runtime:type_name -> nri.pkg.api.v1alpha1.OptionalInt64 + 85, // 105: nri.pkg.api.v1alpha1.LinuxCPU.realtime_period:type_name -> nri.pkg.api.v1alpha1.OptionalUInt64 + 7, // 106: nri.pkg.api.v1alpha1.SecurityProfile.profile_type:type_name -> nri.pkg.api.v1alpha1.SecurityProfile.ProfileType + 2, // 107: nri.pkg.api.v1alpha1.LinuxIOPriority.class:type_name -> nri.pkg.api.v1alpha1.IOPrioClass + 3, // 108: nri.pkg.api.v1alpha1.LinuxScheduler.policy:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerPolicy + 4, // 109: nri.pkg.api.v1alpha1.LinuxScheduler.flags:type_name -> nri.pkg.api.v1alpha1.LinuxSchedulerFlag + 98, // 110: nri.pkg.api.v1alpha1.ContainerAdjustment.annotations:type_name -> nri.pkg.api.v1alpha1.ContainerAdjustment.AnnotationsEntry + 50, // 111: nri.pkg.api.v1alpha1.ContainerAdjustment.mounts:type_name -> nri.pkg.api.v1alpha1.Mount + 78, // 112: nri.pkg.api.v1alpha1.ContainerAdjustment.env:type_name -> nri.pkg.api.v1alpha1.KeyValue + 51, // 113: nri.pkg.api.v1alpha1.ContainerAdjustment.hooks:type_name -> nri.pkg.api.v1alpha1.Hooks + 70, // 114: nri.pkg.api.v1alpha1.ContainerAdjustment.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment + 64, // 115: nri.pkg.api.v1alpha1.ContainerAdjustment.rlimits:type_name -> nri.pkg.api.v1alpha1.POSIXRlimit + 57, // 116: nri.pkg.api.v1alpha1.ContainerAdjustment.CDI_devices:type_name -> nri.pkg.api.v1alpha1.CDIDevice + 55, // 117: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.devices:type_name -> nri.pkg.api.v1alpha1.LinuxDevice + 59, // 118: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 81, // 119: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.oom_score_adj:type_name -> nri.pkg.api.v1alpha1.OptionalInt + 66, // 120: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.io_priority:type_name -> nri.pkg.api.v1alpha1.LinuxIOPriority + 71, // 121: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.seccomp_policy:type_name -> nri.pkg.api.v1alpha1.LinuxSeccomp + 54, // 122: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.namespaces:type_name -> nri.pkg.api.v1alpha1.LinuxNamespace + 99, // 123: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.sysctl:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.SysctlEntry + 100, // 124: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.net_devices:type_name -> nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry + 68, // 125: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.scheduler:type_name -> nri.pkg.api.v1alpha1.LinuxScheduler + 77, // 126: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.rdt:type_name -> nri.pkg.api.v1alpha1.LinuxRdt + 83, // 127: nri.pkg.api.v1alpha1.LinuxSeccomp.default_errno:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 72, // 128: nri.pkg.api.v1alpha1.LinuxSeccomp.syscalls:type_name -> nri.pkg.api.v1alpha1.LinuxSyscall + 83, // 129: nri.pkg.api.v1alpha1.LinuxSyscall.errno_ret:type_name -> nri.pkg.api.v1alpha1.OptionalUInt32 + 73, // 130: nri.pkg.api.v1alpha1.LinuxSyscall.args:type_name -> nri.pkg.api.v1alpha1.LinuxSeccompArg + 75, // 131: nri.pkg.api.v1alpha1.ContainerUpdate.linux:type_name -> nri.pkg.api.v1alpha1.LinuxContainerUpdate + 59, // 132: nri.pkg.api.v1alpha1.LinuxContainerUpdate.resources:type_name -> nri.pkg.api.v1alpha1.LinuxResources + 79, // 133: nri.pkg.api.v1alpha1.LinuxRdt.clos_id:type_name -> nri.pkg.api.v1alpha1.OptionalString + 80, // 134: nri.pkg.api.v1alpha1.LinuxRdt.schemata:type_name -> nri.pkg.api.v1alpha1.OptionalRepeatedString + 86, // 135: nri.pkg.api.v1alpha1.LinuxRdt.enable_monitoring:type_name -> nri.pkg.api.v1alpha1.OptionalBool + 101, // 136: nri.pkg.api.v1alpha1.CompoundFieldOwners.owners:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners.OwnersEntry + 102, // 137: nri.pkg.api.v1alpha1.FieldOwners.simple:type_name -> nri.pkg.api.v1alpha1.FieldOwners.SimpleEntry + 103, // 138: nri.pkg.api.v1alpha1.FieldOwners.compound:type_name -> nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry + 104, // 139: nri.pkg.api.v1alpha1.OwningPlugins.owners:type_name -> nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry + 67, // 140: nri.pkg.api.v1alpha1.LinuxContainer.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice + 67, // 141: nri.pkg.api.v1alpha1.LinuxContainerAdjustment.NetDevicesEntry.value:type_name -> nri.pkg.api.v1alpha1.LinuxNetDevice + 88, // 142: nri.pkg.api.v1alpha1.FieldOwners.CompoundEntry.value:type_name -> nri.pkg.api.v1alpha1.CompoundFieldOwners + 89, // 143: nri.pkg.api.v1alpha1.OwningPlugins.OwnersEntry.value:type_name -> nri.pkg.api.v1alpha1.FieldOwners + 8, // 144: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:input_type -> nri.pkg.api.v1alpha1.RegisterPluginRequest + 9, // 145: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:input_type -> nri.pkg.api.v1alpha1.UpdateContainersRequest + 12, // 146: nri.pkg.api.v1alpha1.Plugin.Configure:input_type -> nri.pkg.api.v1alpha1.ConfigureRequest + 14, // 147: nri.pkg.api.v1alpha1.Plugin.Synchronize:input_type -> nri.pkg.api.v1alpha1.SynchronizeRequest + 46, // 148: nri.pkg.api.v1alpha1.Plugin.Shutdown:input_type -> nri.pkg.api.v1alpha1.Empty + 16, // 149: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:input_type -> nri.pkg.api.v1alpha1.RunPodSandboxRequest + 18, // 150: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxRequest + 20, // 151: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:input_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxRequest + 22, // 152: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:input_type -> nri.pkg.api.v1alpha1.StopPodSandboxRequest + 24, // 153: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:input_type -> nri.pkg.api.v1alpha1.RemovePodSandboxRequest + 26, // 154: nri.pkg.api.v1alpha1.Plugin.CreateContainer:input_type -> nri.pkg.api.v1alpha1.CreateContainerRequest + 28, // 155: nri.pkg.api.v1alpha1.Plugin.PostCreateContainer:input_type -> nri.pkg.api.v1alpha1.PostCreateContainerRequest + 30, // 156: nri.pkg.api.v1alpha1.Plugin.StartContainer:input_type -> nri.pkg.api.v1alpha1.StartContainerRequest + 32, // 157: nri.pkg.api.v1alpha1.Plugin.PostStartContainer:input_type -> nri.pkg.api.v1alpha1.PostStartContainerRequest + 34, // 158: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:input_type -> nri.pkg.api.v1alpha1.UpdateContainerRequest + 36, // 159: nri.pkg.api.v1alpha1.Plugin.PostUpdateContainer:input_type -> nri.pkg.api.v1alpha1.PostUpdateContainerRequest + 38, // 160: nri.pkg.api.v1alpha1.Plugin.StopContainer:input_type -> nri.pkg.api.v1alpha1.StopContainerRequest + 40, // 161: nri.pkg.api.v1alpha1.Plugin.RemoveContainer:input_type -> nri.pkg.api.v1alpha1.RemoveContainerRequest + 42, // 162: nri.pkg.api.v1alpha1.Plugin.StateChange:input_type -> nri.pkg.api.v1alpha1.StateChangeEvent + 43, // 163: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:input_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentRequest + 11, // 164: nri.pkg.api.v1alpha1.HostFunctions.Log:input_type -> nri.pkg.api.v1alpha1.LogRequest + 46, // 165: nri.pkg.api.v1alpha1.Runtime.RegisterPlugin:output_type -> nri.pkg.api.v1alpha1.Empty + 10, // 166: nri.pkg.api.v1alpha1.Runtime.UpdateContainers:output_type -> nri.pkg.api.v1alpha1.UpdateContainersResponse + 13, // 167: nri.pkg.api.v1alpha1.Plugin.Configure:output_type -> nri.pkg.api.v1alpha1.ConfigureResponse + 15, // 168: nri.pkg.api.v1alpha1.Plugin.Synchronize:output_type -> nri.pkg.api.v1alpha1.SynchronizeResponse + 46, // 169: nri.pkg.api.v1alpha1.Plugin.Shutdown:output_type -> nri.pkg.api.v1alpha1.Empty + 17, // 170: nri.pkg.api.v1alpha1.Plugin.RunPodSandbox:output_type -> nri.pkg.api.v1alpha1.RunPodSandboxResponse + 19, // 171: nri.pkg.api.v1alpha1.Plugin.UpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.UpdatePodSandboxResponse + 21, // 172: nri.pkg.api.v1alpha1.Plugin.PostUpdatePodSandbox:output_type -> nri.pkg.api.v1alpha1.PostUpdatePodSandboxResponse + 23, // 173: nri.pkg.api.v1alpha1.Plugin.StopPodSandbox:output_type -> nri.pkg.api.v1alpha1.StopPodSandboxResponse + 25, // 174: nri.pkg.api.v1alpha1.Plugin.RemovePodSandbox:output_type -> nri.pkg.api.v1alpha1.RemovePodSandboxResponse + 27, // 175: nri.pkg.api.v1alpha1.Plugin.CreateContainer:output_type -> nri.pkg.api.v1alpha1.CreateContainerResponse + 29, // 176: nri.pkg.api.v1alpha1.Plugin.PostCreateContainer:output_type -> nri.pkg.api.v1alpha1.PostCreateContainerResponse + 31, // 177: nri.pkg.api.v1alpha1.Plugin.StartContainer:output_type -> nri.pkg.api.v1alpha1.StartContainerResponse + 33, // 178: nri.pkg.api.v1alpha1.Plugin.PostStartContainer:output_type -> nri.pkg.api.v1alpha1.PostStartContainerResponse + 35, // 179: nri.pkg.api.v1alpha1.Plugin.UpdateContainer:output_type -> nri.pkg.api.v1alpha1.UpdateContainerResponse + 37, // 180: nri.pkg.api.v1alpha1.Plugin.PostUpdateContainer:output_type -> nri.pkg.api.v1alpha1.PostUpdateContainerResponse + 39, // 181: nri.pkg.api.v1alpha1.Plugin.StopContainer:output_type -> nri.pkg.api.v1alpha1.StopContainerResponse + 41, // 182: nri.pkg.api.v1alpha1.Plugin.RemoveContainer:output_type -> nri.pkg.api.v1alpha1.RemoveContainerResponse + 46, // 183: nri.pkg.api.v1alpha1.Plugin.StateChange:output_type -> nri.pkg.api.v1alpha1.Empty + 45, // 184: nri.pkg.api.v1alpha1.Plugin.ValidateContainerAdjustment:output_type -> nri.pkg.api.v1alpha1.ValidateContainerAdjustmentResponse + 46, // 185: nri.pkg.api.v1alpha1.HostFunctions.Log:output_type -> nri.pkg.api.v1alpha1.Empty + 165, // [165:186] is the sub-list for method output_type + 144, // [144:165] is the sub-list for method input_type + 144, // [144:144] is the sub-list for extension type_name + 144, // [144:144] is the sub-list for extension extendee + 0, // [0:144] is the sub-list for field type_name } func init() { file_pkg_api_api_proto_init() } @@ -6927,7 +7523,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopPodSandboxRequest); i { + switch v := v.(*UpdatePodSandboxRequest); i { case 0: return &v.state case 1: @@ -6939,7 +7535,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopPodSandboxResponse); i { + switch v := v.(*UpdatePodSandboxResponse); i { case 0: return &v.state case 1: @@ -6951,7 +7547,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemovePodSandboxRequest); i { + switch v := v.(*PostUpdatePodSandboxRequest); i { case 0: return &v.state case 1: @@ -6963,7 +7559,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemovePodSandboxResponse); i { + switch v := v.(*PostUpdatePodSandboxResponse); i { case 0: return &v.state case 1: @@ -6975,7 +7571,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContainerRequest); i { + switch v := v.(*StopPodSandboxRequest); i { case 0: return &v.state case 1: @@ -6987,7 +7583,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateContainerResponse); i { + switch v := v.(*StopPodSandboxResponse); i { case 0: return &v.state case 1: @@ -6999,7 +7595,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContainerRequest); i { + switch v := v.(*RemovePodSandboxRequest); i { case 0: return &v.state case 1: @@ -7011,7 +7607,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateContainerResponse); i { + switch v := v.(*RemovePodSandboxResponse); i { case 0: return &v.state case 1: @@ -7023,7 +7619,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopContainerRequest); i { + switch v := v.(*CreateContainerRequest); i { case 0: return &v.state case 1: @@ -7035,7 +7631,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopContainerResponse); i { + switch v := v.(*CreateContainerResponse); i { case 0: return &v.state case 1: @@ -7047,7 +7643,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePodSandboxRequest); i { + switch v := v.(*PostCreateContainerRequest); i { case 0: return &v.state case 1: @@ -7059,7 +7655,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePodSandboxResponse); i { + switch v := v.(*PostCreateContainerResponse); i { case 0: return &v.state case 1: @@ -7071,7 +7667,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostUpdatePodSandboxRequest); i { + switch v := v.(*StartContainerRequest); i { case 0: return &v.state case 1: @@ -7083,7 +7679,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PostUpdatePodSandboxResponse); i { + switch v := v.(*StartContainerResponse); i { case 0: return &v.state case 1: @@ -7095,7 +7691,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StateChangeEvent); i { + switch v := v.(*PostStartContainerRequest); i { case 0: return &v.state case 1: @@ -7107,7 +7703,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateContainerAdjustmentRequest); i { + switch v := v.(*PostStartContainerResponse); i { case 0: return &v.state case 1: @@ -7119,7 +7715,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PluginInstance); i { + switch v := v.(*UpdateContainerRequest); i { case 0: return &v.state case 1: @@ -7131,7 +7727,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateContainerAdjustmentResponse); i { + switch v := v.(*UpdateContainerResponse); i { case 0: return &v.state case 1: @@ -7143,7 +7739,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Empty); i { + switch v := v.(*PostUpdateContainerRequest); i { case 0: return &v.state case 1: @@ -7155,7 +7751,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PodSandbox); i { + switch v := v.(*PostUpdateContainerResponse); i { case 0: return &v.state case 1: @@ -7167,7 +7763,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxPodSandbox); i { + switch v := v.(*StopContainerRequest); i { case 0: return &v.state case 1: @@ -7179,7 +7775,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Container); i { + switch v := v.(*StopContainerResponse); i { case 0: return &v.state case 1: @@ -7191,7 +7787,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Mount); i { + switch v := v.(*RemoveContainerRequest); i { case 0: return &v.state case 1: @@ -7203,7 +7799,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hooks); i { + switch v := v.(*RemoveContainerResponse); i { case 0: return &v.state case 1: @@ -7215,7 +7811,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hook); i { + switch v := v.(*StateChangeEvent); i { case 0: return &v.state case 1: @@ -7227,7 +7823,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainer); i { + switch v := v.(*ValidateContainerAdjustmentRequest); i { case 0: return &v.state case 1: @@ -7239,7 +7835,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxNamespace); i { + switch v := v.(*PluginInstance); i { case 0: return &v.state case 1: @@ -7251,7 +7847,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxDevice); i { + switch v := v.(*ValidateContainerAdjustmentResponse); i { case 0: return &v.state case 1: @@ -7263,7 +7859,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxDeviceCgroup); i { + switch v := v.(*Empty); i { case 0: return &v.state case 1: @@ -7275,7 +7871,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CDIDevice); i { + switch v := v.(*PodSandbox); i { case 0: return &v.state case 1: @@ -7287,7 +7883,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { + switch v := v.(*LinuxPodSandbox); i { case 0: return &v.state case 1: @@ -7299,7 +7895,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxResources); i { + switch v := v.(*Container); i { case 0: return &v.state case 1: @@ -7311,7 +7907,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxMemory); i { + switch v := v.(*Mount); i { case 0: return &v.state case 1: @@ -7323,7 +7919,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxCPU); i { + switch v := v.(*Hooks); i { case 0: return &v.state case 1: @@ -7335,7 +7931,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HugepageLimit); i { + switch v := v.(*Hook); i { case 0: return &v.state case 1: @@ -7347,7 +7943,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SecurityProfile); i { + switch v := v.(*LinuxContainer); i { case 0: return &v.state case 1: @@ -7359,7 +7955,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*POSIXRlimit); i { + switch v := v.(*LinuxNamespace); i { case 0: return &v.state case 1: @@ -7371,7 +7967,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxPids); i { + switch v := v.(*LinuxDevice); i { case 0: return &v.state case 1: @@ -7383,7 +7979,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxIOPriority); i { + switch v := v.(*LinuxDeviceCgroup); i { case 0: return &v.state case 1: @@ -7395,7 +7991,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxNetDevice); i { + switch v := v.(*CDIDevice); i { case 0: return &v.state case 1: @@ -7407,7 +8003,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxScheduler); i { + switch v := v.(*User); i { case 0: return &v.state case 1: @@ -7419,7 +8015,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerAdjustment); i { + switch v := v.(*LinuxResources); i { case 0: return &v.state case 1: @@ -7431,7 +8027,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainerAdjustment); i { + switch v := v.(*LinuxMemory); i { case 0: return &v.state case 1: @@ -7443,7 +8039,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSeccomp); i { + switch v := v.(*LinuxCPU); i { case 0: return &v.state case 1: @@ -7455,7 +8051,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSyscall); i { + switch v := v.(*HugepageLimit); i { case 0: return &v.state case 1: @@ -7467,7 +8063,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxSeccompArg); i { + switch v := v.(*SecurityProfile); i { case 0: return &v.state case 1: @@ -7479,7 +8075,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerUpdate); i { + switch v := v.(*POSIXRlimit); i { case 0: return &v.state case 1: @@ -7491,7 +8087,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxContainerUpdate); i { + switch v := v.(*LinuxPids); i { case 0: return &v.state case 1: @@ -7503,7 +8099,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContainerEviction); i { + switch v := v.(*LinuxIOPriority); i { case 0: return &v.state case 1: @@ -7515,7 +8111,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LinuxRdt); i { + switch v := v.(*LinuxNetDevice); i { case 0: return &v.state case 1: @@ -7527,7 +8123,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyValue); i { + switch v := v.(*LinuxScheduler); i { case 0: return &v.state case 1: @@ -7539,7 +8135,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalString); i { + switch v := v.(*ContainerAdjustment); i { case 0: return &v.state case 1: @@ -7551,7 +8147,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalRepeatedString); i { + switch v := v.(*LinuxContainerAdjustment); i { case 0: return &v.state case 1: @@ -7563,7 +8159,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt); i { + switch v := v.(*LinuxSeccomp); i { case 0: return &v.state case 1: @@ -7575,7 +8171,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt32); i { + switch v := v.(*LinuxSyscall); i { case 0: return &v.state case 1: @@ -7587,7 +8183,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalUInt32); i { + switch v := v.(*LinuxSeccompArg); i { case 0: return &v.state case 1: @@ -7599,7 +8195,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalInt64); i { + switch v := v.(*ContainerUpdate); i { case 0: return &v.state case 1: @@ -7611,7 +8207,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalUInt64); i { + switch v := v.(*LinuxContainerUpdate); i { case 0: return &v.state case 1: @@ -7623,7 +8219,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalBool); i { + switch v := v.(*ContainerEviction); i { case 0: return &v.state case 1: @@ -7635,7 +8231,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OptionalFileMode); i { + switch v := v.(*LinuxRdt); i { case 0: return &v.state case 1: @@ -7647,7 +8243,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompoundFieldOwners); i { + switch v := v.(*KeyValue); i { case 0: return &v.state case 1: @@ -7659,7 +8255,7 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FieldOwners); i { + switch v := v.(*OptionalString); i { case 0: return &v.state case 1: @@ -7671,6 +8267,126 @@ func file_pkg_api_api_proto_init() { } } file_pkg_api_api_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalRepeatedString); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalInt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalInt32); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalUInt32); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalInt64); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalUInt64); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalBool); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OptionalFileMode); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompoundFieldOwners); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FieldOwners); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_api_api_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OwningPlugins); i { case 0: return &v.state @@ -7689,7 +8405,7 @@ func file_pkg_api_api_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pkg_api_api_proto_rawDesc, NumEnums: 8, - NumMessages: 87, + NumMessages: 97, NumExtensions: 0, NumServices: 3, }, diff --git a/pkg/api/api.proto b/pkg/api/api.proto index 4766f045..b46adc02 100644 --- a/pkg/api/api.proto +++ b/pkg/api/api.proto @@ -107,15 +107,31 @@ service Plugin { // assigned container resources. rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse); + // PostCreateContainer relays the corresponding container request to the plugin. + rpc PostCreateContainer(PostCreateContainerRequest) returns (PostCreateContainerResponse); + + // StartContainer relays the corresponding container request to the plugin. + rpc StartContainer(StartContainerRequest) returns (StartContainerResponse); + + // PostStartContainer relays the corresponding container request to the plugin. + rpc PostStartContainer(PostStartContainerRequest) returns (PostStartContainerResponse); + // UpdateContainer relays the corresponding request to the plugin. // The plugin can alter how the container is updated and request updates // to additional containers in the runtime. rpc UpdateContainer(UpdateContainerRequest) returns (UpdateContainerResponse); + // PostUpdateContainer relays the corresponding container request to the plugin. + rpc PostUpdateContainer(PostUpdateContainerRequest) returns (PostUpdateContainerResponse); + // StopContainer relays the corresponding request to the plugin. The plugin // can update any of the remaining containers in the runtime in response. rpc StopContainer(StopContainerRequest) returns (StopContainerResponse); + // RemoveContainer relays the corresponding container request to the plugin. + rpc RemoveContainer(RemoveContainerRequest) returns (RemoveContainerResponse); + + // StateChange relays any remaining pod or container lifecycle/state change // events the plugin has subscribed for. These can be used to trigger any // plugin-specific processing which needs to occur in connection with any of @@ -236,6 +252,33 @@ message CreateContainerResponse { repeated ContainerEviction evict = 3; } +message PostCreateContainerRequest { + // Pod of created container. + PodSandbox pod = 1; + // Created container. + Container container = 2; +} + +message PostCreateContainerResponse{} + +message StartContainerRequest { + // Pod of container being started. + PodSandbox pod = 1; + // Container being started. + Container container = 2; +} + +message StartContainerResponse {} + +message PostStartContainerRequest { + // Pod of started container. + PodSandbox pod = 1; + // Started container. + Container container = 2; +} + +message PostStartContainerResponse {} + message UpdateContainerRequest { // Pod of container being updated. PodSandbox pod = 1; @@ -252,6 +295,15 @@ message UpdateContainerResponse { repeated ContainerEviction evict = 2; } +message PostUpdateContainerRequest { + // Pod of updated container. + PodSandbox pod = 1; + // Updated container. + Container container = 2; +} + +message PostUpdateContainerResponse {} + message StopContainerRequest { // Pod of container being stopped. PodSandbox pod = 1; @@ -264,6 +316,15 @@ message StopContainerResponse { repeated ContainerUpdate update = 1; } +message RemoveContainerRequest { + // Pod of removed container. + PodSandbox pod = 1; + // Removed container. + Container container = 2; +} + +message RemoveContainerResponse {} + message StateChangeEvent { // Event type of notification. Event event = 1; diff --git a/pkg/api/api_host.pb.go b/pkg/api/api_host.pb.go index 6422e3a8..5b25aef7 100644 --- a/pkg/api/api_host.pb.go +++ b/pkg/api/api_host.pb.go @@ -200,14 +200,34 @@ func (p *PluginPlugin) Load(ctx context.Context, pluginPath string, hostFunction if createcontainer == nil { return nil, errors.New("plugin_create_container is not exported") } + postcreatecontainer := module.ExportedFunction("plugin_post_create_container") + if postcreatecontainer == nil { + return nil, errors.New("plugin_post_create_container is not exported") + } + startcontainer := module.ExportedFunction("plugin_start_container") + if startcontainer == nil { + return nil, errors.New("plugin_start_container is not exported") + } + poststartcontainer := module.ExportedFunction("plugin_post_start_container") + if poststartcontainer == nil { + return nil, errors.New("plugin_post_start_container is not exported") + } updatecontainer := module.ExportedFunction("plugin_update_container") if updatecontainer == nil { return nil, errors.New("plugin_update_container is not exported") } + postupdatecontainer := module.ExportedFunction("plugin_post_update_container") + if postupdatecontainer == nil { + return nil, errors.New("plugin_post_update_container is not exported") + } stopcontainer := module.ExportedFunction("plugin_stop_container") if stopcontainer == nil { return nil, errors.New("plugin_stop_container is not exported") } + removecontainer := module.ExportedFunction("plugin_remove_container") + if removecontainer == nil { + return nil, errors.New("plugin_remove_container is not exported") + } statechange := module.ExportedFunction("plugin_state_change") if statechange == nil { return nil, errors.New("plugin_state_change is not exported") @@ -240,8 +260,13 @@ func (p *PluginPlugin) Load(ctx context.Context, pluginPath string, hostFunction stoppodsandbox: stoppodsandbox, removepodsandbox: removepodsandbox, createcontainer: createcontainer, + postcreatecontainer: postcreatecontainer, + startcontainer: startcontainer, + poststartcontainer: poststartcontainer, updatecontainer: updatecontainer, + postupdatecontainer: postupdatecontainer, stopcontainer: stopcontainer, + removecontainer: removecontainer, statechange: statechange, validatecontaineradjustment: validatecontaineradjustment, }, nil @@ -268,8 +293,13 @@ type pluginPlugin struct { stoppodsandbox api.Function removepodsandbox api.Function createcontainer api.Function + postcreatecontainer api.Function + startcontainer api.Function + poststartcontainer api.Function updatecontainer api.Function + postupdatecontainer api.Function stopcontainer api.Function + removecontainer api.Function statechange api.Function validatecontaineradjustment api.Function } @@ -823,6 +853,189 @@ func (p *pluginPlugin) CreateContainer(ctx context.Context, request *CreateConta return response, nil } +func (p *pluginPlugin) PostCreateContainer(ctx context.Context, request *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.postcreatecontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(PostCreateContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) StartContainer(ctx context.Context, request *StartContainerRequest) (*StartContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.startcontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(StartContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} +func (p *pluginPlugin) PostStartContainer(ctx context.Context, request *PostStartContainerRequest) (*PostStartContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.poststartcontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(PostStartContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateContainerRequest) (*UpdateContainerResponse, error) { data, err := request.MarshalVT() if err != nil { @@ -884,6 +1097,67 @@ func (p *pluginPlugin) UpdateContainer(ctx context.Context, request *UpdateConta return response, nil } +func (p *pluginPlugin) PostUpdateContainer(ctx context.Context, request *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.postupdatecontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(PostUpdateContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainerRequest) (*StopContainerResponse, error) { data, err := request.MarshalVT() if err != nil { @@ -945,6 +1219,67 @@ func (p *pluginPlugin) StopContainer(ctx context.Context, request *StopContainer return response, nil } +func (p *pluginPlugin) RemoveContainer(ctx context.Context, request *RemoveContainerRequest) (*RemoveContainerResponse, error) { + data, err := request.MarshalVT() + if err != nil { + return nil, err + } + dataSize := uint64(len(data)) + + var dataPtr uint64 + // If the input data is not empty, we must allocate the in-Wasm memory to store it, and pass to the plugin. + if dataSize != 0 { + results, err := p.malloc.Call(ctx, dataSize) + if err != nil { + return nil, err + } + dataPtr = results[0] + // This pointer is managed by the Wasm module, which is unaware of external usage. + // So, we have to free it when finished + defer p.free.Call(ctx, dataPtr) + + // The pointer is a linear memory offset, which is where we write the name. + if !p.module.Memory().Write(uint32(dataPtr), data) { + return nil, fmt.Errorf("Memory.Write(%d, %d) out of range of memory size %d", dataPtr, dataSize, p.module.Memory().Size()) + } + } + + ptrSize, err := p.removecontainer.Call(ctx, dataPtr, dataSize) + if err != nil { + return nil, err + } + + resPtr := uint32(ptrSize[0] >> 32) + resSize := uint32(ptrSize[0]) + var isErrResponse bool + if (resSize & (1 << 31)) > 0 { + isErrResponse = true + resSize &^= (1 << 31) + } + + // We don't need the memory after deserialization: make sure it is freed. + if resPtr != 0 { + defer p.free.Call(ctx, uint64(resPtr)) + } + + // The pointer is a linear memory offset, which is where we write the name. + bytes, ok := p.module.Memory().Read(resPtr, resSize) + if !ok { + return nil, fmt.Errorf("Memory.Read(%d, %d) out of range of memory size %d", + resPtr, resSize, p.module.Memory().Size()) + } + + if isErrResponse { + return nil, errors.New(string(bytes)) + } + + response := new(RemoveContainerResponse) + if err = response.UnmarshalVT(bytes); err != nil { + return nil, err + } + + return response, nil +} func (p *pluginPlugin) StateChange(ctx context.Context, request *StateChangeEvent) (*Empty, error) { data, err := request.MarshalVT() if err != nil { diff --git a/pkg/api/api_plugin.pb.go b/pkg/api/api_plugin.pb.go index 216da47b..8d8e7c06 100644 --- a/pkg/api/api_plugin.pb.go +++ b/pkg/api/api_plugin.pb.go @@ -258,6 +258,78 @@ func _plugin_create_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } +//go:wasmexport plugin_post_create_container +func _plugin_post_create_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(PostCreateContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.PostCreateContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_start_container +func _plugin_start_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(StartContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.StartContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + +//go:wasmexport plugin_post_start_container +func _plugin_post_start_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(PostStartContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.PostStartContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + //go:wasmexport plugin_update_container func _plugin_update_container(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) @@ -282,6 +354,30 @@ func _plugin_update_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } +//go:wasmexport plugin_post_update_container +func _plugin_post_update_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(PostUpdateContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.PostUpdateContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + //go:wasmexport plugin_stop_container func _plugin_stop_container(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) @@ -306,6 +402,30 @@ func _plugin_stop_container(ptr, size uint32) uint64 { return (uint64(ptr) << uint64(32)) | uint64(size) } +//go:wasmexport plugin_remove_container +func _plugin_remove_container(ptr, size uint32) uint64 { + b := wasm.PtrToByte(ptr, size) + req := new(RemoveContainerRequest) + if err := req.UnmarshalVT(b); err != nil { + return 0 + } + response, err := plugin.RemoveContainer(context.Background(), req) + if err != nil { + ptr, size = wasm.ByteToPtr([]byte(err.Error())) + return (uint64(ptr) << uint64(32)) | uint64(size) | + // Indicate that this is the error string by setting the 32-th bit, assuming that + // no data exceeds 31-bit size (2 GiB). + (1 << 31) + } + + b, err = response.MarshalVT() + if err != nil { + return 0 + } + ptr, size = wasm.ByteToPtr(b) + return (uint64(ptr) << uint64(32)) | uint64(size) +} + //go:wasmexport plugin_state_change func _plugin_state_change(ptr, size uint32) uint64 { b := wasm.PtrToByte(ptr, size) diff --git a/pkg/api/api_service.pb.go b/pkg/api/api_service.pb.go index 46671ef2..61902422 100644 --- a/pkg/api/api_service.pb.go +++ b/pkg/api/api_service.pb.go @@ -79,13 +79,23 @@ type Plugin interface { // OCI hooks, and assigned container resources. Updates can alter // assigned container resources. CreateContainer(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error) + // PostCreateContainer relays the corresponding container request to the plugin. + PostCreateContainer(context.Context, *PostCreateContainerRequest) (*PostCreateContainerResponse, error) + // StartContainer relays the corresponding container request to the plugin. + StartContainer(context.Context, *StartContainerRequest) (*StartContainerResponse, error) + // PostStartContainer relays the corresponding container request to the plugin. + PostStartContainer(context.Context, *PostStartContainerRequest) (*PostStartContainerResponse, error) // UpdateContainer relays the corresponding request to the plugin. // The plugin can alter how the container is updated and request updates // to additional containers in the runtime. UpdateContainer(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error) + // PostUpdateContainer relays the corresponding container request to the plugin. + PostUpdateContainer(context.Context, *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) // StopContainer relays the corresponding request to the plugin. The plugin // can update any of the remaining containers in the runtime in response. StopContainer(context.Context, *StopContainerRequest) (*StopContainerResponse, error) + // RemoveContainer relays the corresponding container request to the plugin. + RemoveContainer(context.Context, *RemoveContainerRequest) (*RemoveContainerResponse, error) // StateChange relays any remaining pod or container lifecycle/state change // events the plugin has subscribed for. These can be used to trigger any // plugin-specific processing which needs to occur in connection with any of diff --git a/pkg/api/api_ttrpc.pb.go b/pkg/api/api_ttrpc.pb.go index 20136008..7b34b192 100644 --- a/pkg/api/api_ttrpc.pb.go +++ b/pkg/api/api_ttrpc.pb.go @@ -71,8 +71,13 @@ type PluginService interface { StopPodSandbox(context.Context, *StopPodSandboxRequest) (*StopPodSandboxResponse, error) RemovePodSandbox(context.Context, *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) CreateContainer(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error) + PostCreateContainer(context.Context, *PostCreateContainerRequest) (*PostCreateContainerResponse, error) + StartContainer(context.Context, *StartContainerRequest) (*StartContainerResponse, error) + PostStartContainer(context.Context, *PostStartContainerRequest) (*PostStartContainerResponse, error) UpdateContainer(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error) + PostUpdateContainer(context.Context, *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) StopContainer(context.Context, *StopContainerRequest) (*StopContainerResponse, error) + RemoveContainer(context.Context, *RemoveContainerRequest) (*RemoveContainerResponse, error) StateChange(context.Context, *StateChangeEvent) (*Empty, error) ValidateContainerAdjustment(context.Context, *ValidateContainerAdjustmentRequest) (*ValidateContainerAdjustmentResponse, error) } @@ -143,6 +148,27 @@ func RegisterPluginService(srv *ttrpc.Server, svc PluginService) { } return svc.CreateContainer(ctx, &req) }, + "PostCreateContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req PostCreateContainerRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.PostCreateContainer(ctx, &req) + }, + "StartContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req StartContainerRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.StartContainer(ctx, &req) + }, + "PostStartContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req PostStartContainerRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.PostStartContainer(ctx, &req) + }, "UpdateContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { var req UpdateContainerRequest if err := unmarshal(&req); err != nil { @@ -150,6 +176,13 @@ func RegisterPluginService(srv *ttrpc.Server, svc PluginService) { } return svc.UpdateContainer(ctx, &req) }, + "PostUpdateContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req PostUpdateContainerRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.PostUpdateContainer(ctx, &req) + }, "StopContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { var req StopContainerRequest if err := unmarshal(&req); err != nil { @@ -157,6 +190,13 @@ func RegisterPluginService(srv *ttrpc.Server, svc PluginService) { } return svc.StopContainer(ctx, &req) }, + "RemoveContainer": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { + var req RemoveContainerRequest + if err := unmarshal(&req); err != nil { + return nil, err + } + return svc.RemoveContainer(ctx, &req) + }, "StateChange": func(ctx context.Context, unmarshal func(interface{}) error) (interface{}, error) { var req StateChangeEvent if err := unmarshal(&req); err != nil { @@ -257,6 +297,30 @@ func (c *pluginClient) CreateContainer(ctx context.Context, req *CreateContainer return &resp, nil } +func (c *pluginClient) PostCreateContainer(ctx context.Context, req *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { + var resp PostCreateContainerResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "PostCreateContainer", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) StartContainer(ctx context.Context, req *StartContainerRequest) (*StartContainerResponse, error) { + var resp StartContainerResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "StartContainer", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + +func (c *pluginClient) PostStartContainer(ctx context.Context, req *PostStartContainerRequest) (*PostStartContainerResponse, error) { + var resp PostStartContainerResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "PostStartContainer", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + func (c *pluginClient) UpdateContainer(ctx context.Context, req *UpdateContainerRequest) (*UpdateContainerResponse, error) { var resp UpdateContainerResponse if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "UpdateContainer", req, &resp); err != nil { @@ -265,6 +329,14 @@ func (c *pluginClient) UpdateContainer(ctx context.Context, req *UpdateContainer return &resp, nil } +func (c *pluginClient) PostUpdateContainer(ctx context.Context, req *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) { + var resp PostUpdateContainerResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "PostUpdateContainer", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + func (c *pluginClient) StopContainer(ctx context.Context, req *StopContainerRequest) (*StopContainerResponse, error) { var resp StopContainerResponse if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "StopContainer", req, &resp); err != nil { @@ -273,6 +345,14 @@ func (c *pluginClient) StopContainer(ctx context.Context, req *StopContainerRequ return &resp, nil } +func (c *pluginClient) RemoveContainer(ctx context.Context, req *RemoveContainerRequest) (*RemoveContainerResponse, error) { + var resp RemoveContainerResponse + if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "RemoveContainer", req, &resp); err != nil { + return nil, err + } + return &resp, nil +} + func (c *pluginClient) StateChange(ctx context.Context, req *StateChangeEvent) (*Empty, error) { var resp Empty if err := c.client.Call(ctx, "nri.pkg.api.v1alpha1.Plugin", "StateChange", req, &resp); err != nil { diff --git a/pkg/api/api_vtproto.pb.go b/pkg/api/api_vtproto.pb.go index 681ca737..a11c0e5f 100644 --- a/pkg/api/api_vtproto.pb.go +++ b/pkg/api/api_vtproto.pb.go @@ -529,7 +529,7 @@ func (m *RunPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *StopPodSandboxRequest) MarshalVT() (dAtA []byte, err error) { +func (m *UpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -542,12 +542,12 @@ func (m *StopPodSandboxRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StopPodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *UpdatePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StopPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *UpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -559,6 +559,26 @@ func (m *StopPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.LinuxResources != nil { + size, err := m.LinuxResources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.OverheadLinuxResources != nil { + size, err := m.OverheadLinuxResources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -572,7 +592,7 @@ func (m *StopPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *StopPodSandboxResponse) MarshalVT() (dAtA []byte, err error) { +func (m *UpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -585,12 +605,12 @@ func (m *StopPodSandboxResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StopPodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *UpdatePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StopPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *UpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -605,7 +625,7 @@ func (m *StopPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *RemovePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -618,12 +638,12 @@ func (m *RemovePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RemovePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *RemovePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -648,7 +668,7 @@ func (m *RemovePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *RemovePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -661,12 +681,12 @@ func (m *RemovePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RemovePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *RemovePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -681,7 +701,7 @@ func (m *RemovePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *CreateContainerRequest) MarshalVT() (dAtA []byte, err error) { +func (m *StopPodSandboxRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -694,12 +714,12 @@ func (m *CreateContainerRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CreateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *StopPodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CreateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StopPodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -711,16 +731,6 @@ func (m *CreateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Container != nil { - size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -734,7 +744,7 @@ func (m *CreateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *CreateContainerResponse) MarshalVT() (dAtA []byte, err error) { +func (m *StopPodSandboxResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -747,12 +757,12 @@ func (m *CreateContainerResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CreateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *StopPodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CreateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StopPodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -764,44 +774,10 @@ func (m *CreateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Evict) > 0 { - for iNdEx := len(m.Evict) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Evict[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - } - if len(m.Update) > 0 { - for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - } - if m.Adjust != nil { - size, err := m.Adjust.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *UpdateContainerRequest) MarshalVT() (dAtA []byte, err error) { +func (m *RemovePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -814,12 +790,12 @@ func (m *UpdateContainerRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *UpdateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *RemovePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *UpdateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *RemovePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -831,26 +807,6 @@ func (m *UpdateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.LinuxResources != nil { - size, err := m.LinuxResources.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Container != nil { - size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -864,7 +820,7 @@ func (m *UpdateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error return len(dAtA) - i, nil } -func (m *UpdateContainerResponse) MarshalVT() (dAtA []byte, err error) { +func (m *RemovePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -877,12 +833,12 @@ func (m *UpdateContainerResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *UpdateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *RemovePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *UpdateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *RemovePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -894,34 +850,10 @@ func (m *UpdateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Evict) > 0 { - for iNdEx := len(m.Evict) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Evict[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Update) > 0 { - for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } return len(dAtA) - i, nil } -func (m *StopContainerRequest) MarshalVT() (dAtA []byte, err error) { +func (m *CreateContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -934,12 +866,12 @@ func (m *StopContainerRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StopContainerRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *CreateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StopContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *CreateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -974,7 +906,7 @@ func (m *StopContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) return len(dAtA) - i, nil } -func (m *StopContainerResponse) MarshalVT() (dAtA []byte, err error) { +func (m *CreateContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -987,12 +919,12 @@ func (m *StopContainerResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StopContainerResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *CreateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StopContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *CreateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1004,6 +936,18 @@ func (m *StopContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.Evict) > 0 { + for iNdEx := len(m.Evict) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Evict[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } if len(m.Update) > 0 { for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) @@ -1013,13 +957,23 @@ func (m *StopContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + } + if m.Adjust != nil { + size, err := m.Adjust.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *UpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { +func (m *PostCreateContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1032,12 +986,12 @@ func (m *UpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *UpdatePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostCreateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *UpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostCreateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1049,18 +1003,8 @@ func (m *UpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.LinuxResources != nil { - size, err := m.LinuxResources.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.OverheadLinuxResources != nil { - size, err := m.OverheadLinuxResources.MarshalToSizedBufferVT(dAtA[:i]) + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -1082,7 +1026,7 @@ func (m *UpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *UpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { +func (m *PostCreateContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1095,12 +1039,12 @@ func (m *UpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *UpdatePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostCreateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *UpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostCreateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1115,7 +1059,7 @@ func (m *UpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *PostUpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { +func (m *StartContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1128,12 +1072,12 @@ func (m *PostUpdatePodSandboxRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PostUpdatePodSandboxRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *StartContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *PostUpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StartContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1145,6 +1089,16 @@ func (m *PostUpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -1158,7 +1112,7 @@ func (m *PostUpdatePodSandboxRequest) MarshalToSizedBufferVT(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *PostUpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { +func (m *StartContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1171,12 +1125,12 @@ func (m *PostUpdatePodSandboxResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PostUpdatePodSandboxResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *StartContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *PostUpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StartContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1191,7 +1145,7 @@ func (m *PostUpdatePodSandboxResponse) MarshalToSizedBufferVT(dAtA []byte) (int, return len(dAtA) - i, nil } -func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { +func (m *PostStartContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1204,12 +1158,12 @@ func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *StateChangeEvent) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostStartContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostStartContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1229,7 +1183,7 @@ func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x12 } if m.Pod != nil { size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) @@ -1239,17 +1193,12 @@ func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 - } - if m.Event != 0 { - i = encodeVarint(dAtA, i, uint64(m.Event)) - i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error) { +func (m *PostStartContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1262,12 +1211,12 @@ func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error return dAtA[:n], nil } -func (m *ValidateContainerAdjustmentRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostStartContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostStartContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1279,42 +1228,41 @@ func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Plugins) > 0 { - for iNdEx := len(m.Plugins) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Plugins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - } - if m.Owners != nil { - size, err := m.Owners.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a + return len(dAtA) - i, nil +} + +func (m *UpdateContainerRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if len(m.Update) > 0 { - for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.Adjust != nil { - size, err := m.Adjust.MarshalToSizedBufferVT(dAtA[:i]) + return dAtA[:n], nil +} + +func (m *UpdateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *UpdateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.LinuxResources != nil { + size, err := m.LinuxResources.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -1346,7 +1294,7 @@ func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) return len(dAtA) - i, nil } -func (m *PluginInstance) MarshalVT() (dAtA []byte, err error) { +func (m *UpdateContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1359,12 +1307,12 @@ func (m *PluginInstance) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PluginInstance) MarshalToVT(dAtA []byte) (int, error) { +func (m *UpdateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *PluginInstance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *UpdateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1376,24 +1324,34 @@ func (m *PluginInstance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Index) > 0 { - i -= len(m.Index) - copy(dAtA[i:], m.Index) - i = encodeVarint(dAtA, i, uint64(len(m.Index))) - i-- - dAtA[i] = 0x12 + if len(m.Evict) > 0 { + for iNdEx := len(m.Evict) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Evict[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa + if len(m.Update) > 0 { + for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *ValidateContainerAdjustmentResponse) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdateContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1406,12 +1364,12 @@ func (m *ValidateContainerAdjustmentResponse) MarshalVT() (dAtA []byte, err erro return dAtA[:n], nil } -func (m *ValidateContainerAdjustmentResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdateContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ValidateContainerAdjustmentResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdateContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1423,27 +1381,30 @@ func (m *ValidateContainerAdjustmentResponse) MarshalToSizedBufferVT(dAtA []byte i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarint(dAtA, i, uint64(len(m.Reason))) + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } - if m.Reject { - i-- - if m.Reject { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Empty) MarshalVT() (dAtA []byte, err error) { +func (m *PostUpdateContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1456,12 +1417,12 @@ func (m *Empty) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Empty) MarshalToVT(dAtA []byte) (int, error) { +func (m *PostUpdateContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PostUpdateContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1476,7 +1437,7 @@ func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *PodSandbox) MarshalVT() (dAtA []byte, err error) { +func (m *StopContainerRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1489,12 +1450,12 @@ func (m *PodSandbox) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *PodSandbox) MarshalToVT(dAtA []byte) (int, error) { +func (m *StopContainerRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *PodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StopContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1506,107 +1467,30 @@ func (m *PodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Ips) > 0 { - for iNdEx := len(m.Ips) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Ips[iNdEx]) - copy(dAtA[i:], m.Ips[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Ips[iNdEx]))) - i-- - dAtA[i] = 0x52 - } - } - if m.Pid != 0 { - i = encodeVarint(dAtA, i, uint64(m.Pid)) - i-- - dAtA[i] = 0x48 - } - if m.Linux != nil { - size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 - } - if len(m.RuntimeHandler) > 0 { - i -= len(m.RuntimeHandler) - copy(dAtA[i:], m.RuntimeHandler) - i = encodeVarint(dAtA, i, uint64(len(m.RuntimeHandler))) - i-- - dAtA[i] = 0x3a - } - if len(m.Annotations) > 0 { - for k := range m.Annotations { - v := m.Annotations[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x32 - } - } - if len(m.Labels) > 0 { - for k := range m.Labels { - v := m.Labels[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x2a - } - } - if len(m.Namespace) > 0 { - i -= len(m.Namespace) - copy(dAtA[i:], m.Namespace) - i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) - i-- - dAtA[i] = 0x22 - } - if len(m.Uid) > 0 { - i -= len(m.Uid) - copy(dAtA[i:], m.Uid) - i = encodeVarint(dAtA, i, uint64(len(m.Uid))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) - i-- dAtA[i] = 0x12 } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxPodSandbox) MarshalVT() (dAtA []byte, err error) { +func (m *StopContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1619,12 +1503,12 @@ func (m *LinuxPodSandbox) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxPodSandbox) MarshalToVT(dAtA []byte) (int, error) { +func (m *StopContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxPodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *StopContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1636,44 +1520,53 @@ func (m *LinuxPodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Resources != nil { - size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if len(m.Namespaces) > 0 { - for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if len(m.Update) > 0 { + for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0xa } } - if len(m.CgroupsPath) > 0 { - i -= len(m.CgroupsPath) - copy(dAtA[i:], m.CgroupsPath) - i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) - i-- - dAtA[i] = 0x22 + return len(dAtA) - i, nil +} + +func (m *RemoveContainerRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if len(m.CgroupParent) > 0 { - i -= len(m.CgroupParent) - copy(dAtA[i:], m.CgroupParent) - i = encodeVarint(dAtA, i, uint64(len(m.CgroupParent))) - i-- - dAtA[i] = 0x1a + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.PodResources != nil { - size, err := m.PodResources.MarshalToSizedBufferVT(dAtA[:i]) + return dAtA[:n], nil +} + +func (m *RemoveContainerRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RemoveContainerRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -1682,8 +1575,8 @@ func (m *LinuxPodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x12 } - if m.PodOverhead != nil { - size, err := m.PodOverhead.MarshalToSizedBufferVT(dAtA[:i]) + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -1695,7 +1588,7 @@ func (m *LinuxPodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *Container) MarshalVT() (dAtA []byte, err error) { +func (m *RemoveContainerResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -1708,12 +1601,12 @@ func (m *Container) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Container) MarshalToVT(dAtA []byte) (int, error) { +func (m *RemoveContainerResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Container) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *RemoveContainerResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1725,227 +1618,183 @@ func (m *Container) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.User != nil { - size, err := m.User.MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *StateChangeEvent) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *StateChangeEvent) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *StateChangeEvent) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1 + dAtA[i] = 0x1a + } + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xaa + dAtA[i] = 0x12 } - if len(m.CDIDevices) > 0 { - for iNdEx := len(m.CDIDevices) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.CDIDevices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if m.Event != 0 { + i = encodeVarint(dAtA, i, uint64(m.Event)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *ValidateContainerAdjustmentRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ValidateContainerAdjustmentRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ValidateContainerAdjustmentRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Plugins) > 0 { + for iNdEx := len(m.Plugins) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Plugins[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xa2 + dAtA[i] = 0x32 } } - if len(m.StatusMessage) > 0 { - i -= len(m.StatusMessage) - copy(dAtA[i:], m.StatusMessage) - i = encodeVarint(dAtA, i, uint64(len(m.StatusMessage))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x9a - } - if len(m.StatusReason) > 0 { - i -= len(m.StatusReason) - copy(dAtA[i:], m.StatusReason) - i = encodeVarint(dAtA, i, uint64(len(m.StatusReason))) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x92 - } - if m.ExitCode != 0 { - i = encodeVarint(dAtA, i, uint64(m.ExitCode)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x88 - } - if m.FinishedAt != 0 { - i = encodeVarint(dAtA, i, uint64(m.FinishedAt)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x80 - } - if m.StartedAt != 0 { - i = encodeVarint(dAtA, i, uint64(m.StartedAt)) - i-- - dAtA[i] = 0x78 - } - if m.CreatedAt != 0 { - i = encodeVarint(dAtA, i, uint64(m.CreatedAt)) + if m.Owners != nil { + size, err := m.Owners.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x70 + dAtA[i] = 0x2a } - if len(m.Rlimits) > 0 { - for iNdEx := len(m.Rlimits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Rlimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if len(m.Update) > 0 { + for iNdEx := len(m.Update) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Update[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x6a + dAtA[i] = 0x22 } } - if m.Pid != 0 { - i = encodeVarint(dAtA, i, uint64(m.Pid)) + if m.Adjust != nil { + size, err := m.Adjust.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x60 + dAtA[i] = 0x1a } - if m.Linux != nil { - size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) + if m.Container != nil { + size, err := m.Container.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x5a + dAtA[i] = 0x12 } - if m.Hooks != nil { - size, err := m.Hooks.MarshalToSizedBufferVT(dAtA[:i]) + if m.Pod != nil { + size, err := m.Pod.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x52 + dAtA[i] = 0xa } - if len(m.Mounts) > 0 { - for iNdEx := len(m.Mounts) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Mounts[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } + return len(dAtA) - i, nil +} + +func (m *PluginInstance) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if len(m.Env) > 0 { - for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Env[iNdEx]) - copy(dAtA[i:], m.Env[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Env[iNdEx]))) - i-- - dAtA[i] = 0x42 - } - } - if len(m.Args) > 0 { - for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Args[iNdEx]) - copy(dAtA[i:], m.Args[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) - i-- - dAtA[i] = 0x3a - } - } - if len(m.Annotations) > 0 { - for k := range m.Annotations { - v := m.Annotations[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x32 - } - } - if len(m.Labels) > 0 { - for k := range m.Labels { - v := m.Labels[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x2a - } - } - if m.State != 0 { - i = encodeVarint(dAtA, i, uint64(m.State)) - i-- - dAtA[i] = 0x20 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x1a - } - if len(m.PodSandboxId) > 0 { - i -= len(m.PodSandboxId) - copy(dAtA[i:], m.PodSandboxId) - i = encodeVarint(dAtA, i, uint64(len(m.PodSandboxId))) - i-- - dAtA[i] = 0x12 - } - if len(m.Id) > 0 { - i -= len(m.Id) - copy(dAtA[i:], m.Id) - i = encodeVarint(dAtA, i, uint64(len(m.Id))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Mount) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } return dAtA[:n], nil } -func (m *Mount) MarshalToVT(dAtA []byte) (int, error) { +func (m *PluginInstance) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Mount) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PluginInstance) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -1957,40 +1806,24 @@ func (m *Mount) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Options) > 0 { - for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Options[iNdEx]) - copy(dAtA[i:], m.Options[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Options[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(m.Source) > 0 { - i -= len(m.Source) - copy(dAtA[i:], m.Source) - i = encodeVarint(dAtA, i, uint64(len(m.Source))) - i-- - dAtA[i] = 0x1a - } - if len(m.Type) > 0 { - i -= len(m.Type) - copy(dAtA[i:], m.Type) - i = encodeVarint(dAtA, i, uint64(len(m.Type))) + if len(m.Index) > 0 { + i -= len(m.Index) + copy(dAtA[i:], m.Index) + i = encodeVarint(dAtA, i, uint64(len(m.Index))) i-- dAtA[i] = 0x12 } - if len(m.Destination) > 0 { - i -= len(m.Destination) - copy(dAtA[i:], m.Destination) - i = encodeVarint(dAtA, i, uint64(len(m.Destination))) + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *Hooks) MarshalVT() (dAtA []byte, err error) { +func (m *ValidateContainerAdjustmentResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2003,12 +1836,12 @@ func (m *Hooks) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Hooks) MarshalToVT(dAtA []byte) (int, error) { +func (m *ValidateContainerAdjustmentResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Hooks) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ValidateContainerAdjustmentResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2020,82 +1853,27 @@ func (m *Hooks) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Poststop) > 0 { - for iNdEx := len(m.Poststop) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Poststop[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - } - if len(m.Poststart) > 0 { - for iNdEx := len(m.Poststart) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Poststart[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - } - if len(m.StartContainer) > 0 { - for iNdEx := len(m.StartContainer) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.StartContainer[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - } - if len(m.CreateContainer) > 0 { - for iNdEx := len(m.CreateContainer) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.CreateContainer[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - } - if len(m.CreateRuntime) > 0 { - for iNdEx := len(m.CreateRuntime) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.CreateRuntime[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarint(dAtA, i, uint64(len(m.Reason))) + i-- + dAtA[i] = 0x12 } - if len(m.Prestart) > 0 { - for iNdEx := len(m.Prestart) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Prestart[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + if m.Reject { + i-- + if m.Reject { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *Hook) MarshalVT() (dAtA []byte, err error) { +func (m *Empty) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2108,12 +1886,12 @@ func (m *Hook) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *Hook) MarshalToVT(dAtA []byte) (int, error) { +func (m *Empty) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *Hook) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Empty) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2125,45 +1903,10 @@ func (m *Hook) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Timeout != nil { - size, err := m.Timeout.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Env) > 0 { - for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Env[iNdEx]) - copy(dAtA[i:], m.Env[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Env[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if len(m.Args) > 0 { - for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Args[iNdEx]) - copy(dAtA[i:], m.Args[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarint(dAtA, i, uint64(len(m.Path))) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *LinuxContainer) MarshalVT() (dAtA []byte, err error) { +func (m *PodSandbox) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2176,12 +1919,12 @@ func (m *LinuxContainer) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxContainer) MarshalToVT(dAtA []byte) (int, error) { +func (m *PodSandbox) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxContainer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *PodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2193,36 +1936,44 @@ func (m *LinuxContainer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Rdt != nil { - size, err := m.Rdt.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Ips) > 0 { + for iNdEx := len(m.Ips) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Ips[iNdEx]) + copy(dAtA[i:], m.Ips[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Ips[iNdEx]))) + i-- + dAtA[i] = 0x52 } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + } + if m.Pid != 0 { + i = encodeVarint(dAtA, i, uint64(m.Pid)) i-- - dAtA[i] = 0x62 + dAtA[i] = 0x48 } - if m.Scheduler != nil { - size, err := m.Scheduler.MarshalToSizedBufferVT(dAtA[:i]) + if m.Linux != nil { + size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x5a + dAtA[i] = 0x42 } - if len(m.NetDevices) > 0 { - for k := range m.NetDevices { - v := m.NetDevices[k] + if len(m.RuntimeHandler) > 0 { + i -= len(m.RuntimeHandler) + copy(dAtA[i:], m.RuntimeHandler) + i = encodeVarint(dAtA, i, uint64(len(m.RuntimeHandler))) + i-- + dAtA[i] = 0x3a + } + if len(m.Annotations) > 0 { + for k := range m.Annotations { + v := m.Annotations[k] baseI := i - size, err := v.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) i-- dAtA[i] = 0x12 i -= len(k) @@ -2232,12 +1983,12 @@ func (m *LinuxContainer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { dAtA[i] = 0xa i = encodeVarint(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0x52 + dAtA[i] = 0x32 } } - if len(m.Sysctl) > 0 { - for k := range m.Sysctl { - v := m.Sysctl[k] + if len(m.Labels) > 0 { + for k := range m.Labels { + v := m.Labels[k] baseI := i i -= len(v) copy(dAtA[i:], v) @@ -2251,94 +2002,41 @@ func (m *LinuxContainer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { dAtA[i] = 0xa i = encodeVarint(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0x4a - } - } - if m.SeccompPolicy != nil { - size, err := m.SeccompPolicy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.SeccompProfile != nil { - size, err := m.SeccompProfile.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.IoPriority != nil { - size, err := m.IoPriority.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + dAtA[i] = 0x2a } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if len(m.CgroupsPath) > 0 { - i -= len(m.CgroupsPath) - copy(dAtA[i:], m.CgroupsPath) - i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) - i-- - dAtA[i] = 0x2a } - if m.OomScoreAdj != nil { - size, err := m.OomScoreAdj.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Namespace) > 0 { + i -= len(m.Namespace) + copy(dAtA[i:], m.Namespace) + i = encodeVarint(dAtA, i, uint64(len(m.Namespace))) i-- dAtA[i] = 0x22 } - if m.Resources != nil { - size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Uid) > 0 { + i -= len(m.Uid) + copy(dAtA[i:], m.Uid) + i = encodeVarint(dAtA, i, uint64(len(m.Uid))) i-- dAtA[i] = 0x1a } - if len(m.Devices) > 0 { - for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0x12 } - if len(m.Namespaces) > 0 { - for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxNamespace) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxPodSandbox) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2351,12 +2049,12 @@ func (m *LinuxNamespace) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxNamespace) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxPodSandbox) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxNamespace) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxPodSandbox) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2368,24 +2066,66 @@ func (m *LinuxNamespace) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarint(dAtA, i, uint64(len(m.Path))) + if m.Resources != nil { + size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.CgroupsPath) > 0 { + i -= len(m.CgroupsPath) + copy(dAtA[i:], m.CgroupsPath) + i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) + i-- + dAtA[i] = 0x22 + } + if len(m.CgroupParent) > 0 { + i -= len(m.CgroupParent) + copy(dAtA[i:], m.CgroupParent) + i = encodeVarint(dAtA, i, uint64(len(m.CgroupParent))) + i-- + dAtA[i] = 0x1a + } + if m.PodResources != nil { + size, err := m.PodResources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } - if len(m.Type) > 0 { - i -= len(m.Type) - copy(dAtA[i:], m.Type) - i = encodeVarint(dAtA, i, uint64(len(m.Type))) + if m.PodOverhead != nil { + size, err := m.PodOverhead.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxDevice) MarshalVT() (dAtA []byte, err error) { +func (m *Container) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2398,12 +2138,12 @@ func (m *LinuxDevice) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxDevice) MarshalToVT(dAtA []byte) (int, error) { +func (m *Container) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Container) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2415,141 +2155,209 @@ func (m *LinuxDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Gid != nil { - size, err := m.Gid.MarshalToSizedBufferVT(dAtA[:i]) + if m.User != nil { + size, err := m.User.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a - } - if m.Uid != nil { - size, err := m.Uid.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + dAtA[i] = 0x1 i-- - dAtA[i] = 0x32 + dAtA[i] = 0xaa } - if m.FileMode != nil { - size, err := m.FileMode.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.CDIDevices) > 0 { + for iNdEx := len(m.CDIDevices) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CDIDevices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a } - if m.Minor != 0 { - i = encodeVarint(dAtA, i, uint64(m.Minor)) - i-- - dAtA[i] = 0x20 - } - if m.Major != 0 { - i = encodeVarint(dAtA, i, uint64(m.Major)) + if len(m.StatusMessage) > 0 { + i -= len(m.StatusMessage) + copy(dAtA[i:], m.StatusMessage) + i = encodeVarint(dAtA, i, uint64(len(m.StatusMessage))) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x9a } - if len(m.Type) > 0 { - i -= len(m.Type) - copy(dAtA[i:], m.Type) - i = encodeVarint(dAtA, i, uint64(len(m.Type))) + if len(m.StatusReason) > 0 { + i -= len(m.StatusReason) + copy(dAtA[i:], m.StatusReason) + i = encodeVarint(dAtA, i, uint64(len(m.StatusReason))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x92 } - if len(m.Path) > 0 { - i -= len(m.Path) - copy(dAtA[i:], m.Path) - i = encodeVarint(dAtA, i, uint64(len(m.Path))) + if m.ExitCode != 0 { + i = encodeVarint(dAtA, i, uint64(m.ExitCode)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 } - return len(dAtA) - i, nil -} - -func (m *LinuxDeviceCgroup) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if m.FinishedAt != 0 { + i = encodeVarint(dAtA, i, uint64(m.FinishedAt)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if m.StartedAt != 0 { + i = encodeVarint(dAtA, i, uint64(m.StartedAt)) + i-- + dAtA[i] = 0x78 } - return dAtA[:n], nil -} - -func (m *LinuxDeviceCgroup) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *LinuxDeviceCgroup) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.CreatedAt != 0 { + i = encodeVarint(dAtA, i, uint64(m.CreatedAt)) + i-- + dAtA[i] = 0x70 } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(m.Rlimits) > 0 { + for iNdEx := len(m.Rlimits) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Rlimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x6a + } } - if len(m.Access) > 0 { - i -= len(m.Access) - copy(dAtA[i:], m.Access) - i = encodeVarint(dAtA, i, uint64(len(m.Access))) + if m.Pid != 0 { + i = encodeVarint(dAtA, i, uint64(m.Pid)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x60 } - if m.Minor != nil { - size, err := m.Minor.MarshalToSizedBufferVT(dAtA[:i]) + if m.Linux != nil { + size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x5a } - if m.Major != nil { - size, err := m.Major.MarshalToSizedBufferVT(dAtA[:i]) + if m.Hooks != nil { + size, err := m.Hooks.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x52 + } + if len(m.Mounts) > 0 { + for iNdEx := len(m.Mounts) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Mounts[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + } + if len(m.Env) > 0 { + for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Env[iNdEx]) + copy(dAtA[i:], m.Env[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Env[iNdEx]))) + i-- + dAtA[i] = 0x42 + } + } + if len(m.Args) > 0 { + for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Args[iNdEx]) + copy(dAtA[i:], m.Args[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) + i-- + dAtA[i] = 0x3a + } + } + if len(m.Annotations) > 0 { + for k := range m.Annotations { + v := m.Annotations[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x32 + } + } + if len(m.Labels) > 0 { + for k := range m.Labels { + v := m.Labels[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x2a + } + } + if m.State != 0 { + i = encodeVarint(dAtA, i, uint64(m.State)) + i-- + dAtA[i] = 0x20 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) + i-- dAtA[i] = 0x1a } - if len(m.Type) > 0 { - i -= len(m.Type) - copy(dAtA[i:], m.Type) - i = encodeVarint(dAtA, i, uint64(len(m.Type))) + if len(m.PodSandboxId) > 0 { + i -= len(m.PodSandboxId) + copy(dAtA[i:], m.PodSandboxId) + i = encodeVarint(dAtA, i, uint64(len(m.PodSandboxId))) i-- dAtA[i] = 0x12 } - if m.Allow { - i-- - if m.Allow { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + if len(m.Id) > 0 { + i -= len(m.Id) + copy(dAtA[i:], m.Id) + i = encodeVarint(dAtA, i, uint64(len(m.Id))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *CDIDevice) MarshalVT() (dAtA []byte, err error) { +func (m *Mount) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2562,12 +2370,12 @@ func (m *CDIDevice) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CDIDevice) MarshalToVT(dAtA []byte) (int, error) { +func (m *Mount) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CDIDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Mount) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2579,17 +2387,40 @@ func (m *CDIDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) + if len(m.Options) > 0 { + for iNdEx := len(m.Options) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Options[iNdEx]) + copy(dAtA[i:], m.Options[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Options[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Source) > 0 { + i -= len(m.Source) + copy(dAtA[i:], m.Source) + i = encodeVarint(dAtA, i, uint64(len(m.Source))) + i-- + dAtA[i] = 0x1a + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) + i-- + dAtA[i] = 0x12 + } + if len(m.Destination) > 0 { + i -= len(m.Destination) + copy(dAtA[i:], m.Destination) + i = encodeVarint(dAtA, i, uint64(len(m.Destination))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *User) MarshalVT() (dAtA []byte, err error) { +func (m *Hooks) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2602,12 +2433,12 @@ func (m *User) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *User) MarshalToVT(dAtA []byte) (int, error) { +func (m *Hooks) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *User) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Hooks) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2619,40 +2450,82 @@ func (m *User) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.AdditionalGids) > 0 { - var pksize2 int - for _, num := range m.AdditionalGids { - pksize2 += sov(uint64(num)) - } - i -= pksize2 - j1 := i - for _, num := range m.AdditionalGids { - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ + if len(m.Poststop) > 0 { + for iNdEx := len(m.Poststop) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Poststop[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } - dAtA[j1] = uint8(num) - j1++ + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } - i = encodeVarint(dAtA, i, uint64(pksize2)) - i-- - dAtA[i] = 0x1a } - if m.Gid != 0 { - i = encodeVarint(dAtA, i, uint64(m.Gid)) - i-- - dAtA[i] = 0x10 + if len(m.Poststart) > 0 { + for iNdEx := len(m.Poststart) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Poststart[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } } - if m.Uid != 0 { - i = encodeVarint(dAtA, i, uint64(m.Uid)) - i-- - dAtA[i] = 0x8 + if len(m.StartContainer) > 0 { + for iNdEx := len(m.StartContainer) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.StartContainer[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.CreateContainer) > 0 { + for iNdEx := len(m.CreateContainer) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CreateContainer[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if len(m.CreateRuntime) > 0 { + for iNdEx := len(m.CreateRuntime) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CreateRuntime[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Prestart) > 0 { + for iNdEx := len(m.Prestart) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Prestart[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *LinuxResources) MarshalVT() (dAtA []byte, err error) { +func (m *Hook) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2665,12 +2538,12 @@ func (m *LinuxResources) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxResources) MarshalToVT(dAtA []byte) (int, error) { +func (m *Hook) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxResources) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Hook) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2682,59 +2555,8 @@ func (m *LinuxResources) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Pids != nil { - size, err := m.Pids.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if len(m.Devices) > 0 { - for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - } - if len(m.Unified) > 0 { - for k := range m.Unified { - v := m.Unified[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x32 - } - } - if m.RdtClass != nil { - size, err := m.RdtClass.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if m.BlockioClass != nil { - size, err := m.BlockioClass.MarshalToSizedBufferVT(dAtA[:i]) + if m.Timeout != nil { + size, err := m.Timeout.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } @@ -2743,42 +2565,35 @@ func (m *LinuxResources) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i-- dAtA[i] = 0x22 } - if len(m.HugepageLimits) > 0 { - for iNdEx := len(m.HugepageLimits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.HugepageLimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Env) > 0 { + for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Env[iNdEx]) + copy(dAtA[i:], m.Env[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Env[iNdEx]))) i-- dAtA[i] = 0x1a } } - if m.Cpu != nil { - size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Args) > 0 { + for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Args[iNdEx]) + copy(dAtA[i:], m.Args[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) + i-- + dAtA[i] = 0x12 } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 } - if m.Memory != nil { - size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Path) > 0 { + i -= len(m.Path) + copy(dAtA[i:], m.Path) + i = encodeVarint(dAtA, i, uint64(len(m.Path))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxMemory) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxContainer) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2791,12 +2606,12 @@ func (m *LinuxMemory) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxMemory) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxContainer) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxMemory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxContainer) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2808,90 +2623,152 @@ func (m *LinuxMemory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.UseHierarchy != nil { - size, err := m.UseHierarchy.MarshalToSizedBufferVT(dAtA[:i]) + if m.Rdt != nil { + size, err := m.Rdt.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 + dAtA[i] = 0x62 } - if m.DisableOomKiller != nil { - size, err := m.DisableOomKiller.MarshalToSizedBufferVT(dAtA[:i]) + if m.Scheduler != nil { + size, err := m.Scheduler.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x5a } - if m.Swappiness != nil { - size, err := m.Swappiness.MarshalToSizedBufferVT(dAtA[:i]) + if len(m.NetDevices) > 0 { + for k := range m.NetDevices { + v := m.NetDevices[k] + baseI := i + size, err := v.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x52 + } + } + if len(m.Sysctl) > 0 { + for k := range m.Sysctl { + v := m.Sysctl[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x4a + } + } + if m.SeccompPolicy != nil { + size, err := m.SeccompPolicy.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 + dAtA[i] = 0x42 } - if m.KernelTcp != nil { - size, err := m.KernelTcp.MarshalToSizedBufferVT(dAtA[:i]) + if m.SeccompProfile != nil { + size, err := m.SeccompProfile.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x3a } - if m.Kernel != nil { - size, err := m.Kernel.MarshalToSizedBufferVT(dAtA[:i]) + if m.IoPriority != nil { + size, err := m.IoPriority.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x32 } - if m.Swap != nil { - size, err := m.Swap.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.CgroupsPath) > 0 { + i -= len(m.CgroupsPath) + copy(dAtA[i:], m.CgroupsPath) + i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x2a } - if m.Reservation != nil { - size, err := m.Reservation.MarshalToSizedBufferVT(dAtA[:i]) + if m.OomScoreAdj != nil { + size, err := m.OomScoreAdj.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x22 } - if m.Limit != nil { - size, err := m.Limit.MarshalToSizedBufferVT(dAtA[:i]) + if m.Resources != nil { + size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x1a + } + if len(m.Devices) > 0 { + for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *LinuxCPU) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxNamespace) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2904,12 +2781,12 @@ func (m *LinuxCPU) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxCPU) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxNamespace) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxCPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxNamespace) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2921,74 +2798,111 @@ func (m *LinuxCPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Mems) > 0 { - i -= len(m.Mems) - copy(dAtA[i:], m.Mems) - i = encodeVarint(dAtA, i, uint64(len(m.Mems))) + if len(m.Path) > 0 { + i -= len(m.Path) + copy(dAtA[i:], m.Path) + i = encodeVarint(dAtA, i, uint64(len(m.Path))) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x12 } - if len(m.Cpus) > 0 { - i -= len(m.Cpus) - copy(dAtA[i:], m.Cpus) - i = encodeVarint(dAtA, i, uint64(len(m.Cpus))) + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) i-- - dAtA[i] = 0x32 + dAtA[i] = 0xa } - if m.RealtimePeriod != nil { - size, err := m.RealtimePeriod.MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *LinuxDevice) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *LinuxDevice) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *LinuxDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Gid != nil { + size, err := m.Gid.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x3a } - if m.RealtimeRuntime != nil { - size, err := m.RealtimeRuntime.MarshalToSizedBufferVT(dAtA[:i]) + if m.Uid != nil { + size, err := m.Uid.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x32 } - if m.Period != nil { - size, err := m.Period.MarshalToSizedBufferVT(dAtA[:i]) + if m.FileMode != nil { + size, err := m.FileMode.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x2a } - if m.Quota != nil { - size, err := m.Quota.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if m.Minor != 0 { + i = encodeVarint(dAtA, i, uint64(m.Minor)) + i-- + dAtA[i] = 0x20 + } + if m.Major != 0 { + i = encodeVarint(dAtA, i, uint64(m.Major)) + i-- + dAtA[i] = 0x18 + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) i-- dAtA[i] = 0x12 } - if m.Shares != nil { - size, err := m.Shares.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Path) > 0 { + i -= len(m.Path) + copy(dAtA[i:], m.Path) + i = encodeVarint(dAtA, i, uint64(len(m.Path))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *HugepageLimit) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxDeviceCgroup) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3001,12 +2915,12 @@ func (m *HugepageLimit) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *HugepageLimit) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxDeviceCgroup) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *HugepageLimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxDeviceCgroup) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3018,22 +2932,54 @@ func (m *HugepageLimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Limit != 0 { - i = encodeVarint(dAtA, i, uint64(m.Limit)) + if len(m.Access) > 0 { + i -= len(m.Access) + copy(dAtA[i:], m.Access) + i = encodeVarint(dAtA, i, uint64(len(m.Access))) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x2a } - if len(m.PageSize) > 0 { - i -= len(m.PageSize) - copy(dAtA[i:], m.PageSize) - i = encodeVarint(dAtA, i, uint64(len(m.PageSize))) + if m.Minor != nil { + size, err := m.Minor.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x22 + } + if m.Major != nil { + size, err := m.Major.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) + i-- + dAtA[i] = 0x12 + } + if m.Allow { + i-- + if m.Allow { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *SecurityProfile) MarshalVT() (dAtA []byte, err error) { +func (m *CDIDevice) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3046,12 +2992,12 @@ func (m *SecurityProfile) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *SecurityProfile) MarshalToVT(dAtA []byte) (int, error) { +func (m *CDIDevice) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *SecurityProfile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *CDIDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3063,22 +3009,17 @@ func (m *SecurityProfile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.LocalhostRef) > 0 { - i -= len(m.LocalhostRef) - copy(dAtA[i:], m.LocalhostRef) - i = encodeVarint(dAtA, i, uint64(len(m.LocalhostRef))) - i-- - dAtA[i] = 0x12 - } - if m.ProfileType != 0 { - i = encodeVarint(dAtA, i, uint64(m.ProfileType)) + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *POSIXRlimit) MarshalVT() (dAtA []byte, err error) { +func (m *User) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3091,12 +3032,12 @@ func (m *POSIXRlimit) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *POSIXRlimit) MarshalToVT(dAtA []byte) (int, error) { +func (m *User) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *POSIXRlimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *User) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3108,27 +3049,40 @@ func (m *POSIXRlimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Soft != 0 { - i = encodeVarint(dAtA, i, uint64(m.Soft)) - i-- - dAtA[i] = 0x18 - } - if m.Hard != 0 { - i = encodeVarint(dAtA, i, uint64(m.Hard)) - i-- - dAtA[i] = 0x10 - } - if len(m.Type) > 0 { - i -= len(m.Type) - copy(dAtA[i:], m.Type) - i = encodeVarint(dAtA, i, uint64(len(m.Type))) + if len(m.AdditionalGids) > 0 { + var pksize2 int + for _, num := range m.AdditionalGids { + pksize2 += sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num := range m.AdditionalGids { + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ + } + i = encodeVarint(dAtA, i, uint64(pksize2)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x1a + } + if m.Gid != 0 { + i = encodeVarint(dAtA, i, uint64(m.Gid)) + i-- + dAtA[i] = 0x10 + } + if m.Uid != 0 { + i = encodeVarint(dAtA, i, uint64(m.Uid)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *LinuxPids) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxResources) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3141,12 +3095,12 @@ func (m *LinuxPids) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxPids) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxResources) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxPids) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxResources) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3158,58 +3112,103 @@ func (m *LinuxPids) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Limit != 0 { - i = encodeVarint(dAtA, i, uint64(m.Limit)) + if m.Pids != nil { + size, err := m.Pids.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x42 } - return len(dAtA) - i, nil -} - -func (m *LinuxIOPriority) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if len(m.Devices) > 0 { + for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if len(m.Unified) > 0 { + for k := range m.Unified { + v := m.Unified[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x32 + } } - return dAtA[:n], nil -} - -func (m *LinuxIOPriority) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *LinuxIOPriority) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.RdtClass != nil { + size, err := m.RdtClass.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if m.BlockioClass != nil { + size, err := m.BlockioClass.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 } - if m.Priority != 0 { - i = encodeVarint(dAtA, i, uint64(m.Priority)) + if len(m.HugepageLimits) > 0 { + for iNdEx := len(m.HugepageLimits) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.HugepageLimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + } + if m.Cpu != nil { + size, err := m.Cpu.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if m.Class != 0 { - i = encodeVarint(dAtA, i, uint64(m.Class)) + if m.Memory != nil { + size, err := m.Memory.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxNetDevice) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxMemory) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3222,12 +3221,12 @@ func (m *LinuxNetDevice) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxNetDevice) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxMemory) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxNetDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxMemory) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3239,17 +3238,90 @@ func (m *LinuxNetDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = encodeVarint(dAtA, i, uint64(len(m.Name))) + if m.UseHierarchy != nil { + size, err := m.UseHierarchy.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.DisableOomKiller != nil { + size, err := m.DisableOomKiller.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.Swappiness != nil { + size, err := m.Swappiness.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.KernelTcp != nil { + size, err := m.KernelTcp.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.Kernel != nil { + size, err := m.Kernel.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Swap != nil { + size, err := m.Swap.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Reservation != nil { + size, err := m.Reservation.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.Limit != nil { + size, err := m.Limit.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxScheduler) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxCPU) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3262,12 +3334,12 @@ func (m *LinuxScheduler) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxScheduler) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxCPU) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxScheduler) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxCPU) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3279,61 +3351,74 @@ func (m *LinuxScheduler) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Period != 0 { - i = encodeVarint(dAtA, i, uint64(m.Period)) - i-- - dAtA[i] = 0x38 - } - if m.Deadline != 0 { - i = encodeVarint(dAtA, i, uint64(m.Deadline)) + if len(m.Mems) > 0 { + i -= len(m.Mems) + copy(dAtA[i:], m.Mems) + i = encodeVarint(dAtA, i, uint64(len(m.Mems))) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x3a } - if m.Runtime != 0 { - i = encodeVarint(dAtA, i, uint64(m.Runtime)) + if len(m.Cpus) > 0 { + i -= len(m.Cpus) + copy(dAtA[i:], m.Cpus) + i = encodeVarint(dAtA, i, uint64(len(m.Cpus))) i-- - dAtA[i] = 0x28 + dAtA[i] = 0x32 } - if len(m.Flags) > 0 { - var pksize2 int - for _, num := range m.Flags { - pksize2 += sov(uint64(num)) + if m.RealtimePeriod != nil { + size, err := m.RealtimePeriod.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } - i -= pksize2 - j1 := i - for _, num1 := range m.Flags { - num := uint64(num1) - for num >= 1<<7 { - dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) - num >>= 7 - j1++ - } - dAtA[j1] = uint8(num) - j1++ + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.RealtimeRuntime != nil { + size, err := m.RealtimeRuntime.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } - i = encodeVarint(dAtA, i, uint64(pksize2)) + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x22 } - if m.Priority != 0 { - i = encodeVarint(dAtA, i, uint64(m.Priority)) + if m.Period != nil { + size, err := m.Period.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x18 + dAtA[i] = 0x1a } - if m.Nice != 0 { - i = encodeVarint(dAtA, i, uint64(m.Nice)) + if m.Quota != nil { + size, err := m.Quota.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x12 } - if m.Policy != 0 { - i = encodeVarint(dAtA, i, uint64(m.Policy)) + if m.Shares != nil { + size, err := m.Shares.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ContainerAdjustment) MarshalVT() (dAtA []byte, err error) { +func (m *HugepageLimit) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3346,12 +3431,12 @@ func (m *ContainerAdjustment) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContainerAdjustment) MarshalToVT(dAtA []byte) (int, error) { +func (m *HugepageLimit) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *HugepageLimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3363,106 +3448,67 @@ func (m *ContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Args) > 0 { - for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Args[iNdEx]) - copy(dAtA[i:], m.Args[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) - i-- - dAtA[i] = 0x4a - } + if m.Limit != 0 { + i = encodeVarint(dAtA, i, uint64(m.Limit)) + i-- + dAtA[i] = 0x10 } - if len(m.CDIDevices) > 0 { - for iNdEx := len(m.CDIDevices) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.CDIDevices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } + if len(m.PageSize) > 0 { + i -= len(m.PageSize) + copy(dAtA[i:], m.PageSize) + i = encodeVarint(dAtA, i, uint64(len(m.PageSize))) + i-- + dAtA[i] = 0xa } - if len(m.Rlimits) > 0 { - for iNdEx := len(m.Rlimits) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Rlimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } + return len(dAtA) - i, nil +} + +func (m *SecurityProfile) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.Linux != nil { - size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - if m.Hooks != nil { - size, err := m.Hooks.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a + return dAtA[:n], nil +} + +func (m *SecurityProfile) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *SecurityProfile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if len(m.Env) > 0 { - for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Env[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if len(m.Mounts) > 0 { - for iNdEx := len(m.Mounts) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Mounts[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } + if len(m.LocalhostRef) > 0 { + i -= len(m.LocalhostRef) + copy(dAtA[i:], m.LocalhostRef) + i = encodeVarint(dAtA, i, uint64(len(m.LocalhostRef))) + i-- + dAtA[i] = 0x12 } - if len(m.Annotations) > 0 { - for k := range m.Annotations { - v := m.Annotations[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x12 - } + if m.ProfileType != 0 { + i = encodeVarint(dAtA, i, uint64(m.ProfileType)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *LinuxContainerAdjustment) MarshalVT() (dAtA []byte, err error) { +func (m *POSIXRlimit) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3475,12 +3521,12 @@ func (m *LinuxContainerAdjustment) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxContainerAdjustment) MarshalToVT(dAtA []byte) (int, error) { +func (m *POSIXRlimit) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *POSIXRlimit) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3492,142 +3538,27 @@ func (m *LinuxContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, err i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Rdt != nil { - size, err := m.Rdt.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if m.Soft != 0 { + i = encodeVarint(dAtA, i, uint64(m.Soft)) i-- - dAtA[i] = 0x5a + dAtA[i] = 0x18 } - if m.Scheduler != nil { - size, err := m.Scheduler.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if m.Hard != 0 { + i = encodeVarint(dAtA, i, uint64(m.Hard)) i-- - dAtA[i] = 0x52 + dAtA[i] = 0x10 } - if len(m.NetDevices) > 0 { - for k := range m.NetDevices { - v := m.NetDevices[k] - baseI := i - size, err := v.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x4a - } - } - if len(m.Sysctl) > 0 { - for k := range m.Sysctl { - v := m.Sysctl[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x42 - } - } - if len(m.Namespaces) > 0 { - for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - } - if m.SeccompPolicy != nil { - size, err := m.SeccompPolicy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.IoPriority != nil { - size, err := m.IoPriority.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if m.OomScoreAdj != nil { - size, err := m.OomScoreAdj.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.CgroupsPath) > 0 { - i -= len(m.CgroupsPath) - copy(dAtA[i:], m.CgroupsPath) - i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) - i-- - dAtA[i] = 0x1a - } - if m.Resources != nil { - size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if len(m.Type) > 0 { + i -= len(m.Type) + copy(dAtA[i:], m.Type) + i = encodeVarint(dAtA, i, uint64(len(m.Type))) i-- - dAtA[i] = 0x12 - } - if len(m.Devices) > 0 { - for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *LinuxSeccomp) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxPids) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3640,12 +3571,12 @@ func (m *LinuxSeccomp) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxSeccomp) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxPids) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxSeccomp) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxPids) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3657,71 +3588,15 @@ func (m *LinuxSeccomp) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Syscalls) > 0 { - for iNdEx := len(m.Syscalls) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Syscalls[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - } - if len(m.ListenerMetadata) > 0 { - i -= len(m.ListenerMetadata) - copy(dAtA[i:], m.ListenerMetadata) - i = encodeVarint(dAtA, i, uint64(len(m.ListenerMetadata))) - i-- - dAtA[i] = 0x32 - } - if len(m.ListenerPath) > 0 { - i -= len(m.ListenerPath) - copy(dAtA[i:], m.ListenerPath) - i = encodeVarint(dAtA, i, uint64(len(m.ListenerPath))) - i-- - dAtA[i] = 0x2a - } - if len(m.Flags) > 0 { - for iNdEx := len(m.Flags) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Flags[iNdEx]) - copy(dAtA[i:], m.Flags[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Flags[iNdEx]))) - i-- - dAtA[i] = 0x22 - } - } - if len(m.Architectures) > 0 { - for iNdEx := len(m.Architectures) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Architectures[iNdEx]) - copy(dAtA[i:], m.Architectures[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Architectures[iNdEx]))) - i-- - dAtA[i] = 0x1a - } - } - if m.DefaultErrno != nil { - size, err := m.DefaultErrno.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if len(m.DefaultAction) > 0 { - i -= len(m.DefaultAction) - copy(dAtA[i:], m.DefaultAction) - i = encodeVarint(dAtA, i, uint64(len(m.DefaultAction))) + if m.Limit != 0 { + i = encodeVarint(dAtA, i, uint64(m.Limit)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *LinuxSyscall) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxIOPriority) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3734,12 +3609,12 @@ func (m *LinuxSyscall) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxSyscall) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxIOPriority) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxSyscall) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxIOPriority) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3751,48 +3626,20 @@ func (m *LinuxSyscall) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Args) > 0 { - for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Args[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - } - if m.ErrnoRet != nil { - size, err := m.ErrnoRet.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if m.Priority != 0 { + i = encodeVarint(dAtA, i, uint64(m.Priority)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x10 } - if len(m.Action) > 0 { - i -= len(m.Action) - copy(dAtA[i:], m.Action) - i = encodeVarint(dAtA, i, uint64(len(m.Action))) + if m.Class != 0 { + i = encodeVarint(dAtA, i, uint64(m.Class)) i-- - dAtA[i] = 0x12 - } - if len(m.Names) > 0 { - for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Names[iNdEx]) - copy(dAtA[i:], m.Names[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx]))) - i-- - dAtA[i] = 0xa - } + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *LinuxSeccompArg) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxNetDevice) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3805,12 +3652,12 @@ func (m *LinuxSeccompArg) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxSeccompArg) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxNetDevice) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxSeccompArg) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxNetDevice) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3822,32 +3669,17 @@ func (m *LinuxSeccompArg) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Op) > 0 { - i -= len(m.Op) - copy(dAtA[i:], m.Op) - i = encodeVarint(dAtA, i, uint64(len(m.Op))) - i-- - dAtA[i] = 0x22 - } - if m.ValueTwo != 0 { - i = encodeVarint(dAtA, i, uint64(m.ValueTwo)) - i-- - dAtA[i] = 0x18 - } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) - i-- - dAtA[i] = 0x10 - } - if m.Index != 0 { - i = encodeVarint(dAtA, i, uint64(m.Index)) + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarint(dAtA, i, uint64(len(m.Name))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ContainerUpdate) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxScheduler) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3860,12 +3692,12 @@ func (m *ContainerUpdate) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ContainerUpdate) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxScheduler) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxScheduler) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3877,37 +3709,61 @@ func (m *ContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.IgnoreFailure { + if m.Period != 0 { + i = encodeVarint(dAtA, i, uint64(m.Period)) i-- - if m.IgnoreFailure { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + dAtA[i] = 0x38 + } + if m.Deadline != 0 { + i = encodeVarint(dAtA, i, uint64(m.Deadline)) + i-- + dAtA[i] = 0x30 + } + if m.Runtime != 0 { + i = encodeVarint(dAtA, i, uint64(m.Runtime)) + i-- + dAtA[i] = 0x28 + } + if len(m.Flags) > 0 { + var pksize2 int + for _, num := range m.Flags { + pksize2 += sov(uint64(num)) + } + i -= pksize2 + j1 := i + for _, num1 := range m.Flags { + num := uint64(num1) + for num >= 1<<7 { + dAtA[j1] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j1++ + } + dAtA[j1] = uint8(num) + j1++ } + i = encodeVarint(dAtA, i, uint64(pksize2)) + i-- + dAtA[i] = 0x22 + } + if m.Priority != 0 { + i = encodeVarint(dAtA, i, uint64(m.Priority)) i-- dAtA[i] = 0x18 } - if m.Linux != nil { - size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) + if m.Nice != 0 { + i = encodeVarint(dAtA, i, uint64(m.Nice)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x10 } - if len(m.ContainerId) > 0 { - i -= len(m.ContainerId) - copy(dAtA[i:], m.ContainerId) - i = encodeVarint(dAtA, i, uint64(len(m.ContainerId))) + if m.Policy != 0 { + i = encodeVarint(dAtA, i, uint64(m.Policy)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *LinuxContainerUpdate) MarshalVT() (dAtA []byte, err error) { +func (m *ContainerAdjustment) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3920,12 +3776,12 @@ func (m *LinuxContainerUpdate) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxContainerUpdate) MarshalToVT(dAtA []byte) (int, error) { +func (m *ContainerAdjustment) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3937,67 +3793,106 @@ func (m *LinuxContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Resources != nil { - size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) + if len(m.Args) > 0 { + for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Args[iNdEx]) + copy(dAtA[i:], m.Args[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Args[iNdEx]))) + i-- + dAtA[i] = 0x4a + } + } + if len(m.CDIDevices) > 0 { + for iNdEx := len(m.CDIDevices) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CDIDevices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + } + if len(m.Rlimits) > 0 { + for iNdEx := len(m.Rlimits) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Rlimits[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + } + if m.Linux != nil { + size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ContainerEviction) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + dAtA[i] = 0x32 } - return dAtA[:n], nil -} - -func (m *ContainerEviction) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ContainerEviction) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.Hooks != nil { + size, err := m.Hooks.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) + if len(m.Env) > 0 { + for iNdEx := len(m.Env) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Env[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } } - if len(m.Reason) > 0 { - i -= len(m.Reason) - copy(dAtA[i:], m.Reason) - i = encodeVarint(dAtA, i, uint64(len(m.Reason))) - i-- - dAtA[i] = 0x12 + if len(m.Mounts) > 0 { + for iNdEx := len(m.Mounts) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Mounts[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } } - if len(m.ContainerId) > 0 { - i -= len(m.ContainerId) - copy(dAtA[i:], m.ContainerId) - i = encodeVarint(dAtA, i, uint64(len(m.ContainerId))) - i-- - dAtA[i] = 0xa + if len(m.Annotations) > 0 { + for k := range m.Annotations { + v := m.Annotations[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x12 + } } return len(dAtA) - i, nil } -func (m *LinuxRdt) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxContainerAdjustment) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4010,12 +3905,12 @@ func (m *LinuxRdt) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *LinuxRdt) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxContainerAdjustment) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *LinuxRdt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxContainerAdjustment) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4027,50 +3922,142 @@ func (m *LinuxRdt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Remove { - i-- - if m.Remove { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - } - if m.EnableMonitoring != nil { - size, err := m.EnableMonitoring.MarshalToSizedBufferVT(dAtA[:i]) + if m.Rdt != nil { + size, err := m.Rdt.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x5a } - if m.Schemata != nil { - size, err := m.Schemata.MarshalToSizedBufferVT(dAtA[:i]) + if m.Scheduler != nil { + size, err := m.Scheduler.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x52 } - if m.ClosId != nil { - size, err := m.ClosId.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.NetDevices) > 0 { + for k := range m.NetDevices { + v := m.NetDevices[k] + baseI := i + size, err := v.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x4a } - i -= size + } + if len(m.Sysctl) > 0 { + for k := range m.Sysctl { + v := m.Sysctl[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x42 + } + } + if len(m.Namespaces) > 0 { + for iNdEx := len(m.Namespaces) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Namespaces[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + } + if m.SeccompPolicy != nil { + size, err := m.SeccompPolicy.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x32 + } + if m.IoPriority != nil { + size, err := m.IoPriority.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.OomScoreAdj != nil { + size, err := m.OomScoreAdj.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if len(m.CgroupsPath) > 0 { + i -= len(m.CgroupsPath) + copy(dAtA[i:], m.CgroupsPath) + i = encodeVarint(dAtA, i, uint64(len(m.CgroupsPath))) + i-- + dAtA[i] = 0x1a + } + if m.Resources != nil { + size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.Devices) > 0 { + for iNdEx := len(m.Devices) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Devices[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *KeyValue) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxSeccomp) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4083,12 +4070,12 @@ func (m *KeyValue) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *KeyValue) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxSeccomp) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *KeyValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxSeccomp) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4100,24 +4087,71 @@ func (m *KeyValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Value) > 0 { - i -= len(m.Value) - copy(dAtA[i:], m.Value) - i = encodeVarint(dAtA, i, uint64(len(m.Value))) + if len(m.Syscalls) > 0 { + for iNdEx := len(m.Syscalls) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Syscalls[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + } + if len(m.ListenerMetadata) > 0 { + i -= len(m.ListenerMetadata) + copy(dAtA[i:], m.ListenerMetadata) + i = encodeVarint(dAtA, i, uint64(len(m.ListenerMetadata))) + i-- + dAtA[i] = 0x32 + } + if len(m.ListenerPath) > 0 { + i -= len(m.ListenerPath) + copy(dAtA[i:], m.ListenerPath) + i = encodeVarint(dAtA, i, uint64(len(m.ListenerPath))) + i-- + dAtA[i] = 0x2a + } + if len(m.Flags) > 0 { + for iNdEx := len(m.Flags) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Flags[iNdEx]) + copy(dAtA[i:], m.Flags[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Flags[iNdEx]))) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Architectures) > 0 { + for iNdEx := len(m.Architectures) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Architectures[iNdEx]) + copy(dAtA[i:], m.Architectures[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Architectures[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if m.DefaultErrno != nil { + size, err := m.DefaultErrno.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0x12 } - if len(m.Key) > 0 { - i -= len(m.Key) - copy(dAtA[i:], m.Key) - i = encodeVarint(dAtA, i, uint64(len(m.Key))) + if len(m.DefaultAction) > 0 { + i -= len(m.DefaultAction) + copy(dAtA[i:], m.DefaultAction) + i = encodeVarint(dAtA, i, uint64(len(m.DefaultAction))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalString) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxSyscall) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4130,12 +4164,12 @@ func (m *OptionalString) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalString) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxSyscall) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalString) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxSyscall) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4147,17 +4181,48 @@ func (m *OptionalString) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Value) > 0 { - i -= len(m.Value) - copy(dAtA[i:], m.Value) - i = encodeVarint(dAtA, i, uint64(len(m.Value))) + if len(m.Args) > 0 { + for iNdEx := len(m.Args) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Args[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if m.ErrnoRet != nil { + size, err := m.ErrnoRet.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x1a + } + if len(m.Action) > 0 { + i -= len(m.Action) + copy(dAtA[i:], m.Action) + i = encodeVarint(dAtA, i, uint64(len(m.Action))) + i-- + dAtA[i] = 0x12 + } + if len(m.Names) > 0 { + for iNdEx := len(m.Names) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Names[iNdEx]) + copy(dAtA[i:], m.Names[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Names[iNdEx]))) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *OptionalRepeatedString) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxSeccompArg) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4170,12 +4235,12 @@ func (m *OptionalRepeatedString) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalRepeatedString) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxSeccompArg) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalRepeatedString) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxSeccompArg) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4187,19 +4252,32 @@ func (m *OptionalRepeatedString) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Value) > 0 { - for iNdEx := len(m.Value) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.Value[iNdEx]) - copy(dAtA[i:], m.Value[iNdEx]) - i = encodeVarint(dAtA, i, uint64(len(m.Value[iNdEx]))) - i-- - dAtA[i] = 0xa - } + if len(m.Op) > 0 { + i -= len(m.Op) + copy(dAtA[i:], m.Op) + i = encodeVarint(dAtA, i, uint64(len(m.Op))) + i-- + dAtA[i] = 0x22 + } + if m.ValueTwo != 0 { + i = encodeVarint(dAtA, i, uint64(m.ValueTwo)) + i-- + dAtA[i] = 0x18 + } + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x10 + } + if m.Index != 0 { + i = encodeVarint(dAtA, i, uint64(m.Index)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *OptionalInt) MarshalVT() (dAtA []byte, err error) { +func (m *ContainerUpdate) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4212,12 +4290,12 @@ func (m *OptionalInt) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalInt) MarshalToVT(dAtA []byte) (int, error) { +func (m *ContainerUpdate) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalInt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4229,16 +4307,38 @@ func (m *OptionalInt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) + if m.IgnoreFailure { i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *OptionalInt32) MarshalVT() (dAtA []byte, err error) { - if m == nil { + if m.IgnoreFailure { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } + if m.Linux != nil { + size, err := m.Linux.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if len(m.ContainerId) > 0 { + i -= len(m.ContainerId) + copy(dAtA[i:], m.ContainerId) + i = encodeVarint(dAtA, i, uint64(len(m.ContainerId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *LinuxContainerUpdate) MarshalVT() (dAtA []byte, err error) { + if m == nil { return nil, nil } size := m.SizeVT() @@ -4250,12 +4350,12 @@ func (m *OptionalInt32) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalInt32) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxContainerUpdate) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxContainerUpdate) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4267,15 +4367,20 @@ func (m *OptionalInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) + if m.Resources != nil { + size, err := m.Resources.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalUInt32) MarshalVT() (dAtA []byte, err error) { +func (m *ContainerEviction) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4288,12 +4393,12 @@ func (m *OptionalUInt32) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalUInt32) MarshalToVT(dAtA []byte) (int, error) { +func (m *ContainerEviction) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalUInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ContainerEviction) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4305,15 +4410,24 @@ func (m *OptionalUInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) + if len(m.Reason) > 0 { + i -= len(m.Reason) + copy(dAtA[i:], m.Reason) + i = encodeVarint(dAtA, i, uint64(len(m.Reason))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x12 + } + if len(m.ContainerId) > 0 { + i -= len(m.ContainerId) + copy(dAtA[i:], m.ContainerId) + i = encodeVarint(dAtA, i, uint64(len(m.ContainerId))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalInt64) MarshalVT() (dAtA []byte, err error) { +func (m *LinuxRdt) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4326,12 +4440,12 @@ func (m *OptionalInt64) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalInt64) MarshalToVT(dAtA []byte) (int, error) { +func (m *LinuxRdt) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *LinuxRdt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4343,15 +4457,50 @@ func (m *OptionalInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) + if m.Remove { i-- - dAtA[i] = 0x8 + if m.Remove { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x20 + } + if m.EnableMonitoring != nil { + size, err := m.EnableMonitoring.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.Schemata != nil { + size, err := m.Schemata.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.ClosId != nil { + size, err := m.ClosId.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalUInt64) MarshalVT() (dAtA []byte, err error) { +func (m *KeyValue) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4364,12 +4513,12 @@ func (m *OptionalUInt64) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalUInt64) MarshalToVT(dAtA []byte) (int, error) { +func (m *KeyValue) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalUInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *KeyValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4381,15 +4530,24 @@ func (m *OptionalUInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarint(dAtA, i, uint64(len(m.Value))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x12 + } + if len(m.Key) > 0 { + i -= len(m.Key) + copy(dAtA[i:], m.Key) + i = encodeVarint(dAtA, i, uint64(len(m.Key))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalBool) MarshalVT() (dAtA []byte, err error) { +func (m *OptionalString) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4402,12 +4560,12 @@ func (m *OptionalBool) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalBool) MarshalToVT(dAtA []byte) (int, error) { +func (m *OptionalString) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalBool) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *OptionalString) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4419,20 +4577,17 @@ func (m *OptionalBool) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value { - i-- - if m.Value { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = encodeVarint(dAtA, i, uint64(len(m.Value))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *OptionalFileMode) MarshalVT() (dAtA []byte, err error) { +func (m *OptionalRepeatedString) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4445,12 +4600,12 @@ func (m *OptionalFileMode) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OptionalFileMode) MarshalToVT(dAtA []byte) (int, error) { +func (m *OptionalRepeatedString) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OptionalFileMode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *OptionalRepeatedString) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4462,15 +4617,19 @@ func (m *OptionalFileMode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.Value != 0 { - i = encodeVarint(dAtA, i, uint64(m.Value)) - i-- - dAtA[i] = 0x8 + if len(m.Value) > 0 { + for iNdEx := len(m.Value) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Value[iNdEx]) + copy(dAtA[i:], m.Value[iNdEx]) + i = encodeVarint(dAtA, i, uint64(len(m.Value[iNdEx]))) + i-- + dAtA[i] = 0xa + } } return len(dAtA) - i, nil } -func (m *CompoundFieldOwners) MarshalVT() (dAtA []byte, err error) { +func (m *OptionalInt) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4483,12 +4642,12 @@ func (m *CompoundFieldOwners) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CompoundFieldOwners) MarshalToVT(dAtA []byte) (int, error) { +func (m *OptionalInt) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CompoundFieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *OptionalInt) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4500,29 +4659,15 @@ func (m *CompoundFieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Owners) > 0 { - for k := range m.Owners { - v := m.Owners[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0xa - } + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *FieldOwners) MarshalVT() (dAtA []byte, err error) { +func (m *OptionalInt32) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4535,12 +4680,12 @@ func (m *FieldOwners) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *FieldOwners) MarshalToVT(dAtA []byte) (int, error) { +func (m *OptionalInt32) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *FieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *OptionalInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4552,47 +4697,15 @@ func (m *FieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Compound) > 0 { - for k := range m.Compound { - v := m.Compound[k] - baseI := i - size, err := v.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - i = encodeVarint(dAtA, i, uint64(k)) - i-- - dAtA[i] = 0x8 - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0x12 - } - } - if len(m.Simple) > 0 { - for k := range m.Simple { - v := m.Simple[k] - baseI := i - i -= len(v) - copy(dAtA[i:], v) - i = encodeVarint(dAtA, i, uint64(len(v))) - i-- - dAtA[i] = 0x12 - i = encodeVarint(dAtA, i, uint64(k)) - i-- - dAtA[i] = 0x8 - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0xa - } + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *OwningPlugins) MarshalVT() (dAtA []byte, err error) { +func (m *OptionalUInt32) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4605,12 +4718,12 @@ func (m *OwningPlugins) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *OwningPlugins) MarshalToVT(dAtA []byte) (int, error) { +func (m *OptionalUInt32) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *OwningPlugins) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *OptionalUInt32) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4622,300 +4735,383 @@ func (m *OwningPlugins) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.Owners) > 0 { - for k := range m.Owners { - v := m.Owners[k] - baseI := i - size, err := v.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - i -= len(k) - copy(dAtA[i:], k) - i = encodeVarint(dAtA, i, uint64(len(k))) - i-- - dAtA[i] = 0xa - i = encodeVarint(dAtA, i, uint64(baseI-i)) - i-- - dAtA[i] = 0xa - } + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func encodeVarint(dAtA []byte, offset int, v uint64) int { - offset -= sov(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *RegisterPluginRequest) SizeVT() (n int) { +func (m *OptionalInt64) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PluginName) - if l > 0 { - n += 1 + l + sov(uint64(l)) + return nil, nil } - l = len(m.PluginIdx) - if l > 0 { - n += 1 + l + sov(uint64(l)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *UpdateContainersRequest) SizeVT() (n int) { +func (m *OptionalInt64) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *OptionalInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if len(m.Update) > 0 { - for _, e := range m.Update { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if len(m.Evict) > 0 { - for _, e := range m.Evict { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *UpdateContainersResponse) SizeVT() (n int) { +func (m *OptionalUInt64) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - if len(m.Failed) > 0 { - for _, e := range m.Failed { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *LogRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Msg) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - if m.Level != 0 { - n += 1 + sov(uint64(m.Level)) - } - n += len(m.unknownFields) - return n +func (m *OptionalUInt64) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ConfigureRequest) SizeVT() (n int) { +func (m *OptionalUInt64) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.Config) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.RuntimeName) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.RuntimeVersion) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - if m.RegistrationTimeout != 0 { - n += 1 + sov(uint64(m.RegistrationTimeout)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.RequestTimeout != 0 { - n += 1 + sov(uint64(m.RequestTimeout)) + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *ConfigureResponse) SizeVT() (n int) { +func (m *OptionalBool) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - if m.Events != 0 { - n += 1 + sov(uint64(m.Events)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *SynchronizeRequest) SizeVT() (n int) { +func (m *OptionalBool) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *OptionalBool) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if len(m.Pods) > 0 { - for _, e := range m.Pods { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if len(m.Containers) > 0 { - for _, e := range m.Containers { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.Value { + i-- + if m.Value { + dAtA[i] = 1 + } else { + dAtA[i] = 0 } + i-- + dAtA[i] = 0x8 } - if m.More { - n += 2 - } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *SynchronizeResponse) SizeVT() (n int) { +func (m *OptionalFileMode) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 - } - var l int - _ = l - if len(m.Update) > 0 { - for _, e := range m.Update { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + return nil, nil } - if m.More { - n += 2 + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *RunPodSandboxRequest) SizeVT() (n int) { +func (m *OptionalFileMode) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *OptionalFileMode) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - n += len(m.unknownFields) - return n + if m.Value != 0 { + i = encodeVarint(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil } -func (m *RunPodSandboxResponse) SizeVT() (n int) { +func (m *CompoundFieldOwners) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - n += len(m.unknownFields) - return n + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -func (m *StopPodSandboxRequest) SizeVT() (n int) { +func (m *CompoundFieldOwners) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CompoundFieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - n += len(m.unknownFields) - return n + if len(m.Owners) > 0 { + for k := range m.Owners { + v := m.Owners[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *StopPodSandboxResponse) SizeVT() (n int) { +func (m *FieldOwners) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - n += len(m.unknownFields) - return n + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil } -func (m *RemovePodSandboxRequest) SizeVT() (n int) { +func (m *FieldOwners) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *FieldOwners) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - n += len(m.unknownFields) - return n + if len(m.Compound) > 0 { + for k := range m.Compound { + v := m.Compound[k] + baseI := i + size, err := v.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + i = encodeVarint(dAtA, i, uint64(k)) + i-- + dAtA[i] = 0x8 + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Simple) > 0 { + for k := range m.Simple { + v := m.Simple[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = encodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i = encodeVarint(dAtA, i, uint64(k)) + i-- + dAtA[i] = 0x8 + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *RemovePodSandboxResponse) SizeVT() (n int) { +func (m *OwningPlugins) MarshalVT() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *OwningPlugins) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *OwningPlugins) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - n += len(m.unknownFields) - return n + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Owners) > 0 { + for k := range m.Owners { + v := m.Owners[k] + baseI := i + size, err := v.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = encodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = encodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil } -func (m *CreateContainerRequest) SizeVT() (n int) { +func encodeVarint(dAtA []byte, offset int, v uint64) int { + offset -= sov(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *RegisterPluginRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() + l = len(m.PluginName) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Container != nil { - l = m.Container.SizeVT() + l = len(m.PluginIdx) + if l > 0 { n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *CreateContainerResponse) SizeVT() (n int) { +func (m *UpdateContainersRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Adjust != nil { - l = m.Adjust.SizeVT() - n += 1 + l + sov(uint64(l)) - } if len(m.Update) > 0 { for _, e := range m.Update { l = e.SizeVT() @@ -4932,42 +5128,14 @@ func (m *CreateContainerResponse) SizeVT() (n int) { return n } -func (m *UpdateContainerRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.Container != nil { - l = m.Container.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.LinuxResources != nil { - l = m.LinuxResources.SizeVT() - n += 1 + l + sov(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateContainerResponse) SizeVT() (n int) { +func (m *UpdateContainersResponse) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Update) > 0 { - for _, e := range m.Update { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } - } - if len(m.Evict) > 0 { - for _, e := range m.Evict { + if len(m.Failed) > 0 { + for _, e := range m.Failed { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } @@ -4976,37 +5144,129 @@ func (m *UpdateContainerResponse) SizeVT() (n int) { return n } -func (m *StopContainerRequest) SizeVT() (n int) { +func (m *LogRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Pod != nil { - l = m.Pod.SizeVT() + l = len(m.Msg) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Container != nil { - l = m.Container.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.Level != 0 { + n += 1 + sov(uint64(m.Level)) } n += len(m.unknownFields) return n } -func (m *StopContainerResponse) SizeVT() (n int) { +func (m *ConfigureRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Update) > 0 { - for _, e := range m.Update { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } - } - n += len(m.unknownFields) + l = len(m.Config) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RuntimeName) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.RuntimeVersion) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.RegistrationTimeout != 0 { + n += 1 + sov(uint64(m.RegistrationTimeout)) + } + if m.RequestTimeout != 0 { + n += 1 + sov(uint64(m.RequestTimeout)) + } + n += len(m.unknownFields) + return n +} + +func (m *ConfigureResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Events != 0 { + n += 1 + sov(uint64(m.Events)) + } + n += len(m.unknownFields) + return n +} + +func (m *SynchronizeRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Pods) > 0 { + for _, e := range m.Pods { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Containers) > 0 { + for _, e := range m.Containers { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.More { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *SynchronizeResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Update) > 0 { + for _, e := range m.Update { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.More { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *RunPodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RunPodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) return n } @@ -5066,28 +5326,55 @@ func (m *PostUpdatePodSandboxResponse) SizeVT() (n int) { return n } -func (m *StateChangeEvent) SizeVT() (n int) { +func (m *StopPodSandboxRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Event != 0 { - n += 1 + sov(uint64(m.Event)) - } if m.Pod != nil { l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Container != nil { - l = m.Container.SizeVT() + n += len(m.unknownFields) + return n +} + +func (m *StopPodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *RemovePodSandboxRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ValidateContainerAdjustmentRequest) SizeVT() (n int) { +func (m *RemovePodSandboxResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *CreateContainerRequest) SizeVT() (n int) { if m == nil { return 0 } @@ -5101,6 +5388,16 @@ func (m *ValidateContainerAdjustmentRequest) SizeVT() (n int) { l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } + n += len(m.unknownFields) + return n +} + +func (m *CreateContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l if m.Adjust != nil { l = m.Adjust.SizeVT() n += 1 + l + sov(uint64(l)) @@ -5111,12 +5408,8 @@ func (m *ValidateContainerAdjustmentRequest) SizeVT() (n int) { n += 1 + l + sov(uint64(l)) } } - if m.Owners != nil { - l = m.Owners.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if len(m.Plugins) > 0 { - for _, e := range m.Plugins { + if len(m.Evict) > 0 { + for _, e := range m.Evict { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } @@ -5125,42 +5418,53 @@ func (m *ValidateContainerAdjustmentRequest) SizeVT() (n int) { return n } -func (m *PluginInstance) SizeVT() (n int) { +func (m *PostCreateContainerRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Name) - if l > 0 { + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.Index) - if l > 0 { + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ValidateContainerAdjustmentResponse) SizeVT() (n int) { +func (m *PostCreateContainerResponse) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Reject { - n += 2 + n += len(m.unknownFields) + return n +} + +func (m *StartContainerRequest) SizeVT() (n int) { + if m == nil { + return 0 } - l = len(m.Reason) - if l > 0 { + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *Empty) SizeVT() (n int) { +func (m *StartContainerResponse) SizeVT() (n int) { if m == nil { return 0 } @@ -5170,273 +5474,219 @@ func (m *Empty) SizeVT() (n int) { return n } -func (m *PodSandbox) SizeVT() (n int) { +func (m *PostStartContainerRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.Uid) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.Namespace) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - if len(m.Labels) > 0 { - for k, v := range m.Labels { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) - } - } - if len(m.Annotations) > 0 { - for k, v := range m.Annotations { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) - } - } - l = len(m.RuntimeHandler) - if l > 0 { + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Linux != nil { - l = m.Linux.SizeVT() + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Pid != 0 { - n += 1 + sov(uint64(m.Pid)) - } - if len(m.Ips) > 0 { - for _, s := range m.Ips { - l = len(s) - n += 1 + l + sov(uint64(l)) - } + n += len(m.unknownFields) + return n +} + +func (m *PostStartContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 } + var l int + _ = l n += len(m.unknownFields) return n } -func (m *LinuxPodSandbox) SizeVT() (n int) { +func (m *UpdateContainerRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.PodOverhead != nil { - l = m.PodOverhead.SizeVT() + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.PodResources != nil { - l = m.PodResources.SizeVT() + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.CgroupParent) - if l > 0 { + if m.LinuxResources != nil { + l = m.LinuxResources.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.CgroupsPath) - if l > 0 { - n += 1 + l + sov(uint64(l)) + n += len(m.unknownFields) + return n +} + +func (m *UpdateContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 } - if len(m.Namespaces) > 0 { - for _, e := range m.Namespaces { + var l int + _ = l + if len(m.Update) > 0 { + for _, e := range m.Update { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } } - if m.Resources != nil { - l = m.Resources.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Evict) > 0 { + for _, e := range m.Evict { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } } n += len(m.unknownFields) return n } -func (m *Container) SizeVT() (n int) { +func (m *PostUpdateContainerRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Id) - if l > 0 { - n += 1 + l + sov(uint64(l)) - } - l = len(m.PodSandboxId) - if l > 0 { + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.Name) - if l > 0 { + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.State != 0 { - n += 1 + sov(uint64(m.State)) - } - if len(m.Labels) > 0 { - for k, v := range m.Labels { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) - } - } - if len(m.Annotations) > 0 { - for k, v := range m.Annotations { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) - } - } - if len(m.Args) > 0 { - for _, s := range m.Args { - l = len(s) - n += 1 + l + sov(uint64(l)) - } - } - if len(m.Env) > 0 { - for _, s := range m.Env { - l = len(s) - n += 1 + l + sov(uint64(l)) - } + n += len(m.unknownFields) + return n +} + +func (m *PostUpdateContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 } - if len(m.Mounts) > 0 { - for _, e := range m.Mounts { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *StopContainerRequest) SizeVT() (n int) { + if m == nil { + return 0 } - if m.Hooks != nil { - l = m.Hooks.SizeVT() + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Linux != nil { - l = m.Linux.SizeVT() + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Pid != 0 { - n += 1 + sov(uint64(m.Pid)) + n += len(m.unknownFields) + return n +} + +func (m *StopContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 } - if len(m.Rlimits) > 0 { - for _, e := range m.Rlimits { + var l int + _ = l + if len(m.Update) > 0 { + for _, e := range m.Update { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } } - if m.CreatedAt != 0 { - n += 1 + sov(uint64(m.CreatedAt)) - } - if m.StartedAt != 0 { - n += 1 + sov(uint64(m.StartedAt)) - } - if m.FinishedAt != 0 { - n += 2 + sov(uint64(m.FinishedAt)) - } - if m.ExitCode != 0 { - n += 2 + sov(uint64(m.ExitCode)) - } - l = len(m.StatusReason) - if l > 0 { - n += 2 + l + sov(uint64(l)) + n += len(m.unknownFields) + return n +} + +func (m *RemoveContainerRequest) SizeVT() (n int) { + if m == nil { + return 0 } - l = len(m.StatusMessage) - if l > 0 { - n += 2 + l + sov(uint64(l)) + var l int + _ = l + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) } - if len(m.CDIDevices) > 0 { - for _, e := range m.CDIDevices { - l = e.SizeVT() - n += 2 + l + sov(uint64(l)) - } + if m.Container != nil { + l = m.Container.SizeVT() + n += 1 + l + sov(uint64(l)) } - if m.User != nil { - l = m.User.SizeVT() - n += 2 + l + sov(uint64(l)) + n += len(m.unknownFields) + return n +} + +func (m *RemoveContainerResponse) SizeVT() (n int) { + if m == nil { + return 0 } + var l int + _ = l n += len(m.unknownFields) return n } -func (m *Mount) SizeVT() (n int) { +func (m *StateChangeEvent) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Destination) - if l > 0 { - n += 1 + l + sov(uint64(l)) + if m.Event != 0 { + n += 1 + sov(uint64(m.Event)) } - l = len(m.Type) - if l > 0 { + if m.Pod != nil { + l = m.Pod.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.Source) - if l > 0 { + if m.Container != nil { + l = m.Container.SizeVT() n += 1 + l + sov(uint64(l)) } - if len(m.Options) > 0 { - for _, s := range m.Options { - l = len(s) - n += 1 + l + sov(uint64(l)) - } - } n += len(m.unknownFields) return n } -func (m *Hooks) SizeVT() (n int) { +func (m *ValidateContainerAdjustmentRequest) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Prestart) > 0 { - for _, e := range m.Prestart { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Pod != nil { + l = m.Pod.SizeVT() + n += 1 + l + sov(uint64(l)) } - if len(m.CreateRuntime) > 0 { - for _, e := range m.CreateRuntime { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Container != nil { + l = m.Container.SizeVT() + n += 1 + l + sov(uint64(l)) } - if len(m.CreateContainer) > 0 { - for _, e := range m.CreateContainer { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Adjust != nil { + l = m.Adjust.SizeVT() + n += 1 + l + sov(uint64(l)) } - if len(m.StartContainer) > 0 { - for _, e := range m.StartContainer { + if len(m.Update) > 0 { + for _, e := range m.Update { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } } - if len(m.Poststart) > 0 { - for _, e := range m.Poststart { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Owners != nil { + l = m.Owners.SizeVT() + n += 1 + l + sov(uint64(l)) } - if len(m.Poststop) > 0 { - for _, e := range m.Poststop { + if len(m.Plugins) > 0 { + for _, e := range m.Plugins { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } @@ -5445,466 +5695,786 @@ func (m *Hooks) SizeVT() (n int) { return n } -func (m *Hook) SizeVT() (n int) { +func (m *PluginInstance) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Path) + l = len(m.Name) if l > 0 { n += 1 + l + sov(uint64(l)) } - if len(m.Args) > 0 { - for _, s := range m.Args { - l = len(s) - n += 1 + l + sov(uint64(l)) - } - } - if len(m.Env) > 0 { - for _, s := range m.Env { - l = len(s) - n += 1 + l + sov(uint64(l)) - } - } - if m.Timeout != nil { - l = m.Timeout.SizeVT() + l = len(m.Index) + if l > 0 { n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *LinuxContainer) SizeVT() (n int) { +func (m *ValidateContainerAdjustmentResponse) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.Namespaces) > 0 { - for _, e := range m.Namespaces { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } + if m.Reject { + n += 2 } - if len(m.Devices) > 0 { - for _, e := range m.Devices { - l = e.SizeVT() - n += 1 + l + sov(uint64(l)) - } - } - if m.Resources != nil { - l = m.Resources.SizeVT() + l = len(m.Reason) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.OomScoreAdj != nil { - l = m.OomScoreAdj.SizeVT() - n += 1 + l + sov(uint64(l)) + n += len(m.unknownFields) + return n +} + +func (m *Empty) SizeVT() (n int) { + if m == nil { + return 0 } - l = len(m.CgroupsPath) + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *PodSandbox) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Id) if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.IoPriority != nil { - l = m.IoPriority.SizeVT() + l = len(m.Name) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.SeccompProfile != nil { - l = m.SeccompProfile.SizeVT() + l = len(m.Uid) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.SeccompPolicy != nil { - l = m.SeccompPolicy.SizeVT() + l = len(m.Namespace) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if len(m.Sysctl) > 0 { - for k, v := range m.Sysctl { + if len(m.Labels) > 0 { + for k, v := range m.Labels { _ = k _ = v mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) } } - if len(m.NetDevices) > 0 { - for k, v := range m.NetDevices { + if len(m.Annotations) > 0 { + for k, v := range m.Annotations { _ = k _ = v - l = 0 - if v != nil { - l = v.SizeVT() - } - l += 1 + sov(uint64(l)) - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) } } - if m.Scheduler != nil { - l = m.Scheduler.SizeVT() + l = len(m.RuntimeHandler) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Rdt != nil { - l = m.Rdt.SizeVT() + if m.Linux != nil { + l = m.Linux.SizeVT() n += 1 + l + sov(uint64(l)) } + if m.Pid != 0 { + n += 1 + sov(uint64(m.Pid)) + } + if len(m.Ips) > 0 { + for _, s := range m.Ips { + l = len(s) + n += 1 + l + sov(uint64(l)) + } + } n += len(m.unknownFields) return n } -func (m *LinuxNamespace) SizeVT() (n int) { +func (m *LinuxPodSandbox) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Type) + if m.PodOverhead != nil { + l = m.PodOverhead.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.PodResources != nil { + l = m.PodResources.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.CgroupParent) if l > 0 { n += 1 + l + sov(uint64(l)) } - l = len(m.Path) + l = len(m.CgroupsPath) if l > 0 { n += 1 + l + sov(uint64(l)) } + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.Resources != nil { + l = m.Resources.SizeVT() + n += 1 + l + sov(uint64(l)) + } n += len(m.unknownFields) return n } -func (m *LinuxDevice) SizeVT() (n int) { +func (m *Container) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Path) + l = len(m.Id) if l > 0 { n += 1 + l + sov(uint64(l)) } - l = len(m.Type) + l = len(m.PodSandboxId) if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Major != 0 { - n += 1 + sov(uint64(m.Major)) + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) } - if m.Minor != 0 { - n += 1 + sov(uint64(m.Minor)) + if m.State != 0 { + n += 1 + sov(uint64(m.State)) } - if m.FileMode != nil { - l = m.FileMode.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Labels) > 0 { + for k, v := range m.Labels { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } } - if m.Uid != nil { - l = m.Uid.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Annotations) > 0 { + for k, v := range m.Annotations { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } } - if m.Gid != nil { - l = m.Gid.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Args) > 0 { + for _, s := range m.Args { + l = len(s) + n += 1 + l + sov(uint64(l)) + } } - n += len(m.unknownFields) - return n -} - -func (m *LinuxDeviceCgroup) SizeVT() (n int) { - if m == nil { - return 0 + if len(m.Env) > 0 { + for _, s := range m.Env { + l = len(s) + n += 1 + l + sov(uint64(l)) + } } - var l int - _ = l - if m.Allow { - n += 2 + if len(m.Mounts) > 0 { + for _, e := range m.Mounts { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } } - l = len(m.Type) - if l > 0 { + if m.Hooks != nil { + l = m.Hooks.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Major != nil { - l = m.Major.SizeVT() + if m.Linux != nil { + l = m.Linux.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Minor != nil { - l = m.Minor.SizeVT() - n += 1 + l + sov(uint64(l)) + if m.Pid != 0 { + n += 1 + sov(uint64(m.Pid)) } - l = len(m.Access) + if len(m.Rlimits) > 0 { + for _, e := range m.Rlimits { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.CreatedAt != 0 { + n += 1 + sov(uint64(m.CreatedAt)) + } + if m.StartedAt != 0 { + n += 1 + sov(uint64(m.StartedAt)) + } + if m.FinishedAt != 0 { + n += 2 + sov(uint64(m.FinishedAt)) + } + if m.ExitCode != 0 { + n += 2 + sov(uint64(m.ExitCode)) + } + l = len(m.StatusReason) if l > 0 { - n += 1 + l + sov(uint64(l)) + n += 2 + l + sov(uint64(l)) + } + l = len(m.StatusMessage) + if l > 0 { + n += 2 + l + sov(uint64(l)) + } + if len(m.CDIDevices) > 0 { + for _, e := range m.CDIDevices { + l = e.SizeVT() + n += 2 + l + sov(uint64(l)) + } + } + if m.User != nil { + l = m.User.SizeVT() + n += 2 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *CDIDevice) SizeVT() (n int) { +func (m *Mount) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Name) + l = len(m.Destination) if l > 0 { n += 1 + l + sov(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *User) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Uid != 0 { - n += 1 + sov(uint64(m.Uid)) + l = len(m.Type) + if l > 0 { + n += 1 + l + sov(uint64(l)) } - if m.Gid != 0 { - n += 1 + sov(uint64(m.Gid)) + l = len(m.Source) + if l > 0 { + n += 1 + l + sov(uint64(l)) } - if len(m.AdditionalGids) > 0 { - l = 0 - for _, e := range m.AdditionalGids { - l += sov(uint64(e)) + if len(m.Options) > 0 { + for _, s := range m.Options { + l = len(s) + n += 1 + l + sov(uint64(l)) } - n += 1 + sov(uint64(l)) + l } n += len(m.unknownFields) return n } -func (m *LinuxResources) SizeVT() (n int) { +func (m *Hooks) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Memory != nil { - l = m.Memory.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.Cpu != nil { - l = m.Cpu.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if len(m.HugepageLimits) > 0 { - for _, e := range m.HugepageLimits { + if len(m.Prestart) > 0 { + for _, e := range m.Prestart { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } } - if m.BlockioClass != nil { - l = m.BlockioClass.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.CreateRuntime) > 0 { + for _, e := range m.CreateRuntime { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } } - if m.RdtClass != nil { - l = m.RdtClass.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.CreateContainer) > 0 { + for _, e := range m.CreateContainer { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } } - if len(m.Unified) > 0 { - for k, v := range m.Unified { - _ = k - _ = v - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + if len(m.StartContainer) > 0 { + for _, e := range m.StartContainer { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) } } - if len(m.Devices) > 0 { - for _, e := range m.Devices { + if len(m.Poststart) > 0 { + for _, e := range m.Poststart { l = e.SizeVT() n += 1 + l + sov(uint64(l)) } } - if m.Pids != nil { - l = m.Pids.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Poststop) > 0 { + for _, e := range m.Poststop { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } } n += len(m.unknownFields) return n } -func (m *LinuxMemory) SizeVT() (n int) { +func (m *Hook) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Limit != nil { - l = m.Limit.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.Reservation != nil { - l = m.Reservation.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.Swap != nil { - l = m.Swap.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.Kernel != nil { - l = m.Kernel.SizeVT() - n += 1 + l + sov(uint64(l)) - } - if m.KernelTcp != nil { - l = m.KernelTcp.SizeVT() + l = len(m.Path) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Swappiness != nil { - l = m.Swappiness.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Args) > 0 { + for _, s := range m.Args { + l = len(s) + n += 1 + l + sov(uint64(l)) + } } - if m.DisableOomKiller != nil { - l = m.DisableOomKiller.SizeVT() - n += 1 + l + sov(uint64(l)) + if len(m.Env) > 0 { + for _, s := range m.Env { + l = len(s) + n += 1 + l + sov(uint64(l)) + } } - if m.UseHierarchy != nil { - l = m.UseHierarchy.SizeVT() + if m.Timeout != nil { + l = m.Timeout.SizeVT() n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *LinuxCPU) SizeVT() (n int) { +func (m *LinuxContainer) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Shares != nil { - l = m.Shares.SizeVT() + if len(m.Namespaces) > 0 { + for _, e := range m.Namespaces { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if len(m.Devices) > 0 { + for _, e := range m.Devices { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.Resources != nil { + l = m.Resources.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Quota != nil { - l = m.Quota.SizeVT() + if m.OomScoreAdj != nil { + l = m.OomScoreAdj.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.Period != nil { - l = m.Period.SizeVT() + l = len(m.CgroupsPath) + if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.RealtimeRuntime != nil { - l = m.RealtimeRuntime.SizeVT() + if m.IoPriority != nil { + l = m.IoPriority.SizeVT() n += 1 + l + sov(uint64(l)) } - if m.RealtimePeriod != nil { - l = m.RealtimePeriod.SizeVT() + if m.SeccompProfile != nil { + l = m.SeccompProfile.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.Cpus) - if l > 0 { + if m.SeccompPolicy != nil { + l = m.SeccompPolicy.SizeVT() n += 1 + l + sov(uint64(l)) } - l = len(m.Mems) - if l > 0 { + if len(m.Sysctl) > 0 { + for k, v := range m.Sysctl { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if len(m.NetDevices) > 0 { + for k, v := range m.NetDevices { + _ = k + _ = v + l = 0 + if v != nil { + l = v.SizeVT() + } + l += 1 + sov(uint64(l)) + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if m.Scheduler != nil { + l = m.Scheduler.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Rdt != nil { + l = m.Rdt.SizeVT() n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *HugepageLimit) SizeVT() (n int) { +func (m *LinuxNamespace) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.PageSize) + l = len(m.Type) if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Limit != 0 { - n += 1 + sov(uint64(m.Limit)) + l = len(m.Path) + if l > 0 { + n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *SecurityProfile) SizeVT() (n int) { +func (m *LinuxDevice) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.ProfileType != 0 { - n += 1 + sov(uint64(m.ProfileType)) + l = len(m.Path) + if l > 0 { + n += 1 + l + sov(uint64(l)) } - l = len(m.LocalhostRef) + l = len(m.Type) if l > 0 { n += 1 + l + sov(uint64(l)) } + if m.Major != 0 { + n += 1 + sov(uint64(m.Major)) + } + if m.Minor != 0 { + n += 1 + sov(uint64(m.Minor)) + } + if m.FileMode != nil { + l = m.FileMode.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Uid != nil { + l = m.Uid.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Gid != nil { + l = m.Gid.SizeVT() + n += 1 + l + sov(uint64(l)) + } n += len(m.unknownFields) return n } -func (m *POSIXRlimit) SizeVT() (n int) { +func (m *LinuxDeviceCgroup) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l + if m.Allow { + n += 2 + } l = len(m.Type) if l > 0 { n += 1 + l + sov(uint64(l)) } - if m.Hard != 0 { - n += 1 + sov(uint64(m.Hard)) + if m.Major != nil { + l = m.Major.SizeVT() + n += 1 + l + sov(uint64(l)) } - if m.Soft != 0 { - n += 1 + sov(uint64(m.Soft)) + if m.Minor != nil { + l = m.Minor.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.Access) + if l > 0 { + n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *LinuxPids) SizeVT() (n int) { +func (m *CDIDevice) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Limit != 0 { - n += 1 + sov(uint64(m.Limit)) + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) } n += len(m.unknownFields) return n } -func (m *LinuxIOPriority) SizeVT() (n int) { +func (m *User) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.Class != 0 { - n += 1 + sov(uint64(m.Class)) + if m.Uid != 0 { + n += 1 + sov(uint64(m.Uid)) } - if m.Priority != 0 { - n += 1 + sov(uint64(m.Priority)) + if m.Gid != 0 { + n += 1 + sov(uint64(m.Gid)) + } + if len(m.AdditionalGids) > 0 { + l = 0 + for _, e := range m.AdditionalGids { + l += sov(uint64(e)) + } + n += 1 + sov(uint64(l)) + l } n += len(m.unknownFields) return n } -func (m *LinuxNetDevice) SizeVT() (n int) { +func (m *LinuxResources) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - l = len(m.Name) - if l > 0 { + if m.Memory != nil { + l = m.Memory.SizeVT() n += 1 + l + sov(uint64(l)) } - n += len(m.unknownFields) - return n -} - -func (m *LinuxScheduler) SizeVT() (n int) { - if m == nil { - return 0 + if m.Cpu != nil { + l = m.Cpu.SizeVT() + n += 1 + l + sov(uint64(l)) } - var l int - _ = l - if m.Policy != 0 { - n += 1 + sov(uint64(m.Policy)) + if len(m.HugepageLimits) > 0 { + for _, e := range m.HugepageLimits { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.BlockioClass != nil { + l = m.BlockioClass.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.RdtClass != nil { + l = m.RdtClass.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if len(m.Unified) > 0 { + for k, v := range m.Unified { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + 1 + len(v) + sov(uint64(len(v))) + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + if len(m.Devices) > 0 { + for _, e := range m.Devices { + l = e.SizeVT() + n += 1 + l + sov(uint64(l)) + } + } + if m.Pids != nil { + l = m.Pids.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxMemory) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Limit != nil { + l = m.Limit.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Reservation != nil { + l = m.Reservation.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Swap != nil { + l = m.Swap.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Kernel != nil { + l = m.Kernel.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.KernelTcp != nil { + l = m.KernelTcp.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Swappiness != nil { + l = m.Swappiness.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.DisableOomKiller != nil { + l = m.DisableOomKiller.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.UseHierarchy != nil { + l = m.UseHierarchy.SizeVT() + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxCPU) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Shares != nil { + l = m.Shares.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Quota != nil { + l = m.Quota.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.Period != nil { + l = m.Period.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.RealtimeRuntime != nil { + l = m.RealtimeRuntime.SizeVT() + n += 1 + l + sov(uint64(l)) + } + if m.RealtimePeriod != nil { + l = m.RealtimePeriod.SizeVT() + n += 1 + l + sov(uint64(l)) + } + l = len(m.Cpus) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + l = len(m.Mems) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *HugepageLimit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.PageSize) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Limit != 0 { + n += 1 + sov(uint64(m.Limit)) + } + n += len(m.unknownFields) + return n +} + +func (m *SecurityProfile) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ProfileType != 0 { + n += 1 + sov(uint64(m.ProfileType)) + } + l = len(m.LocalhostRef) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *POSIXRlimit) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Type) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + if m.Hard != 0 { + n += 1 + sov(uint64(m.Hard)) + } + if m.Soft != 0 { + n += 1 + sov(uint64(m.Soft)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxPids) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Limit != 0 { + n += 1 + sov(uint64(m.Limit)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxIOPriority) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Class != 0 { + n += 1 + sov(uint64(m.Class)) + } + if m.Priority != 0 { + n += 1 + sov(uint64(m.Priority)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxNetDevice) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sov(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *LinuxScheduler) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Policy != 0 { + n += 1 + sov(uint64(m.Policy)) } if m.Nice != 0 { n += 1 + sov(uint64(m.Nice)) @@ -6436,22 +7006,698 @@ func (m *OwningPlugins) SizeVT() (n int) { if v != nil { l = v.SizeVT() } - l += 1 + sov(uint64(l)) - mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l - n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + l += 1 + sov(uint64(l)) + mapEntrySize := 1 + len(k) + sov(uint64(len(k))) + l + n += mapEntrySize + 1 + sov(uint64(mapEntrySize)) + } + } + n += len(m.unknownFields) + return n +} + +func sov(x uint64) (n int) { + return (bits.Len64(x|1) + 6) / 7 +} +func soz(x uint64) (n int) { + return sov(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RegisterPluginRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RegisterPluginRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PluginName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PluginName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field PluginIdx", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.PluginIdx = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateContainersRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateContainersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Update = append(m.Update, &ContainerUpdate{}) + if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Evict", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Evict = append(m.Evict, &ContainerEviction{}) + if err := m.Evict[len(m.Evict)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateContainersResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateContainersResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateContainersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Failed", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Failed = append(m.Failed, &ContainerUpdate{}) + if err := m.Failed[len(m.Failed)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *LogRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: LogRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: LogRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Msg", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Msg = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType) + } + m.Level = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Level |= LogRequest_Level(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ConfigureRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConfigureRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Config = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuntimeVersion", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuntimeVersion = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RegistrationTimeout", wireType) + } + m.RegistrationTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RegistrationTimeout |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RequestTimeout", wireType) + } + m.RequestTimeout = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RequestTimeout |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ConfigureResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ConfigureResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConfigureResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) + } + m.Events = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Events |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy } } - n += len(m.unknownFields) - return n -} -func sov(x uint64) (n int) { - return (bits.Len64(x|1) + 6) / 7 -} -func soz(x uint64) (n int) { - return sov(uint64((x << 1) ^ uint64((int64(x) >> 63)))) + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil } -func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { +func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6474,17 +7720,17 @@ func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RegisterPluginRequest: wiretype end group for non-group") + return fmt.Errorf("proto: SynchronizeRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RegisterPluginRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SynchronizeRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PluginName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -6494,29 +7740,31 @@ func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.PluginName = string(dAtA[iNdEx:postIndex]) + m.Pods = append(m.Pods, &PodSandbox{}) + if err := m.Pods[len(m.Pods)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PluginIdx", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -6526,24 +7774,46 @@ func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.PluginIdx = string(dAtA[iNdEx:postIndex]) + m.Containers = append(m.Containers, &Container{}) + if err := m.Containers[len(m.Containers)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.More = bool(v != 0) default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -6566,7 +7836,7 @@ func (m *RegisterPluginRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { +func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6589,10 +7859,10 @@ func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdateContainersRequest: wiretype end group for non-group") + return fmt.Errorf("proto: SynchronizeResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateContainersRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: SynchronizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -6630,10 +7900,10 @@ func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { } iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Evict", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) } - var msglen int + var v int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -6643,26 +7913,12 @@ func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + v |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Evict = append(m.Evict, &ContainerEviction{}) - if err := m.Evict[len(m.Evict)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex + m.More = bool(v != 0) default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -6685,7 +7941,7 @@ func (m *UpdateContainersRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *UpdateContainersResponse) UnmarshalVT(dAtA []byte) error { +func (m *RunPodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6708,15 +7964,15 @@ func (m *UpdateContainersResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdateContainersResponse: wiretype end group for non-group") + return fmt.Errorf("proto: RunPodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateContainersResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RunPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Failed", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6743,8 +7999,10 @@ func (m *UpdateContainersResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Failed = append(m.Failed, &ContainerUpdate{}) - if err := m.Failed[len(m.Failed)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6770,7 +8028,7 @@ func (m *UpdateContainersResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *LogRequest) UnmarshalVT(dAtA []byte) error { +func (m *RunPodSandboxResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6793,63 +8051,12 @@ func (m *LogRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: LogRequest: wiretype end group for non-group") + return fmt.Errorf("proto: RunPodSandboxResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: LogRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RunPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Msg", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Msg = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Level", wireType) - } - m.Level = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Level |= LogRequest_Level(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -6872,7 +8079,7 @@ func (m *LogRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { +func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6895,17 +8102,17 @@ func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ConfigureRequest: wiretype end group for non-group") + return fmt.Errorf("proto: UpdatePodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ConfigureRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UpdatePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -6915,29 +8122,33 @@ func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Config = string(dAtA[iNdEx:postIndex]) + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RuntimeName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OverheadLinuxResources", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -6947,61 +8158,33 @@ func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.RuntimeName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RuntimeVersion", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLength + if m.OverheadLinuxResources == nil { + m.OverheadLinuxResources = &LinuxResources{} } - if postIndex > l { - return io.ErrUnexpectedEOF + if err := m.OverheadLinuxResources.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.RuntimeVersion = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RegistrationTimeout", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field LinuxResources", wireType) } - m.RegistrationTimeout = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflow @@ -7011,30 +8194,28 @@ func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.RegistrationTimeout |= int64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestTimeout", wireType) + if msglen < 0 { + return ErrInvalidLength } - m.RequestTimeout = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RequestTimeout |= int64(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.LinuxResources == nil { + m.LinuxResources = &LinuxResources{} + } + if err := m.LinuxResources.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7057,7 +8238,7 @@ func (m *ConfigureRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ConfigureResponse) UnmarshalVT(dAtA []byte) error { +func (m *UpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7080,31 +8261,12 @@ func (m *ConfigureResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ConfigureResponse: wiretype end group for non-group") + return fmt.Errorf("proto: UpdatePodSandboxResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ConfigureResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UpdatePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType) - } - m.Events = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Events |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7127,7 +8289,7 @@ func (m *ConfigureResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { +func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7150,15 +8312,15 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SynchronizeRequest: wiretype end group for non-group") + return fmt.Errorf("proto: PostUpdatePodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SynchronizeRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PostUpdatePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7185,65 +8347,64 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Pods = append(m.Pods, &PodSandbox{}) - if err := m.Pods[len(m.Pods)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Containers", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.Containers = append(m.Containers, &Container{}) - if err := m.Containers[len(m.Containers)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PostUpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) + if iNdEx >= l { + return io.ErrUnexpectedEOF } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - m.More = bool(v != 0) + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PostUpdatePodSandboxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PostUpdatePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7266,7 +8427,7 @@ func (m *SynchronizeRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { +func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7289,15 +8450,15 @@ func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: SynchronizeResponse: wiretype end group for non-group") + return fmt.Errorf("proto: StopPodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: SynchronizeResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StopPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7324,31 +8485,64 @@ func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Update = append(m.Update, &ContainerUpdate{}) - if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if m.Pod == nil { + m.Pod = &PodSandbox{} + } + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field More", wireType) + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength } - m.More = bool(v != 0) + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *StopPodSandboxResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: StopPodSandboxResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: StopPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7371,7 +8565,7 @@ func (m *SynchronizeResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *RunPodSandboxRequest) UnmarshalVT(dAtA []byte) error { +func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7394,10 +8588,10 @@ func (m *RunPodSandboxRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RunPodSandboxRequest: wiretype end group for non-group") + return fmt.Errorf("proto: RemovePodSandboxRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RunPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemovePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7458,7 +8652,7 @@ func (m *RunPodSandboxRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *RunPodSandboxResponse) UnmarshalVT(dAtA []byte) error { +func (m *RemovePodSandboxResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7481,10 +8675,10 @@ func (m *RunPodSandboxResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RunPodSandboxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: RemovePodSandboxResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RunPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemovePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7509,7 +8703,7 @@ func (m *RunPodSandboxResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { +func (m *CreateContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7532,10 +8726,10 @@ func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StopPodSandboxRequest: wiretype end group for non-group") + return fmt.Errorf("proto: CreateContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StopPodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7574,6 +8768,42 @@ func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Container == nil { + m.Container = &Container{} + } + if err := m.Container.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7596,7 +8826,7 @@ func (m *StopPodSandboxRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *StopPodSandboxResponse) UnmarshalVT(dAtA []byte) error { +func (m *CreateContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7619,12 +8849,116 @@ func (m *StopPodSandboxResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StopPodSandboxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: CreateContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StopPodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Adjust", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Adjust == nil { + m.Adjust = &ContainerAdjustment{} + } + if err := m.Adjust.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Update = append(m.Update, &ContainerUpdate{}) + if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Evict", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Evict = append(m.Evict, &ContainerEviction{}) + if err := m.Evict[len(m.Evict)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7647,7 +8981,7 @@ func (m *StopPodSandboxResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { +func (m *PostCreateContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7670,10 +9004,10 @@ func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RemovePodSandboxRequest: wiretype end group for non-group") + return fmt.Errorf("proto: PostCreateContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RemovePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PostCreateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7712,6 +9046,42 @@ func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Container == nil { + m.Container = &Container{} + } + if err := m.Container.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -7734,7 +9104,7 @@ func (m *RemovePodSandboxRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *RemovePodSandboxResponse) UnmarshalVT(dAtA []byte) error { +func (m *PostCreateContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7757,10 +9127,10 @@ func (m *RemovePodSandboxResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: RemovePodSandboxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: PostCreateContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: RemovePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PostCreateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: @@ -7785,7 +9155,7 @@ func (m *RemovePodSandboxResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CreateContainerRequest) UnmarshalVT(dAtA []byte) error { +func (m *StartContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7808,10 +9178,10 @@ func (m *CreateContainerRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateContainerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: StartContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StartContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -7908,7 +9278,7 @@ func (m *CreateContainerRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CreateContainerResponse) UnmarshalVT(dAtA []byte) error { +func (m *StartContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7931,15 +9301,66 @@ func (m *CreateContainerResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateContainerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: StartContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StartContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PostStartContainerRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PostStartContainerRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PostStartContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Adjust", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7966,16 +9387,16 @@ func (m *CreateContainerResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Adjust == nil { - m.Adjust = &ContainerAdjustment{} + if m.Pod == nil { + m.Pod = &PodSandbox{} } - if err := m.Adjust.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Pod.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8002,45 +9423,64 @@ func (m *CreateContainerResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Update = append(m.Update, &ContainerUpdate{}) - if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if m.Container == nil { + m.Container = &Container{} + } + if err := m.Container.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Evict", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := skip(dAtA[iNdEx:]) + if err != nil { + return err } - if msglen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return ErrInvalidLength } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PostStartContainerResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - m.Evict = append(m.Evict, &ContainerEviction{}) - if err := m.Evict[len(m.Evict)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PostStartContainerResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PostStartContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -8341,7 +9781,7 @@ func (m *UpdateContainerResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *StopContainerRequest) UnmarshalVT(dAtA []byte) error { +func (m *PostUpdateContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8364,10 +9804,10 @@ func (m *StopContainerRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StopContainerRequest: wiretype end group for non-group") + return fmt.Errorf("proto: PostUpdateContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StopContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PostUpdateContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8464,7 +9904,7 @@ func (m *StopContainerRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *StopContainerResponse) UnmarshalVT(dAtA []byte) error { +func (m *PostUpdateContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8487,46 +9927,12 @@ func (m *StopContainerResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: StopContainerResponse: wiretype end group for non-group") + return fmt.Errorf("proto: PostUpdateContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: StopContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: PostUpdateContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Update = append(m.Update, &ContainerUpdate{}) - if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -8549,7 +9955,7 @@ func (m *StopContainerResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { +func (m *StopContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8572,10 +9978,10 @@ func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdatePodSandboxRequest: wiretype end group for non-group") + return fmt.Errorf("proto: StopContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StopContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8616,43 +10022,7 @@ func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OverheadLinuxResources", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.OverheadLinuxResources == nil { - m.OverheadLinuxResources = &LinuxResources{} - } - if err := m.OverheadLinuxResources.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field LinuxResources", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8679,10 +10049,10 @@ func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.LinuxResources == nil { - m.LinuxResources = &LinuxResources{} + if m.Container == nil { + m.Container = &Container{} } - if err := m.LinuxResources.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Container.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -8708,7 +10078,7 @@ func (m *UpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *UpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { +func (m *StopContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8731,12 +10101,46 @@ func (m *UpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdatePodSandboxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: StopContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: StopContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Update", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Update = append(m.Update, &ContainerUpdate{}) + if err := m.Update[len(m.Update)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -8759,7 +10163,7 @@ func (m *UpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { +func (m *RemoveContainerRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8782,10 +10186,10 @@ func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PostUpdatePodSandboxRequest: wiretype end group for non-group") + return fmt.Errorf("proto: RemoveContainerRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PostUpdatePodSandboxRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemoveContainerRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -8824,6 +10228,42 @@ func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Container", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Container == nil { + m.Container = &Container{} + } + if err := m.Container.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skip(dAtA[iNdEx:]) @@ -8846,7 +10286,7 @@ func (m *PostUpdatePodSandboxRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *PostUpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { +func (m *RemoveContainerResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8869,10 +10309,10 @@ func (m *PostUpdatePodSandboxResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: PostUpdatePodSandboxResponse: wiretype end group for non-group") + return fmt.Errorf("proto: RemoveContainerResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: PostUpdatePodSandboxResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: RemoveContainerResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: diff --git a/pkg/api/event.go b/pkg/api/event.go index 106c9044..e22c4b52 100644 --- a/pkg/api/event.go +++ b/pkg/api/event.go @@ -30,17 +30,7 @@ const ( type ( // Define *Request/*Response type aliases for *Event/Empty pairs. - StateChangeResponse = Empty - StartContainerRequest = StateChangeEvent - StartContainerResponse = Empty - RemoveContainerRequest = StateChangeEvent - RemoveContainerResponse = Empty - PostCreateContainerRequest = StateChangeEvent - PostCreateContainerResponse = Empty - PostStartContainerRequest = StateChangeEvent - PostStartContainerResponse = Empty - PostUpdateContainerRequest = StateChangeEvent - PostUpdateContainerResponse = Empty + StateChangeResponse = Empty ShutdownRequest = Empty ShutdownResponse = Empty diff --git a/pkg/stub/stub.go b/pkg/stub/stub.go index 20695094..bab83948 100644 --- a/pkg/stub/stub.go +++ b/pkg/stub/stub.go @@ -798,6 +798,36 @@ func (stub *stub) CreateContainer(ctx context.Context, req *api.CreateContainerR }, err } +// PostCreateContainer request handler. +func (stub *stub) PostCreateContainer(ctx context.Context, req *api.PostCreateContainerRequest) (*api.PostCreateContainerResponse, error) { + handler := stub.handlers.PostCreateContainer + if handler == nil { + return &api.PostCreateContainerResponse{}, nil + } + err := handler(ctx, req.Pod, req.Container) + return &api.PostCreateContainerResponse{}, err +} + +// StartContainer request handler. +func (stub *stub) StartContainer(ctx context.Context, req *api.StartContainerRequest) (*api.StartContainerResponse, error) { + handler := stub.handlers.StartContainer + if handler == nil { + return &api.StartContainerResponse{}, nil + } + err := handler(ctx, req.Pod, req.Container) + return &api.StartContainerResponse{}, err +} + +// PostStartContainer request handler. +func (stub *stub) PostStartContainer(ctx context.Context, req *api.PostStartContainerRequest) (*api.PostStartContainerResponse, error) { + handler := stub.handlers.PostStartContainer + if handler == nil { + return &api.PostStartContainerResponse{}, nil + } + err := handler(ctx, req.Pod, req.Container) + return &api.PostStartContainerResponse{}, err +} + // UpdateContainer request handler. func (stub *stub) UpdateContainer(ctx context.Context, req *api.UpdateContainerRequest) (*api.UpdateContainerResponse, error) { handler := stub.handlers.UpdateContainer @@ -810,6 +840,16 @@ func (stub *stub) UpdateContainer(ctx context.Context, req *api.UpdateContainerR }, err } +// PostUpdateContainer request handler. +func (stub *stub) PostUpdateContainer(ctx context.Context, req *api.PostUpdateContainerRequest) (*api.PostUpdateContainerResponse, error) { + handler := stub.handlers.PostUpdateContainer + if handler == nil { + return &api.PostUpdateContainerResponse{}, nil + } + err := handler(ctx, req.Pod, req.Container) + return &api.PostUpdateContainerResponse{}, err +} + // StopContainer request handler. func (stub *stub) StopContainer(ctx context.Context, req *api.StopContainerRequest) (*api.StopContainerResponse, error) { handler := stub.handlers.StopContainer @@ -822,6 +862,16 @@ func (stub *stub) StopContainer(ctx context.Context, req *api.StopContainerReque }, err } +// RemoveContainer request handler. +func (stub *stub) RemoveContainer(ctx context.Context, req *api.RemoveContainerRequest) (*api.RemoveContainerResponse, error) { + handler := stub.handlers.RemoveContainer + if handler == nil { + return &api.RemoveContainerResponse{}, nil + } + err := handler(ctx, req.Pod, req.Container) + return &api.RemoveContainerResponse{}, err +} + // StateChange event handler. func (stub *stub) StateChange(ctx context.Context, evt *api.StateChangeEvent) (*api.Empty, error) { var err error diff --git a/plugins/wasm/plugin.go b/plugins/wasm/plugin.go index 7af043db..2ebfcfa7 100644 --- a/plugins/wasm/plugin.go +++ b/plugins/wasm/plugin.go @@ -80,15 +80,35 @@ func (p *plugin) StateChange(ctx context.Context, req *api.StateChangeEvent) (*a }) return &api.Empty{}, err case api.Event_POST_CREATE_CONTAINER: - return p.PostCreateContainer(ctx, req.GetPod(), req.GetContainer()) + _, err := p.PostCreateContainer(ctx, &api.PostCreateContainerRequest{ + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.Empty{}, err case api.Event_START_CONTAINER: - return p.StartContainer(ctx, req.GetPod(), req.GetContainer()) + _, err := p.StartContainer(ctx, &api.StartContainerRequest{ + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.Empty{}, err case api.Event_POST_START_CONTAINER: - return p.PostStartContainer(ctx, req.GetPod(), req.GetContainer()) + _, err := p.PostStartContainer(ctx, &api.PostStartContainerRequest{ + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.Empty{}, err case api.Event_POST_UPDATE_CONTAINER: - return p.PostUpdateContainer(ctx, req.GetPod(), req.GetContainer()) + _, err := p.PostUpdateContainer(ctx, &api.PostUpdateContainerRequest{ + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.Empty{}, err case api.Event_REMOVE_CONTAINER: - return p.RemoveContainer(ctx, req.GetPod(), req.GetContainer()) + _, err := p.RemoveContainer(ctx, &api.RemoveContainerRequest{ + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.Empty{}, err } return &api.Empty{}, nil @@ -124,17 +144,17 @@ func (p *plugin) CreateContainer(ctx context.Context, req *api.CreateContainerRe return nil, nil } -func (p *plugin) PostCreateContainer(ctx context.Context, pod *api.PodSandbox, container *api.Container) (*api.Empty, error) { +func (p *plugin) PostCreateContainer(ctx context.Context, req *api.PostCreateContainerRequest) (*api.PostCreateContainerResponse, error) { log(ctx, "Got post create container request") return nil, nil } -func (p *plugin) StartContainer(ctx context.Context, pod *api.PodSandbox, container *api.Container) (*api.Empty, error) { +func (p *plugin) StartContainer(ctx context.Context, req *api.StartContainerRequest) (*api.StartContainerResponse, error) { log(ctx, "Got start container request") return nil, nil } -func (p *plugin) PostStartContainer(ctx context.Context, pod *api.PodSandbox, container *api.Container) (*api.Empty, error) { +func (p *plugin) PostStartContainer(ctx context.Context, req *api.PostStartContainerRequest) (*api.PostStartContainerResponse, error) { log(ctx, "Got post start container request") return nil, nil } @@ -144,7 +164,7 @@ func (p *plugin) UpdateContainer(ctx context.Context, req *api.UpdateContainerRe return nil, nil } -func (p *plugin) PostUpdateContainer(ctx context.Context, pod *api.PodSandbox, container *api.Container) (*api.Empty, error) { +func (p *plugin) PostUpdateContainer(ctx context.Context, req *api.PostUpdateContainerRequest) (*api.PostUpdateContainerResponse, error) { log(ctx, "Got post update container request") return nil, nil } @@ -154,7 +174,7 @@ func (p *plugin) StopContainer(ctx context.Context, req *api.StopContainerReques return nil, nil } -func (p *plugin) RemoveContainer(ctx context.Context, pod *api.PodSandbox, container *api.Container) (*api.Empty, error) { +func (p *plugin) RemoveContainer(ctx context.Context, req *api.RemoveContainerRequest) (*api.RemoveContainerResponse, error) { log(ctx, "Got remove container request") return nil, nil } From a6cd8b05d1940c143811e9490ee187af5ceb1676 Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Wed, 25 Feb 2026 10:15:08 +0200 Subject: [PATCH 3/4] adaptation: use dedicated RPC calls for all events. Update to use the new dedicated RPC calls to relay all pod and container lifecycle events to plugins. Remove old StateChange which used to multiplex {Run,PostUpdate,Stop,Remove}PodSandbox pod and {PostCreate,Start,PostStart,PostUpdate,Remove}Container container events. Signed-off-by: Krisztian Litkey --- pkg/adaptation/adaptation.go | 142 +++++++++++++++------ pkg/adaptation/api.go | 3 + pkg/adaptation/plugin.go | 226 ++++++++++++++++++++++++++++++---- pkg/adaptation/plugin_type.go | 125 ++++++++++++++++++- pkg/adaptation/suite_test.go | 22 ++-- 5 files changed, 444 insertions(+), 74 deletions(-) diff --git a/pkg/adaptation/adaptation.go b/pkg/adaptation/adaptation.go index 54518e11..d67bc27e 100644 --- a/pkg/adaptation/adaptation.go +++ b/pkg/adaptation/adaptation.go @@ -217,9 +217,19 @@ func (r *Adaptation) Stop() { } // RunPodSandbox relays the corresponding CRI event to plugins. -func (r *Adaptation) RunPodSandbox(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_RUN_POD_SANDBOX - return r.StateChange(ctx, evt) +func (r *Adaptation) RunPodSandbox(ctx context.Context, req *RunPodSandboxRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.runPodSandbox(ctx, req) + if err != nil { + return err + } + } + + return nil } // UpdatePodSandbox relays the corresponding CRI request to plugins. @@ -239,21 +249,51 @@ func (r *Adaptation) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandbox } // PostUpdatePodSandbox relays the corresponding CRI event to plugins. -func (r *Adaptation) PostUpdatePodSandbox(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_POST_UPDATE_POD_SANDBOX - return r.StateChange(ctx, evt) +func (r *Adaptation) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.postUpdatePodSandbox(ctx, req) + if err != nil { + return err + } + } + + return nil } // StopPodSandbox relays the corresponding CRI event to plugins. -func (r *Adaptation) StopPodSandbox(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_STOP_POD_SANDBOX - return r.StateChange(ctx, evt) +func (r *Adaptation) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.stopPodSandbox(ctx, req) + if err != nil { + return err + } + } + + return nil } // RemovePodSandbox relays the corresponding CRI event to plugins. -func (r *Adaptation) RemovePodSandbox(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_REMOVE_POD_SANDBOX - return r.StateChange(ctx, evt) +func (r *Adaptation) RemovePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.removePodSandbox(ctx, req) + if err != nil { + return err + } + } + + return nil } // CreateContainer relays the corresponding CRI request to plugins. @@ -292,21 +332,51 @@ func (r *Adaptation) CreateContainer(ctx context.Context, req *CreateContainerRe } // PostCreateContainer relays the corresponding CRI event to plugins. -func (r *Adaptation) PostCreateContainer(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_POST_CREATE_CONTAINER - return r.StateChange(ctx, evt) +func (r *Adaptation) PostCreateContainer(ctx context.Context, req *PostCreateContainerRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.postCreateContainer(ctx, req) + if err != nil { + return err + } + } + + return nil } // StartContainer relays the corresponding CRI event to plugins. -func (r *Adaptation) StartContainer(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_START_CONTAINER - return r.StateChange(ctx, evt) +func (r *Adaptation) StartContainer(ctx context.Context, req *StartContainerRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.startContainer(ctx, req) + if err != nil { + return err + } + } + + return nil } // PostStartContainer relays the corresponding CRI event to plugins. -func (r *Adaptation) PostStartContainer(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_POST_START_CONTAINER - return r.StateChange(ctx, evt) +func (r *Adaptation) PostStartContainer(ctx context.Context, req *PostStartContainerRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.postStartContainer(ctx, req) + if err != nil { + return err + } + } + + return nil } // UpdateContainer relays the corresponding CRI request to plugins. @@ -331,9 +401,19 @@ func (r *Adaptation) UpdateContainer(ctx context.Context, req *UpdateContainerRe } // PostUpdateContainer relays the corresponding CRI event to plugins. -func (r *Adaptation) PostUpdateContainer(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_POST_UPDATE_CONTAINER - return r.StateChange(ctx, evt) +func (r *Adaptation) PostUpdateContainer(ctx context.Context, req *PostUpdateContainerRequest) error { + r.Lock() + defer r.Unlock() + defer r.removeClosedPlugins() + + for _, plugin := range r.plugins { + _, err := plugin.postUpdateContainer(ctx, req) + if err != nil { + return err + } + } + + return nil } // StopContainer relays the corresponding CRI request to plugins. @@ -358,23 +438,13 @@ func (r *Adaptation) StopContainer(ctx context.Context, req *StopContainerReques } // RemoveContainer relays the corresponding CRI event to plugins. -func (r *Adaptation) RemoveContainer(ctx context.Context, evt *StateChangeEvent) error { - evt.Event = Event_REMOVE_CONTAINER - return r.StateChange(ctx, evt) -} - -// StateChange relays pod- or container events to plugins. -func (r *Adaptation) StateChange(ctx context.Context, evt *StateChangeEvent) error { - if evt.Event == Event_UNKNOWN { - return errors.New("invalid (unset) event in state change notification") - } - +func (r *Adaptation) RemoveContainer(ctx context.Context, req *RemoveContainerRequest) error { r.Lock() defer r.Unlock() defer r.removeClosedPlugins() for _, plugin := range r.plugins { - err := plugin.StateChange(ctx, evt) + _, err := plugin.removeContainer(ctx, req) if err != nil { return err } diff --git a/pkg/adaptation/api.go b/pkg/adaptation/api.go index d0df9d03..76b65f36 100644 --- a/pkg/adaptation/api.go +++ b/pkg/adaptation/api.go @@ -51,10 +51,13 @@ type ( StateChangeEvent = api.StateChangeEvent StateChangeResponse = api.StateChangeResponse RunPodSandboxRequest = api.RunPodSandboxRequest + RunPodSandboxResponse = api.RunPodSandboxResponse UpdatePodSandboxRequest = api.UpdatePodSandboxRequest UpdatePodSandboxResponse = api.UpdatePodSandboxResponse StopPodSandboxRequest = api.StopPodSandboxRequest + StopPodSandboxResponse = api.StopPodSandboxResponse RemovePodSandboxRequest = api.RemovePodSandboxRequest + RemovePodSandboxResponse = api.RemovePodSandboxResponse PostUpdatePodSandboxRequest = api.PostUpdatePodSandboxRequest PostUpdatePodSandboxResponse = api.PostUpdatePodSandboxResponse StartContainerRequest = api.StartContainerRequest diff --git a/pkg/adaptation/plugin.go b/pkg/adaptation/plugin.go index 0441a0c3..ad9ac623 100644 --- a/pkg/adaptation/plugin.go +++ b/pkg/adaptation/plugin.go @@ -596,6 +596,117 @@ func recalcObjsPerSyncMsg(pods, ctrs int, err error) (int, int, error) { return pods, ctrs, nil } +// Relay RunPodSandbox request to plugin. +func (p *plugin) runPodSandbox(ctx context.Context, req *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { + if !p.events.IsSet(Event_RUN_POD_SANDBOX) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + rpl, err := p.impl.RunPodSandbox(ctx, req) + if err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle RunPodSandbox request: %v", + p.name(), err) + p.close() + return nil, nil + } + return nil, err + } + + return rpl, nil +} + +// Relay UpdatePodSandbox request to plugin. +func (p *plugin) updatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { + if !p.events.IsSet(Event_UPDATE_POD_SANDBOX) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.UpdatePodSandbox(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_UPDATE_POD_SANDBOX, err) + p.close() + return nil, nil + } + return nil, err + } + + return &UpdatePodSandboxResponse{}, nil +} + +// Relay PostUpdatePodSandbox request to plugin. +func (p *plugin) postUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { + if !p.events.IsSet(Event_POST_UPDATE_POD_SANDBOX) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.PostUpdatePodSandbox(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_POST_UPDATE_POD_SANDBOX, err) + p.close() + return nil, nil + } + return nil, err + } + + return &PostUpdatePodSandboxResponse{}, nil +} + +// Relay StopPodSandbox request to plugin. +func (p *plugin) stopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { + if !p.events.IsSet(Event_STOP_POD_SANDBOX) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.StopPodSandbox(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_STOP_POD_SANDBOX, err) + p.close() + return nil, nil + } + return nil, err + } + + return &StopPodSandboxResponse{}, nil +} + +// Relay RemovePodSandbox request to plugin. +func (p *plugin) removePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { + if !p.events.IsSet(Event_REMOVE_POD_SANDBOX) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.RemovePodSandbox(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_REMOVE_POD_SANDBOX, err) + p.close() + return nil, nil + } + return nil, err + } + + return &RemovePodSandboxResponse{}, nil +} + // Relay CreateContainer request to plugin. func (p *plugin) createContainer(ctx context.Context, req *CreateContainerRequest) (*CreateContainerResponse, error) { if !p.events.IsSet(Event_CREATE_CONTAINER) { @@ -619,6 +730,72 @@ func (p *plugin) createContainer(ctx context.Context, req *CreateContainerReques return rpl, nil } +// Relay PostCreateContainer request to plugin. +func (p *plugin) postCreateContainer(ctx context.Context, req *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { + if !p.events.IsSet(Event_POST_CREATE_CONTAINER) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.PostCreateContainer(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_POST_CREATE_CONTAINER, err) + p.close() + return nil, nil + } + return nil, err + } + + return &PostCreateContainerResponse{}, nil +} + +// Relay StartContainer request to plugin. +func (p *plugin) startContainer(ctx context.Context, req *StartContainerRequest) (*StartContainerResponse, error) { + if !p.events.IsSet(Event_START_CONTAINER) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.StartContainer(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_START_CONTAINER, err) + p.close() + return nil, nil + } + return nil, err + } + + return &StartContainerResponse{}, nil +} + +// Relay PostStartContainer request to plugin. +func (p *plugin) postStartContainer(ctx context.Context, req *PostStartContainerRequest) (*PostStartContainerResponse, error) { + if !p.events.IsSet(Event_POST_START_CONTAINER) { + return nil, nil + } + + ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) + defer cancel() + + if _, err := p.impl.PostStartContainer(ctx, req); err != nil { + if isFatalError(err) { + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_POST_START_CONTAINER, err) + p.close() + return nil, nil + } + return nil, err + } + + return &PostStartContainerResponse{}, nil +} + // Relay UpdateContainer request to plugin. func (p *plugin) updateContainer(ctx context.Context, req *UpdateContainerRequest) (*UpdateContainerResponse, error) { if !p.events.IsSet(Event_UPDATE_CONTAINER) { @@ -642,70 +819,71 @@ func (p *plugin) updateContainer(ctx context.Context, req *UpdateContainerReques return rpl, nil } -// Relay StopContainer request to the plugin. -func (p *plugin) stopContainer(ctx context.Context, req *StopContainerRequest) (rpl *StopContainerResponse, err error) { - if !p.events.IsSet(Event_STOP_CONTAINER) { +// Relay PostUpdateContainer request to plugin. +func (p *plugin) postUpdateContainer(ctx context.Context, req *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) { + if !p.events.IsSet(Event_POST_UPDATE_CONTAINER) { return nil, nil } ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) defer cancel() - rpl, err = p.impl.StopContainer(ctx, req) - if err != nil { + if _, err := p.impl.PostUpdateContainer(ctx, req); err != nil { if isFatalError(err) { - log.Errorf(ctx, "closing plugin %s, failed to handle StopContainer request: %v", - p.name(), err) + log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", + p.name(), Event_POST_UPDATE_CONTAINER, err) p.close() return nil, nil } return nil, err } - return rpl, nil + return &PostUpdateContainerResponse{}, nil } -func (p *plugin) updatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { - if !p.events.IsSet(Event_UPDATE_POD_SANDBOX) { +// Relay StopContainer request to the plugin. +func (p *plugin) stopContainer(ctx context.Context, req *StopContainerRequest) (rpl *StopContainerResponse, err error) { + if !p.events.IsSet(Event_STOP_CONTAINER) { return nil, nil } ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) defer cancel() - if _, err := p.impl.UpdatePodSandbox(ctx, req); err != nil { + rpl, err = p.impl.StopContainer(ctx, req) + if err != nil { if isFatalError(err) { - log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", - p.name(), Event_UPDATE_POD_SANDBOX, err) + log.Errorf(ctx, "closing plugin %s, failed to handle StopContainer request: %v", + p.name(), err) p.close() return nil, nil } return nil, err } - return &UpdatePodSandboxResponse{}, nil + return rpl, nil } -// Relay other pod or container state change events to the plugin. -func (p *plugin) StateChange(ctx context.Context, evt *StateChangeEvent) (err error) { - if !p.events.IsSet(evt.Event) { - return nil +// Relay RemoveContainer request to plugin. +func (p *plugin) removeContainer(ctx context.Context, req *RemoveContainerRequest) (*RemoveContainerResponse, error) { + if !p.events.IsSet(Event_REMOVE_CONTAINER) { + return nil, nil } ctx, cancel := context.WithTimeout(ctx, getPluginRequestTimeout()) defer cancel() - if err = p.impl.StateChange(ctx, evt); err != nil { + if _, err := p.impl.RemoveContainer(ctx, req); err != nil { if isFatalError(err) { log.Errorf(ctx, "closing plugin %s, failed to handle event %d: %v", - p.name(), evt.Event, err) + p.name(), Event_REMOVE_CONTAINER, err) p.close() - return nil + return nil, nil } - return err + return nil, err } - return nil + return &RemoveContainerResponse{}, nil } func (p *plugin) ValidateContainerAdjustment(ctx context.Context, req *ValidateContainerAdjustmentRequest) error { @@ -739,6 +917,8 @@ func isFatalError(err error) bool { return true case errors.Is(err, context.DeadlineExceeded): return true + case status.Code(err) == codes.Unimplemented: + return true } return false } diff --git a/pkg/adaptation/plugin_type.go b/pkg/adaptation/plugin_type.go index 43390291..15b87685 100644 --- a/pkg/adaptation/plugin_type.go +++ b/pkg/adaptation/plugin_type.go @@ -71,6 +71,71 @@ func (p *pluginType) Configure(ctx context.Context, req *ConfigureRequest) (*Con return nil, errUnknownImpl } +func (p *pluginType) RunPodSandbox(ctx context.Context, req *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.RunPodSandbox(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.RunPodSandbox(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.RunPodSandbox(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.UpdatePodSandbox(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.UpdatePodSandbox(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.UpdatePodSandbox(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.PostUpdatePodSandbox(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.PostUpdatePodSandbox(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.PostUpdatePodSandbox(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.StopPodSandbox(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.StopPodSandbox(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.StopPodSandbox(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) RemovePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.RemovePodSandbox(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.RemovePodSandbox(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.RemovePodSandbox(ctx, req) + } + + return nil, errUnknownImpl +} + func (p *pluginType) CreateContainer(ctx context.Context, req *CreateContainerRequest) (*CreateContainerResponse, error) { switch { case p.ttrpcImpl != nil: @@ -84,6 +149,45 @@ func (p *pluginType) CreateContainer(ctx context.Context, req *CreateContainerRe return nil, errUnknownImpl } +func (p *pluginType) PostCreateContainer(ctx context.Context, req *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.PostCreateContainer(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.PostCreateContainer(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.PostCreateContainer(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) StartContainer(ctx context.Context, req *StartContainerRequest) (*StartContainerResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.StartContainer(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.StartContainer(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.StartContainer(ctx, req) + } + + return nil, errUnknownImpl +} + +func (p *pluginType) PostStartContainer(ctx context.Context, req *PostStartContainerRequest) (*PostStartContainerResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.PostStartContainer(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.PostStartContainer(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.PostStartContainer(ctx, req) + } + + return nil, errUnknownImpl +} + func (p *pluginType) UpdateContainer(ctx context.Context, req *UpdateContainerRequest) (*UpdateContainerResponse, error) { switch { case p.ttrpcImpl != nil: @@ -97,6 +201,19 @@ func (p *pluginType) UpdateContainer(ctx context.Context, req *UpdateContainerRe return nil, errUnknownImpl } +func (p *pluginType) PostUpdateContainer(ctx context.Context, req *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) { + switch { + case p.ttrpcImpl != nil: + return p.ttrpcImpl.PostUpdateContainer(ctx, req) + case p.builtinImpl != nil: + return p.builtinImpl.PostUpdateContainer(ctx, req) + case p.wasmImpl != nil: + return p.wasmImpl.PostUpdateContainer(ctx, req) + } + + return nil, errUnknownImpl +} + func (p *pluginType) StopContainer(ctx context.Context, req *StopContainerRequest) (*StopContainerResponse, error) { switch { case p.ttrpcImpl != nil: @@ -110,14 +227,14 @@ func (p *pluginType) StopContainer(ctx context.Context, req *StopContainerReques return nil, errUnknownImpl } -func (p *pluginType) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandboxRequest) (*UpdatePodSandboxResponse, error) { +func (p *pluginType) RemoveContainer(ctx context.Context, req *RemoveContainerRequest) (*RemoveContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.UpdatePodSandbox(ctx, req) + return p.ttrpcImpl.RemoveContainer(ctx, req) case p.builtinImpl != nil: - return p.builtinImpl.UpdatePodSandbox(ctx, req) + return p.builtinImpl.RemoveContainer(ctx, req) case p.wasmImpl != nil: - return p.wasmImpl.UpdatePodSandbox(ctx, req) + return p.wasmImpl.RemoveContainer(ctx, req) } return nil, errUnknownImpl diff --git a/pkg/adaptation/suite_test.go b/pkg/adaptation/suite_test.go index 88d8946e..68b592ca 100644 --- a/pkg/adaptation/suite_test.go +++ b/pkg/adaptation/suite_test.go @@ -231,10 +231,10 @@ func (m *mockRuntime) synchronize(ctx context.Context, cb nri.SyncCB) error { return err } -func (m *mockRuntime) RunPodSandbox(ctx context.Context, evt *api.StateChangeEvent) error { +func (m *mockRuntime) RunPodSandbox(ctx context.Context, req *api.RunPodSandboxRequest) error { b := m.runtime.BlockPluginSync() defer b.Unblock() - return m.runtime.RunPodSandbox(ctx, evt) + return m.runtime.RunPodSandbox(ctx, req) } func (m *mockRuntime) UpdatePodSandbox(ctx context.Context, req *api.UpdatePodSandboxRequest) (*api.UpdatePodSandboxResponse, error) { @@ -256,7 +256,7 @@ func (m *mockRuntime) UpdateContainer(ctx context.Context, req *api.UpdateContai } func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.PodSandbox, ctr *api.Container) error { - err := m.RunPodSandbox(ctx, &api.StateChangeEvent{ + err := m.RunPodSandbox(ctx, &api.RunPodSandboxRequest{ Pod: pod, }) if err != nil { @@ -272,7 +272,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.PostUpdatePodSandbox(ctx, &api.StateChangeEvent{ + err = m.runtime.PostUpdatePodSandbox(ctx, &api.PostUpdatePodSandboxRequest{ Pod: pod, }) if err != nil { @@ -287,7 +287,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.PostCreateContainer(ctx, &api.StateChangeEvent{ + err = m.runtime.PostCreateContainer(ctx, &api.PostCreateContainerRequest{ Pod: pod, Container: ctr, }) @@ -295,7 +295,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.StartContainer(ctx, &api.StateChangeEvent{ + err = m.runtime.StartContainer(ctx, &api.StartContainerRequest{ Pod: pod, Container: ctr, }) @@ -303,7 +303,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.PostStartContainer(ctx, &api.StateChangeEvent{ + err = m.runtime.PostStartContainer(ctx, &api.PostStartContainerRequest{ Pod: pod, Container: ctr, }) @@ -320,7 +320,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.PostUpdateContainer(ctx, &api.StateChangeEvent{ + err = m.runtime.PostUpdateContainer(ctx, &api.PostUpdateContainerRequest{ Pod: pod, Container: ctr, }) @@ -336,7 +336,7 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.RemoveContainer(ctx, &api.StateChangeEvent{ + err = m.runtime.RemoveContainer(ctx, &api.RemoveContainerRequest{ Pod: pod, Container: ctr, }) @@ -344,14 +344,14 @@ func (m *mockRuntime) startStopPodAndContainer(ctx context.Context, pod *api.Pod return err } - err = m.runtime.StopPodSandbox(ctx, &api.StateChangeEvent{ + err = m.runtime.StopPodSandbox(ctx, &api.StopPodSandboxRequest{ Pod: pod, }) if err != nil { return err } - err = m.runtime.RemovePodSandbox(ctx, &api.StateChangeEvent{ + err = m.runtime.RemovePodSandbox(ctx, &api.RemovePodSandboxRequest{ Pod: pod, }) if err != nil { From f062b1eb1b00aea32f9cf22c466fb3a630966268 Mon Sep 17 00:00:00 2001 From: Krisztian Litkey Date: Wed, 25 Feb 2026 10:44:29 +0200 Subject: [PATCH 4/4] adaptation: implement wrapper for old plugins. Add a backward compatibility wrapper for old plugins which do not support the full set of dedicated lifecycle events yet. Fall back to relaying StateChange events to them. Signed-off-by: Krisztian Litkey --- pkg/adaptation/plugin.go | 2 - pkg/adaptation/plugin_type.go | 137 +++++++++++++++++++++++++++++++--- 2 files changed, 128 insertions(+), 11 deletions(-) diff --git a/pkg/adaptation/plugin.go b/pkg/adaptation/plugin.go index ad9ac623..c2ef7417 100644 --- a/pkg/adaptation/plugin.go +++ b/pkg/adaptation/plugin.go @@ -917,8 +917,6 @@ func isFatalError(err error) bool { return true case errors.Is(err, context.DeadlineExceeded): return true - case status.Code(err) == codes.Unimplemented: - return true } return false } diff --git a/pkg/adaptation/plugin_type.go b/pkg/adaptation/plugin_type.go index 15b87685..52a0401f 100644 --- a/pkg/adaptation/plugin_type.go +++ b/pkg/adaptation/plugin_type.go @@ -21,6 +21,8 @@ import ( "errors" "github.com/containerd/nri/pkg/api" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) type pluginType struct { @@ -74,7 +76,12 @@ func (p *pluginType) Configure(ctx context.Context, req *ConfigureRequest) (*Con func (p *pluginType) RunPodSandbox(ctx context.Context, req *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.RunPodSandbox(ctx, req) + rpl, err := p.ttrpcImpl.RunPodSandbox(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.RunPodSandbox(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.RunPodSandbox(ctx, req) case p.wasmImpl != nil: @@ -100,7 +107,12 @@ func (p *pluginType) UpdatePodSandbox(ctx context.Context, req *UpdatePodSandbox func (p *pluginType) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.PostUpdatePodSandbox(ctx, req) + rpl, err := p.ttrpcImpl.PostUpdatePodSandbox(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.PostUpdatePodSandbox(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.PostUpdatePodSandbox(ctx, req) case p.wasmImpl != nil: @@ -113,7 +125,12 @@ func (p *pluginType) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePo func (p *pluginType) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.StopPodSandbox(ctx, req) + rpl, err := p.ttrpcImpl.StopPodSandbox(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.StopPodSandbox(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.StopPodSandbox(ctx, req) case p.wasmImpl != nil: @@ -126,7 +143,12 @@ func (p *pluginType) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequ func (p *pluginType) RemovePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.RemovePodSandbox(ctx, req) + rpl, err := p.ttrpcImpl.RemovePodSandbox(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.RemovePodSandbox(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.RemovePodSandbox(ctx, req) case p.wasmImpl != nil: @@ -152,7 +174,12 @@ func (p *pluginType) CreateContainer(ctx context.Context, req *CreateContainerRe func (p *pluginType) PostCreateContainer(ctx context.Context, req *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.PostCreateContainer(ctx, req) + rpl, err := p.ttrpcImpl.PostCreateContainer(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.PostCreateContainer(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.PostCreateContainer(ctx, req) case p.wasmImpl != nil: @@ -165,7 +192,12 @@ func (p *pluginType) PostCreateContainer(ctx context.Context, req *PostCreateCon func (p *pluginType) StartContainer(ctx context.Context, req *StartContainerRequest) (*StartContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.StartContainer(ctx, req) + rpl, err := p.ttrpcImpl.StartContainer(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.StartContainer(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.StartContainer(ctx, req) case p.wasmImpl != nil: @@ -178,7 +210,12 @@ func (p *pluginType) StartContainer(ctx context.Context, req *StartContainerRequ func (p *pluginType) PostStartContainer(ctx context.Context, req *PostStartContainerRequest) (*PostStartContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.PostStartContainer(ctx, req) + rpl, err := p.ttrpcImpl.PostStartContainer(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.PostStartContainer(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.PostStartContainer(ctx, req) case p.wasmImpl != nil: @@ -204,7 +241,12 @@ func (p *pluginType) UpdateContainer(ctx context.Context, req *UpdateContainerRe func (p *pluginType) PostUpdateContainer(ctx context.Context, req *PostUpdateContainerRequest) (*PostUpdateContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.PostUpdateContainer(ctx, req) + rpl, err := p.ttrpcImpl.PostUpdateContainer(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.PostUpdateContainer(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.PostUpdateContainer(ctx, req) case p.wasmImpl != nil: @@ -230,7 +272,12 @@ func (p *pluginType) StopContainer(ctx context.Context, req *StopContainerReques func (p *pluginType) RemoveContainer(ctx context.Context, req *RemoveContainerRequest) (*RemoveContainerResponse, error) { switch { case p.ttrpcImpl != nil: - return p.ttrpcImpl.RemoveContainer(ctx, req) + rpl, err := p.ttrpcImpl.RemoveContainer(ctx, req) + if err != nil && status.Code(err) == codes.Unimplemented { + p.ttrpcImpl = &origImplWrapper{p.ttrpcImpl} + rpl, err = p.ttrpcImpl.RemoveContainer(ctx, req) + } + return rpl, err case p.builtinImpl != nil: return p.builtinImpl.RemoveContainer(ctx, req) case p.wasmImpl != nil: @@ -266,3 +313,75 @@ func (p *pluginType) ValidateContainerAdjustment(ctx context.Context, req *Valid return nil, errUnknownImpl } + +type origImplWrapper struct { + api.PluginService +} + +func (o *origImplWrapper) RunPodSandbox(ctx context.Context, req *RunPodSandboxRequest) (*RunPodSandboxResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_RUN_POD_SANDBOX, + Pod: req.GetPod(), + }) + return &api.RunPodSandboxResponse{}, err +} + +func (o *origImplWrapper) PostUpdatePodSandbox(ctx context.Context, req *PostUpdatePodSandboxRequest) (*PostUpdatePodSandboxResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_POST_UPDATE_POD_SANDBOX, + Pod: req.GetPod(), + }) + return &api.PostUpdatePodSandboxResponse{}, err +} + +func (o *origImplWrapper) StopPodSandbox(ctx context.Context, req *StopPodSandboxRequest) (*StopPodSandboxResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_STOP_POD_SANDBOX, + Pod: req.GetPod(), + }) + return &api.StopPodSandboxResponse{}, err +} + +func (o *origImplWrapper) RemovePodSandbox(ctx context.Context, req *RemovePodSandboxRequest) (*RemovePodSandboxResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_REMOVE_POD_SANDBOX, + Pod: req.GetPod(), + }) + return &api.RemovePodSandboxResponse{}, err +} + +func (o *origImplWrapper) PostCreateContainer(ctx context.Context, req *PostCreateContainerRequest) (*PostCreateContainerResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_POST_CREATE_CONTAINER, + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.PostCreateContainerResponse{}, err +} + +func (o *origImplWrapper) StartContainer(ctx context.Context, req *StartContainerRequest) (*StartContainerResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_START_CONTAINER, + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.StartContainerResponse{}, err +} + +func (o *origImplWrapper) PostStartContainer(ctx context.Context, req *PostStartContainerRequest) (*PostStartContainerResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_POST_START_CONTAINER, + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.PostStartContainerResponse{}, err +} + +func (o *origImplWrapper) RemoveContainer(ctx context.Context, req *RemoveContainerRequest) (*RemoveContainerResponse, error) { + _, err := o.PluginService.StateChange(ctx, &StateChangeEvent{ + Event: Event_REMOVE_CONTAINER, + Pod: req.GetPod(), + Container: req.GetContainer(), + }) + return &api.RemoveContainerResponse{}, err +}