From d0bfea9fd47971999b980151cef1bd4314c07cf8 Mon Sep 17 00:00:00 2001 From: tzwang Date: Sat, 27 May 2023 17:13:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=AF=E6=99=BA=E7=AB=A0=E9=B1=BCmodeldeploy?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 1ee2df3200319364caba3a5b0e2000d86142de3f --- .../rpc/internal/config/octopusConfig.go | 7 + .../internal/logic/createmodeldeploylogic.go | 48 + .../internal/logic/deletemodeldeploylogic.go | 52 + .../logic/getmodeldeployeventlogic.go | 52 + .../internal/logic/getmodeldeploylistlogic.go | 50 + .../rpc/internal/logic/getmodeldeploylogic.go | 47 + .../internal/logic/infermodeldeploylogic.go | 47 + .../internal/logic/stopmodeldeploylogic.go | 49 + .../rpc/internal/server/octopusserver.go | 36 + .../PCM-OCTOPUS/rpc/octopus/octopus.pb.go | 5150 ++++++++++++----- .../rpc/octopus/octopus_grpc.pb.go | 254 + .../PCM-OCTOPUS/rpc/octopusclient/octopus.go | 68 + .../PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto | 162 +- 13 files changed, 4515 insertions(+), 1507 deletions(-) create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmodeldeploylogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemodeldeploylogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeployeventlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylistlogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/infermodeldeploylogic.go create mode 100644 adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/stopmodeldeploylogic.go diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go index 50266d09..d62e9fbf 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/config/octopusConfig.go @@ -57,4 +57,11 @@ type OctopusApi struct { StopTrainJob string GetTrainJobEvent string GetTrainJobMetric string + CreateModelDeploy string + GetModelDeployList string + GetModelDeploy string + GetModelDeployEvent string + StopModelDeploy string + DeleteModelDeploy string + InferModelDeploy string } diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmodeldeploylogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmodeldeploylogic.go new file mode 100644 index 00000000..192e41fc --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/createmodeldeploylogic.go @@ -0,0 +1,48 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type CreateModelDeployLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewCreateModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateModelDeployLogic { + return &CreateModelDeployLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +// ModelDeployService +func (l *CreateModelDeployLogic) CreateModelDeploy(in *octopus.CreateModelDeployReq) (*octopus.CreateModelDeployResp, error) { + resp := &octopus.CreateModelDeployResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.CreateModelDeploy + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetBody(in.Params). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemodeldeploylogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemodeldeploylogic.go new file mode 100644 index 00000000..f4f8cffc --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/deletemodeldeploylogic.go @@ -0,0 +1,52 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type DeleteModelDeployLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewDeleteModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DeleteModelDeployLogic { + return &DeleteModelDeployLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *DeleteModelDeployLogic) DeleteModelDeploy(in *octopus.DeleteModelDeployReq) (*octopus.DeleteModelDeployResp, error) { + resp := &octopus.DeleteModelDeployResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.DeleteModelDeploy + + token := common.GetToken(in.Platform) + + var queryStr string + for _, s := range in.GetJobIds() { + queryStr += "jobIds=" + s + "&" + } + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString(queryStr). + SetResult(resp). + Delete(reqUrl) + + if err != nil { + return nil, err + } + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeployeventlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeployeventlogic.go new file mode 100644 index 00000000..78fc6877 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeployeventlogic.go @@ -0,0 +1,52 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetModelDeployEventLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetModelDeployEventLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetModelDeployEventLogic { + return &GetModelDeployEventLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetModelDeployEventLogic) GetModelDeployEvent(in *octopus.GetModelDeployEventReq) (*octopus.GetModelDeployEventResp, error) { + resp := &octopus.GetModelDeployEventResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetModelDeployEvent + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("id=" + in.Id). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetQueryString("isMain=" + strconv.FormatBool(in.IsMain)). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylistlogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylistlogic.go new file mode 100644 index 00000000..a93e6e31 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylistlogic.go @@ -0,0 +1,50 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + "strconv" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetModelDeployListLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetModelDeployListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetModelDeployListLogic { + return &GetModelDeployListLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetModelDeployListLogic) GetModelDeployList(in *octopus.GetModelDeployListReq) (*octopus.GetModelDeployListResp, error) { + resp := &octopus.GetModelDeployListResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetModelDeployList + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetQueryString("pageIndex=" + strconv.Itoa(int(in.PageIndex))). + SetQueryString("pageSize=" + strconv.Itoa(int(in.PageSize))). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylogic.go new file mode 100644 index 00000000..8e33c949 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/getmodeldeploylogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + "PCM/common/tool" + "context" + + "github.com/zeromicro/go-zero/core/logx" +) + +type GetModelDeployLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewGetModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetModelDeployLogic { + return &GetModelDeployLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *GetModelDeployLogic) GetModelDeploy(in *octopus.GetModelDeployReq) (*octopus.GetModelDeployResp, error) { + resp := &octopus.GetModelDeployResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.GetModelDeploy + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("id", in.Id). + SetResult(resp). + Get(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/infermodeldeploylogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/infermodeldeploylogic.go new file mode 100644 index 00000000..f4cdb58a --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/infermodeldeploylogic.go @@ -0,0 +1,47 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type InferModelDeployLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewInferModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InferModelDeployLogic { + return &InferModelDeployLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *InferModelDeployLogic) InferModelDeploy(in *octopus.InferModelDeployReq) (*octopus.InferModelDeployResp, error) { + resp := &octopus.InferModelDeployResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.InferModelDeploy + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/stopmodeldeploylogic.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/stopmodeldeploylogic.go new file mode 100644 index 00000000..59135fe9 --- /dev/null +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/logic/stopmodeldeploylogic.go @@ -0,0 +1,49 @@ +package logic + +import ( + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/common" + "PCM/common/tool" + "context" + + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/svc" + "PCM/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus" + + "github.com/zeromicro/go-zero/core/logx" +) + +type StopModelDeployLogic struct { + ctx context.Context + svcCtx *svc.ServiceContext + logx.Logger +} + +func NewStopModelDeployLogic(ctx context.Context, svcCtx *svc.ServiceContext) *StopModelDeployLogic { + return &StopModelDeployLogic{ + ctx: ctx, + svcCtx: svcCtx, + Logger: logx.WithContext(ctx), + } +} + +func (l *StopModelDeployLogic) StopModelDeploy(in *octopus.StopModelDeployReq) (*octopus.StopModelDeployResp, error) { + resp := &octopus.StopModelDeployResp{} + + var url_prefix = common.OctopusUrls[in.Platform] + var reqUrl = url_prefix + l.svcCtx.Config.OctopusApi.StopModelDeploy + + token := common.GetToken(in.Platform) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("Authorization", "Bearer "+token). + SetPathParam("id", in.Id). + SetBody("{}"). + SetResult(resp). + Post(reqUrl) + + if err != nil { + return nil, err + } + + return resp, nil +} diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go index cc3a684d..242e86c5 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/internal/server/octopusserver.go @@ -134,6 +134,42 @@ func (s *OctopusServer) GetDatasetTypeList(ctx context.Context, in *octopus.GetD return l.GetDatasetTypeList(in) } +// ModelDeployService +func (s *OctopusServer) CreateModelDeploy(ctx context.Context, in *octopus.CreateModelDeployReq) (*octopus.CreateModelDeployResp, error) { + l := logic.NewCreateModelDeployLogic(ctx, s.svcCtx) + return l.CreateModelDeploy(in) +} + +func (s *OctopusServer) GetModelDeployList(ctx context.Context, in *octopus.GetModelDeployListReq) (*octopus.GetModelDeployListResp, error) { + l := logic.NewGetModelDeployListLogic(ctx, s.svcCtx) + return l.GetModelDeployList(in) +} + +func (s *OctopusServer) GetModelDeploy(ctx context.Context, in *octopus.GetModelDeployReq) (*octopus.GetModelDeployResp, error) { + l := logic.NewGetModelDeployLogic(ctx, s.svcCtx) + return l.GetModelDeploy(in) +} + +func (s *OctopusServer) GetModelDeployEvent(ctx context.Context, in *octopus.GetModelDeployEventReq) (*octopus.GetModelDeployEventResp, error) { + l := logic.NewGetModelDeployEventLogic(ctx, s.svcCtx) + return l.GetModelDeployEvent(in) +} + +func (s *OctopusServer) StopModelDeploy(ctx context.Context, in *octopus.StopModelDeployReq) (*octopus.StopModelDeployResp, error) { + l := logic.NewStopModelDeployLogic(ctx, s.svcCtx) + return l.StopModelDeploy(in) +} + +func (s *OctopusServer) DeleteModelDeploy(ctx context.Context, in *octopus.DeleteModelDeployReq) (*octopus.DeleteModelDeployResp, error) { + l := logic.NewDeleteModelDeployLogic(ctx, s.svcCtx) + return l.DeleteModelDeploy(in) +} + +func (s *OctopusServer) InferModelDeploy(ctx context.Context, in *octopus.InferModelDeployReq) (*octopus.InferModelDeployResp, error) { + l := logic.NewInferModelDeployLogic(ctx, s.svcCtx) + return l.InferModelDeploy(in) +} + // Develop func (s *OctopusServer) GetNotebookList(ctx context.Context, in *octopus.GetNotebookListReq) (*octopus.GetNotebookListResp, error) { l := logic.NewGetNotebookListLogic(ctx, s.svcCtx) diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go index 0e5fe050..85da8e63 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus.pb.go @@ -4801,6 +4801,1575 @@ func (x *PayloadGetDatasetTypeList) GetLables() []*Lables { return nil } +// *****************ModelDeployService Start************************ +type CreateModelDeployReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Params *CreateModelDeployParam `protobuf:"bytes,2,opt,name=params,proto3" json:"params,omitempty"` +} + +func (x *CreateModelDeployReq) Reset() { + *x = CreateModelDeployReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelDeployReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelDeployReq) ProtoMessage() {} + +func (x *CreateModelDeployReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[77] + 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 CreateModelDeployReq.ProtoReflect.Descriptor instead. +func (*CreateModelDeployReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{77} +} + +func (x *CreateModelDeployReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateModelDeployReq) GetParams() *CreateModelDeployParam { + if x != nil { + return x.Params + } + return nil +} + +type CreateModelDeployParam struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Desc string `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + ModelFrame string `protobuf:"bytes,3,opt,name=modelFrame,proto3" json:"modelFrame,omitempty"` + ModelId string `protobuf:"bytes,4,opt,name=modelId,proto3" json:"modelId,omitempty"` + ModelVersion string `protobuf:"bytes,5,opt,name=modelVersion,proto3" json:"modelVersion,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + ResourcePool string `protobuf:"bytes,7,opt,name=resourcePool,proto3" json:"resourcePool,omitempty"` + ResourceSpecId string `protobuf:"bytes,8,opt,name=resourceSpecId,proto3" json:"resourceSpecId,omitempty"` + ResourceType string `protobuf:"bytes,9,opt,name=resourceType,proto3" json:"resourceType,omitempty"` + ServiceType string `protobuf:"bytes,10,opt,name=serviceType,proto3" json:"serviceType,omitempty"` +} + +func (x *CreateModelDeployParam) Reset() { + *x = CreateModelDeployParam{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelDeployParam) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelDeployParam) ProtoMessage() {} + +func (x *CreateModelDeployParam) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[78] + 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 CreateModelDeployParam.ProtoReflect.Descriptor instead. +func (*CreateModelDeployParam) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{78} +} + +func (x *CreateModelDeployParam) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +func (x *CreateModelDeployParam) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreateModelDeployParam) GetModelFrame() string { + if x != nil { + return x.ModelFrame + } + return "" +} + +func (x *CreateModelDeployParam) GetModelId() string { + if x != nil { + return x.ModelId + } + return "" +} + +func (x *CreateModelDeployParam) GetModelVersion() string { + if x != nil { + return x.ModelVersion + } + return "" +} + +func (x *CreateModelDeployParam) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateModelDeployParam) GetResourcePool() string { + if x != nil { + return x.ResourcePool + } + return "" +} + +func (x *CreateModelDeployParam) GetResourceSpecId() string { + if x != nil { + return x.ResourceSpecId + } + return "" +} + +func (x *CreateModelDeployParam) GetResourceType() string { + if x != nil { + return x.ResourceType + } + return "" +} + +func (x *CreateModelDeployParam) GetServiceType() string { + if x != nil { + return x.ServiceType + } + return "" +} + +type CreateModelDeployResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadCreateModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *CreateModelDeployResp) Reset() { + *x = CreateModelDeployResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateModelDeployResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateModelDeployResp) ProtoMessage() {} + +func (x *CreateModelDeployResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[79] + 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 CreateModelDeployResp.ProtoReflect.Descriptor instead. +func (*CreateModelDeployResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{79} +} + +func (x *CreateModelDeployResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CreateModelDeployResp) GetPayload() *PayloadCreateModelDeploy { + if x != nil { + return x.Payload + } + return nil +} + +func (x *CreateModelDeployResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadCreateModelDeploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + ServiceId string `protobuf:"bytes,2,opt,name=serviceId,proto3" json:"serviceId,omitempty"` + ServiceUrl string `protobuf:"bytes,3,opt,name=serviceUrl,proto3" json:"serviceUrl,omitempty"` +} + +func (x *PayloadCreateModelDeploy) Reset() { + *x = PayloadCreateModelDeploy{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadCreateModelDeploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadCreateModelDeploy) ProtoMessage() {} + +func (x *PayloadCreateModelDeploy) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[80] + 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 PayloadCreateModelDeploy.ProtoReflect.Descriptor instead. +func (*PayloadCreateModelDeploy) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{80} +} + +func (x *PayloadCreateModelDeploy) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *PayloadCreateModelDeploy) GetServiceId() string { + if x != nil { + return x.ServiceId + } + return "" +} + +func (x *PayloadCreateModelDeploy) GetServiceUrl() string { + if x != nil { + return x.ServiceUrl + } + return "" +} + +type GetModelDeployListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetModelDeployListReq) Reset() { + *x = GetModelDeployListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployListReq) ProtoMessage() {} + +func (x *GetModelDeployListReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[81] + 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 GetModelDeployListReq.ProtoReflect.Descriptor instead. +func (*GetModelDeployListReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{81} +} + +func (x *GetModelDeployListReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetModelDeployListReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetModelDeployListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetModelDeployListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadGetModelDeployList `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetModelDeployListResp) Reset() { + *x = GetModelDeployListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployListResp) ProtoMessage() {} + +func (x *GetModelDeployListResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[82] + 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 GetModelDeployListResp.ProtoReflect.Descriptor instead. +func (*GetModelDeployListResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{82} +} + +func (x *GetModelDeployListResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetModelDeployListResp) GetPayload() *PayloadGetModelDeployList { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetModelDeployListResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadGetModelDeployList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + DepInfos []*DepInfo `protobuf:"bytes,2,rep,name=depInfos,proto3" json:"depInfos,omitempty"` +} + +func (x *PayloadGetModelDeployList) Reset() { + *x = PayloadGetModelDeployList{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadGetModelDeployList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadGetModelDeployList) ProtoMessage() {} + +func (x *PayloadGetModelDeployList) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[83] + 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 PayloadGetModelDeployList.ProtoReflect.Descriptor instead. +func (*PayloadGetModelDeployList) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{83} +} + +func (x *PayloadGetModelDeployList) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadGetModelDeployList) GetDepInfos() []*DepInfo { + if x != nil { + return x.DepInfos + } + return nil +} + +type DepInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompletedAt int64 `protobuf:"varint,1,opt,name=completedAt,proto3" json:"completedAt,omitempty"` + CreatedAt int64 `protobuf:"varint,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Desc string `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + ModelFrame string `protobuf:"bytes,5,opt,name=modelFrame,proto3" json:"modelFrame,omitempty"` + ModelId string `protobuf:"bytes,6,opt,name=modelId,proto3" json:"modelId,omitempty"` + ModelName string `protobuf:"bytes,7,opt,name=modelName,proto3" json:"modelName,omitempty"` + ModelVersion string `protobuf:"bytes,8,opt,name=modelVersion,proto3" json:"modelVersion,omitempty"` + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` + RunSec int64 `protobuf:"varint,10,opt,name=runSec,proto3" json:"runSec,omitempty"` + ServiceUrl string `protobuf:"bytes,11,opt,name=serviceUrl,proto3" json:"serviceUrl,omitempty"` + StartedAt int64 `protobuf:"varint,12,opt,name=startedAt,proto3" json:"startedAt,omitempty"` + Status string `protobuf:"bytes,13,opt,name=status,proto3" json:"status,omitempty"` + UpdatedAt int64 `protobuf:"varint,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + UserId string `protobuf:"bytes,15,opt,name=userId,proto3" json:"userId,omitempty"` + WorkspaceId string `protobuf:"bytes,16,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"` +} + +func (x *DepInfo) Reset() { + *x = DepInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DepInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DepInfo) ProtoMessage() {} + +func (x *DepInfo) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[84] + 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 DepInfo.ProtoReflect.Descriptor instead. +func (*DepInfo) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{84} +} + +func (x *DepInfo) GetCompletedAt() int64 { + if x != nil { + return x.CompletedAt + } + return 0 +} + +func (x *DepInfo) GetCreatedAt() int64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *DepInfo) GetDesc() string { + if x != nil { + return x.Desc + } + return "" +} + +func (x *DepInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DepInfo) GetModelFrame() string { + if x != nil { + return x.ModelFrame + } + return "" +} + +func (x *DepInfo) GetModelId() string { + if x != nil { + return x.ModelId + } + return "" +} + +func (x *DepInfo) GetModelName() string { + if x != nil { + return x.ModelName + } + return "" +} + +func (x *DepInfo) GetModelVersion() string { + if x != nil { + return x.ModelVersion + } + return "" +} + +func (x *DepInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DepInfo) GetRunSec() int64 { + if x != nil { + return x.RunSec + } + return 0 +} + +func (x *DepInfo) GetServiceUrl() string { + if x != nil { + return x.ServiceUrl + } + return "" +} + +func (x *DepInfo) GetStartedAt() int64 { + if x != nil { + return x.StartedAt + } + return 0 +} + +func (x *DepInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *DepInfo) GetUpdatedAt() int64 { + if x != nil { + return x.UpdatedAt + } + return 0 +} + +func (x *DepInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *DepInfo) GetWorkspaceId() string { + if x != nil { + return x.WorkspaceId + } + return "" +} + +type GetModelDeployReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GetModelDeployReq) Reset() { + *x = GetModelDeployReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployReq) ProtoMessage() {} + +func (x *GetModelDeployReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[85] + 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 GetModelDeployReq.ProtoReflect.Descriptor instead. +func (*GetModelDeployReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{85} +} + +func (x *GetModelDeployReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetModelDeployReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetModelDeployResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadGetModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetModelDeployResp) Reset() { + *x = GetModelDeployResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployResp) ProtoMessage() {} + +func (x *GetModelDeployResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[86] + 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 GetModelDeployResp.ProtoReflect.Descriptor instead. +func (*GetModelDeployResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{86} +} + +func (x *GetModelDeployResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetModelDeployResp) GetPayload() *PayloadGetModelDeploy { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetModelDeployResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadGetModelDeploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DepInfo *DepInfo `protobuf:"bytes,1,opt,name=depInfo,proto3" json:"depInfo,omitempty"` +} + +func (x *PayloadGetModelDeploy) Reset() { + *x = PayloadGetModelDeploy{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadGetModelDeploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadGetModelDeploy) ProtoMessage() {} + +func (x *PayloadGetModelDeploy) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[87] + 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 PayloadGetModelDeploy.ProtoReflect.Descriptor instead. +func (*PayloadGetModelDeploy) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{87} +} + +func (x *PayloadGetModelDeploy) GetDepInfo() *DepInfo { + if x != nil { + return x.DepInfo + } + return nil +} + +type GetModelDeployEventReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + IsMain bool `protobuf:"varint,3,opt,name=isMain,proto3" json:"isMain,omitempty"` + PageIndex int32 `protobuf:"varint,4,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"` + PageSize int32 `protobuf:"varint,5,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetModelDeployEventReq) Reset() { + *x = GetModelDeployEventReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployEventReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployEventReq) ProtoMessage() {} + +func (x *GetModelDeployEventReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[88] + 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 GetModelDeployEventReq.ProtoReflect.Descriptor instead. +func (*GetModelDeployEventReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{88} +} + +func (x *GetModelDeployEventReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetModelDeployEventReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *GetModelDeployEventReq) GetIsMain() bool { + if x != nil { + return x.IsMain + } + return false +} + +func (x *GetModelDeployEventReq) GetPageIndex() int32 { + if x != nil { + return x.PageIndex + } + return 0 +} + +func (x *GetModelDeployEventReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +type GetModelDeployEventResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadGetModelDeployEvent `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *GetModelDeployEventResp) Reset() { + *x = GetModelDeployEventResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetModelDeployEventResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetModelDeployEventResp) ProtoMessage() {} + +func (x *GetModelDeployEventResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[89] + 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 GetModelDeployEventResp.ProtoReflect.Descriptor instead. +func (*GetModelDeployEventResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{89} +} + +func (x *GetModelDeployEventResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetModelDeployEventResp) GetPayload() *PayloadGetModelDeployEvent { + if x != nil { + return x.Payload + } + return nil +} + +func (x *GetModelDeployEventResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadGetModelDeployEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TotalSize int32 `protobuf:"varint,1,opt,name=totalSize,proto3" json:"totalSize,omitempty"` + DepEvents []*DepEvent `protobuf:"bytes,2,rep,name=depEvents,proto3" json:"depEvents,omitempty"` +} + +func (x *PayloadGetModelDeployEvent) Reset() { + *x = PayloadGetModelDeployEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadGetModelDeployEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadGetModelDeployEvent) ProtoMessage() {} + +func (x *PayloadGetModelDeployEvent) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[90] + 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 PayloadGetModelDeployEvent.ProtoReflect.Descriptor instead. +func (*PayloadGetModelDeployEvent) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{90} +} + +func (x *PayloadGetModelDeployEvent) GetTotalSize() int32 { + if x != nil { + return x.TotalSize + } + return 0 +} + +func (x *PayloadGetModelDeployEvent) GetDepEvents() []*DepEvent { + if x != nil { + return x.DepEvents + } + return nil +} + +type DepEvent struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + Timestamp string `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` +} + +func (x *DepEvent) Reset() { + *x = DepEvent{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DepEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DepEvent) ProtoMessage() {} + +func (x *DepEvent) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[91] + 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 DepEvent.ProtoReflect.Descriptor instead. +func (*DepEvent) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{91} +} + +func (x *DepEvent) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *DepEvent) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DepEvent) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *DepEvent) GetTimestamp() string { + if x != nil { + return x.Timestamp + } + return "" +} + +type StopModelDeployReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *StopModelDeployReq) Reset() { + *x = StopModelDeployReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopModelDeployReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopModelDeployReq) ProtoMessage() {} + +func (x *StopModelDeployReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[92] + 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 StopModelDeployReq.ProtoReflect.Descriptor instead. +func (*StopModelDeployReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{92} +} + +func (x *StopModelDeployReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *StopModelDeployReq) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type StopModelDeployResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadStopModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *StopModelDeployResp) Reset() { + *x = StopModelDeployResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopModelDeployResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopModelDeployResp) ProtoMessage() {} + +func (x *StopModelDeployResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[93] + 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 StopModelDeployResp.ProtoReflect.Descriptor instead. +func (*StopModelDeployResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{93} +} + +func (x *StopModelDeployResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *StopModelDeployResp) GetPayload() *PayloadStopModelDeploy { + if x != nil { + return x.Payload + } + return nil +} + +func (x *StopModelDeployResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadStopModelDeploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoppedAt int64 `protobuf:"varint,1,opt,name=stoppedAt,proto3" json:"stoppedAt,omitempty"` +} + +func (x *PayloadStopModelDeploy) Reset() { + *x = PayloadStopModelDeploy{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadStopModelDeploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadStopModelDeploy) ProtoMessage() {} + +func (x *PayloadStopModelDeploy) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[94] + 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 PayloadStopModelDeploy.ProtoReflect.Descriptor instead. +func (*PayloadStopModelDeploy) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{94} +} + +func (x *PayloadStopModelDeploy) GetStoppedAt() int64 { + if x != nil { + return x.StoppedAt + } + return 0 +} + +type DeleteModelDeployReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` + JobIds []string `protobuf:"bytes,2,rep,name=jobIds,proto3" json:"jobIds,omitempty"` +} + +func (x *DeleteModelDeployReq) Reset() { + *x = DeleteModelDeployReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelDeployReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelDeployReq) ProtoMessage() {} + +func (x *DeleteModelDeployReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[95] + 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 DeleteModelDeployReq.ProtoReflect.Descriptor instead. +func (*DeleteModelDeployReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{95} +} + +func (x *DeleteModelDeployReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DeleteModelDeployReq) GetJobIds() []string { + if x != nil { + return x.JobIds + } + return nil +} + +type DeleteModelDeployResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadDeleteModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DeleteModelDeployResp) Reset() { + *x = DeleteModelDeployResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteModelDeployResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteModelDeployResp) ProtoMessage() {} + +func (x *DeleteModelDeployResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[96] + 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 DeleteModelDeployResp.ProtoReflect.Descriptor instead. +func (*DeleteModelDeployResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{96} +} + +func (x *DeleteModelDeployResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *DeleteModelDeployResp) GetPayload() *PayloadDeleteModelDeploy { + if x != nil { + return x.Payload + } + return nil +} + +func (x *DeleteModelDeployResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadDeleteModelDeploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeletedAt int64 `protobuf:"varint,1,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *PayloadDeleteModelDeploy) Reset() { + *x = PayloadDeleteModelDeploy{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadDeleteModelDeploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadDeleteModelDeploy) ProtoMessage() {} + +func (x *PayloadDeleteModelDeploy) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[97] + 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 PayloadDeleteModelDeploy.ProtoReflect.Descriptor instead. +func (*PayloadDeleteModelDeploy) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{97} +} + +func (x *PayloadDeleteModelDeploy) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +type InferModelDeployReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *InferModelDeployReq) Reset() { + *x = InferModelDeployReq{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InferModelDeployReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InferModelDeployReq) ProtoMessage() {} + +func (x *InferModelDeployReq) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[98] + 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 InferModelDeployReq.ProtoReflect.Descriptor instead. +func (*InferModelDeployReq) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{98} +} + +func (x *InferModelDeployReq) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type InferModelDeployResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` + Payload *PayloadInferModelDeploy `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Error *Error `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *InferModelDeployResp) Reset() { + *x = InferModelDeployResp{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InferModelDeployResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InferModelDeployResp) ProtoMessage() {} + +func (x *InferModelDeployResp) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[99] + 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 InferModelDeployResp.ProtoReflect.Descriptor instead. +func (*InferModelDeployResp) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{99} +} + +func (x *InferModelDeployResp) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *InferModelDeployResp) GetPayload() *PayloadInferModelDeploy { + if x != nil { + return x.Payload + } + return nil +} + +func (x *InferModelDeployResp) GetError() *Error { + if x != nil { + return x.Error + } + return nil +} + +type PayloadInferModelDeploy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StoppedAt int64 `protobuf:"varint,1,opt,name=stoppedAt,proto3" json:"stoppedAt,omitempty"` +} + +func (x *PayloadInferModelDeploy) Reset() { + *x = PayloadInferModelDeploy{} + if protoimpl.UnsafeEnabled { + mi := &file_octopus_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayloadInferModelDeploy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayloadInferModelDeploy) ProtoMessage() {} + +func (x *PayloadInferModelDeploy) ProtoReflect() protoreflect.Message { + mi := &file_octopus_proto_msgTypes[100] + 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 PayloadInferModelDeploy.ProtoReflect.Descriptor instead. +func (*PayloadInferModelDeploy) Descriptor() ([]byte, []int) { + return file_octopus_proto_rawDescGZIP(), []int{100} +} + +func (x *PayloadInferModelDeploy) GetStoppedAt() int64 { + if x != nil { + return x.StoppedAt + } + return 0 +} + // *****************Develop Start************************ type CreateNotebookReq struct { state protoimpl.MessageState @@ -4814,7 +6383,7 @@ type CreateNotebookReq struct { func (x *CreateNotebookReq) Reset() { *x = CreateNotebookReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[77] + mi := &file_octopus_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4827,7 +6396,7 @@ func (x *CreateNotebookReq) String() string { func (*CreateNotebookReq) ProtoMessage() {} func (x *CreateNotebookReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[77] + mi := &file_octopus_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4840,7 +6409,7 @@ func (x *CreateNotebookReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNotebookReq.ProtoReflect.Descriptor instead. func (*CreateNotebookReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{77} + return file_octopus_proto_rawDescGZIP(), []int{101} } func (x *CreateNotebookReq) GetPlatform() string { @@ -4881,7 +6450,7 @@ type CreateNotebookParam struct { func (x *CreateNotebookParam) Reset() { *x = CreateNotebookParam{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[78] + mi := &file_octopus_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4894,7 +6463,7 @@ func (x *CreateNotebookParam) String() string { func (*CreateNotebookParam) ProtoMessage() {} func (x *CreateNotebookParam) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[78] + mi := &file_octopus_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4907,7 +6476,7 @@ func (x *CreateNotebookParam) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNotebookParam.ProtoReflect.Descriptor instead. func (*CreateNotebookParam) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{78} + return file_octopus_proto_rawDescGZIP(), []int{102} } func (x *CreateNotebookParam) GetAlgorithmId() string { @@ -5021,7 +6590,7 @@ type CreateNotebookResp struct { func (x *CreateNotebookResp) Reset() { *x = CreateNotebookResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[79] + mi := &file_octopus_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5034,7 +6603,7 @@ func (x *CreateNotebookResp) String() string { func (*CreateNotebookResp) ProtoMessage() {} func (x *CreateNotebookResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[79] + mi := &file_octopus_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5047,7 +6616,7 @@ func (x *CreateNotebookResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateNotebookResp.ProtoReflect.Descriptor instead. func (*CreateNotebookResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{79} + return file_octopus_proto_rawDescGZIP(), []int{103} } func (x *CreateNotebookResp) GetSuccess() bool { @@ -5082,7 +6651,7 @@ type PayloadCreateNotebook struct { func (x *PayloadCreateNotebook) Reset() { *x = PayloadCreateNotebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[80] + mi := &file_octopus_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5095,7 +6664,7 @@ func (x *PayloadCreateNotebook) String() string { func (*PayloadCreateNotebook) ProtoMessage() {} func (x *PayloadCreateNotebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[80] + mi := &file_octopus_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5108,7 +6677,7 @@ func (x *PayloadCreateNotebook) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadCreateNotebook.ProtoReflect.Descriptor instead. func (*PayloadCreateNotebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{80} + return file_octopus_proto_rawDescGZIP(), []int{104} } func (x *PayloadCreateNotebook) GetId() string { @@ -5130,7 +6699,7 @@ type GetNotebookReq struct { func (x *GetNotebookReq) Reset() { *x = GetNotebookReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[81] + mi := &file_octopus_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5143,7 +6712,7 @@ func (x *GetNotebookReq) String() string { func (*GetNotebookReq) ProtoMessage() {} func (x *GetNotebookReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[81] + mi := &file_octopus_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5156,7 +6725,7 @@ func (x *GetNotebookReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookReq.ProtoReflect.Descriptor instead. func (*GetNotebookReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{81} + return file_octopus_proto_rawDescGZIP(), []int{105} } func (x *GetNotebookReq) GetPlatform() string { @@ -5186,7 +6755,7 @@ type GetNotebookResp struct { func (x *GetNotebookResp) Reset() { *x = GetNotebookResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[82] + mi := &file_octopus_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5199,7 +6768,7 @@ func (x *GetNotebookResp) String() string { func (*GetNotebookResp) ProtoMessage() {} func (x *GetNotebookResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[82] + mi := &file_octopus_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5212,7 +6781,7 @@ func (x *GetNotebookResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookResp.ProtoReflect.Descriptor instead. func (*GetNotebookResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{82} + return file_octopus_proto_rawDescGZIP(), []int{106} } func (x *GetNotebookResp) GetSuccess() bool { @@ -5247,7 +6816,7 @@ type PayloadGetNotebook struct { func (x *PayloadGetNotebook) Reset() { *x = PayloadGetNotebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[83] + mi := &file_octopus_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5260,7 +6829,7 @@ func (x *PayloadGetNotebook) String() string { func (*PayloadGetNotebook) ProtoMessage() {} func (x *PayloadGetNotebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[83] + mi := &file_octopus_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5273,7 +6842,7 @@ func (x *PayloadGetNotebook) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetNotebook.ProtoReflect.Descriptor instead. func (*PayloadGetNotebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{83} + return file_octopus_proto_rawDescGZIP(), []int{107} } func (x *PayloadGetNotebook) GetNotebook() *Notebook { @@ -5295,7 +6864,7 @@ type DeleteNotebookReq struct { func (x *DeleteNotebookReq) Reset() { *x = DeleteNotebookReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[84] + mi := &file_octopus_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5308,7 +6877,7 @@ func (x *DeleteNotebookReq) String() string { func (*DeleteNotebookReq) ProtoMessage() {} func (x *DeleteNotebookReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[84] + mi := &file_octopus_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5321,7 +6890,7 @@ func (x *DeleteNotebookReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNotebookReq.ProtoReflect.Descriptor instead. func (*DeleteNotebookReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{84} + return file_octopus_proto_rawDescGZIP(), []int{108} } func (x *DeleteNotebookReq) GetPlatform() string { @@ -5351,7 +6920,7 @@ type DeleteNotebookResp struct { func (x *DeleteNotebookResp) Reset() { *x = DeleteNotebookResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[85] + mi := &file_octopus_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5364,7 +6933,7 @@ func (x *DeleteNotebookResp) String() string { func (*DeleteNotebookResp) ProtoMessage() {} func (x *DeleteNotebookResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[85] + mi := &file_octopus_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5377,7 +6946,7 @@ func (x *DeleteNotebookResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNotebookResp.ProtoReflect.Descriptor instead. func (*DeleteNotebookResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{85} + return file_octopus_proto_rawDescGZIP(), []int{109} } func (x *DeleteNotebookResp) GetSuccess() bool { @@ -5412,7 +6981,7 @@ type PayloadDeleteNotebook struct { func (x *PayloadDeleteNotebook) Reset() { *x = PayloadDeleteNotebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[86] + mi := &file_octopus_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5425,7 +6994,7 @@ func (x *PayloadDeleteNotebook) String() string { func (*PayloadDeleteNotebook) ProtoMessage() {} func (x *PayloadDeleteNotebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[86] + mi := &file_octopus_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5438,7 +7007,7 @@ func (x *PayloadDeleteNotebook) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteNotebook.ProtoReflect.Descriptor instead. func (*PayloadDeleteNotebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{86} + return file_octopus_proto_rawDescGZIP(), []int{110} } func (x *PayloadDeleteNotebook) GetId() string { @@ -5461,7 +7030,7 @@ type GetNotebookListReq struct { func (x *GetNotebookListReq) Reset() { *x = GetNotebookListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[87] + mi := &file_octopus_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5474,7 +7043,7 @@ func (x *GetNotebookListReq) String() string { func (*GetNotebookListReq) ProtoMessage() {} func (x *GetNotebookListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[87] + mi := &file_octopus_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5487,7 +7056,7 @@ func (x *GetNotebookListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookListReq.ProtoReflect.Descriptor instead. func (*GetNotebookListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{87} + return file_octopus_proto_rawDescGZIP(), []int{111} } func (x *GetNotebookListReq) GetPlatform() string { @@ -5524,7 +7093,7 @@ type GetNotebookListResp struct { func (x *GetNotebookListResp) Reset() { *x = GetNotebookListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[88] + mi := &file_octopus_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5537,7 +7106,7 @@ func (x *GetNotebookListResp) String() string { func (*GetNotebookListResp) ProtoMessage() {} func (x *GetNotebookListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[88] + mi := &file_octopus_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5550,7 +7119,7 @@ func (x *GetNotebookListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNotebookListResp.ProtoReflect.Descriptor instead. func (*GetNotebookListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{88} + return file_octopus_proto_rawDescGZIP(), []int{112} } func (x *GetNotebookListResp) GetSuccess() bool { @@ -5586,7 +7155,7 @@ type PayloadNotebookList struct { func (x *PayloadNotebookList) Reset() { *x = PayloadNotebookList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[89] + mi := &file_octopus_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5599,7 +7168,7 @@ func (x *PayloadNotebookList) String() string { func (*PayloadNotebookList) ProtoMessage() {} func (x *PayloadNotebookList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[89] + mi := &file_octopus_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5612,7 +7181,7 @@ func (x *PayloadNotebookList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadNotebookList.ProtoReflect.Descriptor instead. func (*PayloadNotebookList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{89} + return file_octopus_proto_rawDescGZIP(), []int{113} } func (x *PayloadNotebookList) GetTotalSize() int32 { @@ -5662,7 +7231,7 @@ type Notebook struct { func (x *Notebook) Reset() { *x = Notebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[90] + mi := &file_octopus_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5675,7 +7244,7 @@ func (x *Notebook) String() string { func (*Notebook) ProtoMessage() {} func (x *Notebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[90] + mi := &file_octopus_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5688,7 +7257,7 @@ func (x *Notebook) ProtoReflect() protoreflect.Message { // Deprecated: Use Notebook.ProtoReflect.Descriptor instead. func (*Notebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{90} + return file_octopus_proto_rawDescGZIP(), []int{114} } func (x *Notebook) GetCreatedAt() int64 { @@ -5864,7 +7433,7 @@ type Tasks struct { func (x *Tasks) Reset() { *x = Tasks{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[91] + mi := &file_octopus_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5877,7 +7446,7 @@ func (x *Tasks) String() string { func (*Tasks) ProtoMessage() {} func (x *Tasks) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[91] + mi := &file_octopus_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5890,7 +7459,7 @@ func (x *Tasks) ProtoReflect() protoreflect.Message { // Deprecated: Use Tasks.ProtoReflect.Descriptor instead. func (*Tasks) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{91} + return file_octopus_proto_rawDescGZIP(), []int{115} } func (x *Tasks) GetUrl() string { @@ -5919,7 +7488,7 @@ type StartNotebookReq struct { func (x *StartNotebookReq) Reset() { *x = StartNotebookReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[92] + mi := &file_octopus_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5932,7 +7501,7 @@ func (x *StartNotebookReq) String() string { func (*StartNotebookReq) ProtoMessage() {} func (x *StartNotebookReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[92] + mi := &file_octopus_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5945,7 +7514,7 @@ func (x *StartNotebookReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StartNotebookReq.ProtoReflect.Descriptor instead. func (*StartNotebookReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{92} + return file_octopus_proto_rawDescGZIP(), []int{116} } func (x *StartNotebookReq) GetPlatform() string { @@ -5975,7 +7544,7 @@ type StartNotebookResp struct { func (x *StartNotebookResp) Reset() { *x = StartNotebookResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[93] + mi := &file_octopus_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5988,7 +7557,7 @@ func (x *StartNotebookResp) String() string { func (*StartNotebookResp) ProtoMessage() {} func (x *StartNotebookResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[93] + mi := &file_octopus_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6001,7 +7570,7 @@ func (x *StartNotebookResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StartNotebookResp.ProtoReflect.Descriptor instead. func (*StartNotebookResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{93} + return file_octopus_proto_rawDescGZIP(), []int{117} } func (x *StartNotebookResp) GetSuccess() bool { @@ -6036,7 +7605,7 @@ type PayloadStartNotebook struct { func (x *PayloadStartNotebook) Reset() { *x = PayloadStartNotebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[94] + mi := &file_octopus_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6049,7 +7618,7 @@ func (x *PayloadStartNotebook) String() string { func (*PayloadStartNotebook) ProtoMessage() {} func (x *PayloadStartNotebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[94] + mi := &file_octopus_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6062,7 +7631,7 @@ func (x *PayloadStartNotebook) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadStartNotebook.ProtoReflect.Descriptor instead. func (*PayloadStartNotebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{94} + return file_octopus_proto_rawDescGZIP(), []int{118} } func (x *PayloadStartNotebook) GetId() string { @@ -6084,7 +7653,7 @@ type StopNotebookReq struct { func (x *StopNotebookReq) Reset() { *x = StopNotebookReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[95] + mi := &file_octopus_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6097,7 +7666,7 @@ func (x *StopNotebookReq) String() string { func (*StopNotebookReq) ProtoMessage() {} func (x *StopNotebookReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[95] + mi := &file_octopus_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6110,7 +7679,7 @@ func (x *StopNotebookReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StopNotebookReq.ProtoReflect.Descriptor instead. func (*StopNotebookReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{95} + return file_octopus_proto_rawDescGZIP(), []int{119} } func (x *StopNotebookReq) GetPlatform() string { @@ -6140,7 +7709,7 @@ type StopNotebookResp struct { func (x *StopNotebookResp) Reset() { *x = StopNotebookResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[96] + mi := &file_octopus_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6153,7 +7722,7 @@ func (x *StopNotebookResp) String() string { func (*StopNotebookResp) ProtoMessage() {} func (x *StopNotebookResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[96] + mi := &file_octopus_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6166,7 +7735,7 @@ func (x *StopNotebookResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StopNotebookResp.ProtoReflect.Descriptor instead. func (*StopNotebookResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{96} + return file_octopus_proto_rawDescGZIP(), []int{120} } func (x *StopNotebookResp) GetSuccess() bool { @@ -6201,7 +7770,7 @@ type PayloadStopNotebook struct { func (x *PayloadStopNotebook) Reset() { *x = PayloadStopNotebook{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[97] + mi := &file_octopus_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6214,7 +7783,7 @@ func (x *PayloadStopNotebook) String() string { func (*PayloadStopNotebook) ProtoMessage() {} func (x *PayloadStopNotebook) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[97] + mi := &file_octopus_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6227,7 +7796,7 @@ func (x *PayloadStopNotebook) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadStopNotebook.ProtoReflect.Descriptor instead. func (*PayloadStopNotebook) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{97} + return file_octopus_proto_rawDescGZIP(), []int{121} } func (x *PayloadStopNotebook) GetId() string { @@ -6251,7 +7820,7 @@ type GetUserImageListReq struct { func (x *GetUserImageListReq) Reset() { *x = GetUserImageListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[98] + mi := &file_octopus_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6264,7 +7833,7 @@ func (x *GetUserImageListReq) String() string { func (*GetUserImageListReq) ProtoMessage() {} func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[98] + mi := &file_octopus_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6277,7 +7846,7 @@ func (x *GetUserImageListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListReq.ProtoReflect.Descriptor instead. func (*GetUserImageListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{98} + return file_octopus_proto_rawDescGZIP(), []int{122} } func (x *GetUserImageListReq) GetPlatform() string { @@ -6314,7 +7883,7 @@ type GetUserImageListResp struct { func (x *GetUserImageListResp) Reset() { *x = GetUserImageListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[99] + mi := &file_octopus_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6327,7 +7896,7 @@ func (x *GetUserImageListResp) String() string { func (*GetUserImageListResp) ProtoMessage() {} func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[99] + mi := &file_octopus_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6340,7 +7909,7 @@ func (x *GetUserImageListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserImageListResp.ProtoReflect.Descriptor instead. func (*GetUserImageListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{99} + return file_octopus_proto_rawDescGZIP(), []int{123} } func (x *GetUserImageListResp) GetSuccess() bool { @@ -6376,7 +7945,7 @@ type PayloadUserImageList struct { func (x *PayloadUserImageList) Reset() { *x = PayloadUserImageList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[100] + mi := &file_octopus_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6389,7 +7958,7 @@ func (x *PayloadUserImageList) String() string { func (*PayloadUserImageList) ProtoMessage() {} func (x *PayloadUserImageList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[100] + mi := &file_octopus_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6402,7 +7971,7 @@ func (x *PayloadUserImageList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadUserImageList.ProtoReflect.Descriptor instead. func (*PayloadUserImageList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{100} + return file_octopus_proto_rawDescGZIP(), []int{124} } func (x *PayloadUserImageList) GetTotalSize() int32 { @@ -6431,7 +8000,7 @@ type Images struct { func (x *Images) Reset() { *x = Images{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[101] + mi := &file_octopus_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6444,7 +8013,7 @@ func (x *Images) String() string { func (*Images) ProtoMessage() {} func (x *Images) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[101] + mi := &file_octopus_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6457,7 +8026,7 @@ func (x *Images) ProtoReflect() protoreflect.Message { // Deprecated: Use Images.ProtoReflect.Descriptor instead. func (*Images) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{101} + return file_octopus_proto_rawDescGZIP(), []int{125} } func (x *Images) GetIsShared() bool { @@ -6497,7 +8066,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[102] + mi := &file_octopus_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6510,7 +8079,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[102] + mi := &file_octopus_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6523,7 +8092,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{102} + return file_octopus_proto_rawDescGZIP(), []int{126} } func (x *Image) GetId() string { @@ -6629,7 +8198,7 @@ type DeleteImageReq struct { func (x *DeleteImageReq) Reset() { *x = DeleteImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[103] + mi := &file_octopus_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6642,7 +8211,7 @@ func (x *DeleteImageReq) String() string { func (*DeleteImageReq) ProtoMessage() {} func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[103] + mi := &file_octopus_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6655,7 +8224,7 @@ func (x *DeleteImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageReq.ProtoReflect.Descriptor instead. func (*DeleteImageReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{103} + return file_octopus_proto_rawDescGZIP(), []int{127} } func (x *DeleteImageReq) GetPlatform() string { @@ -6685,7 +8254,7 @@ type DeleteImageResp struct { func (x *DeleteImageResp) Reset() { *x = DeleteImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[104] + mi := &file_octopus_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6698,7 +8267,7 @@ func (x *DeleteImageResp) String() string { func (*DeleteImageResp) ProtoMessage() {} func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[104] + mi := &file_octopus_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6711,7 +8280,7 @@ func (x *DeleteImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageResp.ProtoReflect.Descriptor instead. func (*DeleteImageResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{104} + return file_octopus_proto_rawDescGZIP(), []int{128} } func (x *DeleteImageResp) GetSuccess() bool { @@ -6746,7 +8315,7 @@ type PayloadDeleteImage struct { func (x *PayloadDeleteImage) Reset() { *x = PayloadDeleteImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[105] + mi := &file_octopus_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6759,7 +8328,7 @@ func (x *PayloadDeleteImage) String() string { func (*PayloadDeleteImage) ProtoMessage() {} func (x *PayloadDeleteImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[105] + mi := &file_octopus_proto_msgTypes[129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6772,7 +8341,7 @@ func (x *PayloadDeleteImage) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteImage.ProtoReflect.Descriptor instead. func (*PayloadDeleteImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{105} + return file_octopus_proto_rawDescGZIP(), []int{129} } func (x *PayloadDeleteImage) GetDeletedAt() int64 { @@ -6794,7 +8363,7 @@ type CreateImageReq struct { func (x *CreateImageReq) Reset() { *x = CreateImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[106] + mi := &file_octopus_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6807,7 +8376,7 @@ func (x *CreateImageReq) String() string { func (*CreateImageReq) ProtoMessage() {} func (x *CreateImageReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[106] + mi := &file_octopus_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6820,7 +8389,7 @@ func (x *CreateImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageReq.ProtoReflect.Descriptor instead. func (*CreateImageReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{106} + return file_octopus_proto_rawDescGZIP(), []int{130} } func (x *CreateImageReq) GetPlatform() string { @@ -6852,7 +8421,7 @@ type CreateImage struct { func (x *CreateImage) Reset() { *x = CreateImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[107] + mi := &file_octopus_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6865,7 +8434,7 @@ func (x *CreateImage) String() string { func (*CreateImage) ProtoMessage() {} func (x *CreateImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[107] + mi := &file_octopus_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6878,7 +8447,7 @@ func (x *CreateImage) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImage.ProtoReflect.Descriptor instead. func (*CreateImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{107} + return file_octopus_proto_rawDescGZIP(), []int{131} } func (x *CreateImage) GetImageAddr() string { @@ -6929,7 +8498,7 @@ type CreateImageResp struct { func (x *CreateImageResp) Reset() { *x = CreateImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[108] + mi := &file_octopus_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6942,7 +8511,7 @@ func (x *CreateImageResp) String() string { func (*CreateImageResp) ProtoMessage() {} func (x *CreateImageResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[108] + mi := &file_octopus_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6955,7 +8524,7 @@ func (x *CreateImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateImageResp.ProtoReflect.Descriptor instead. func (*CreateImageResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{108} + return file_octopus_proto_rawDescGZIP(), []int{132} } func (x *CreateImageResp) GetSuccess() bool { @@ -6991,7 +8560,7 @@ type PayloadCreateImage struct { func (x *PayloadCreateImage) Reset() { *x = PayloadCreateImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[109] + mi := &file_octopus_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7004,7 +8573,7 @@ func (x *PayloadCreateImage) String() string { func (*PayloadCreateImage) ProtoMessage() {} func (x *PayloadCreateImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[109] + mi := &file_octopus_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7017,7 +8586,7 @@ func (x *PayloadCreateImage) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadCreateImage.ProtoReflect.Descriptor instead. func (*PayloadCreateImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{109} + return file_octopus_proto_rawDescGZIP(), []int{133} } func (x *PayloadCreateImage) GetImageId() string { @@ -7047,7 +8616,7 @@ type UploadImageReq struct { func (x *UploadImageReq) Reset() { *x = UploadImageReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[110] + mi := &file_octopus_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7060,7 +8629,7 @@ func (x *UploadImageReq) String() string { func (*UploadImageReq) ProtoMessage() {} func (x *UploadImageReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[110] + mi := &file_octopus_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7073,7 +8642,7 @@ func (x *UploadImageReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadImageReq.ProtoReflect.Descriptor instead. func (*UploadImageReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{110} + return file_octopus_proto_rawDescGZIP(), []int{134} } func (x *UploadImageReq) GetPlatform() string { @@ -7109,7 +8678,7 @@ type UploadImageParam struct { func (x *UploadImageParam) Reset() { *x = UploadImageParam{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[111] + mi := &file_octopus_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7122,7 +8691,7 @@ func (x *UploadImageParam) String() string { func (*UploadImageParam) ProtoMessage() {} func (x *UploadImageParam) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[111] + mi := &file_octopus_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7135,7 +8704,7 @@ func (x *UploadImageParam) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadImageParam.ProtoReflect.Descriptor instead. func (*UploadImageParam) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{111} + return file_octopus_proto_rawDescGZIP(), []int{135} } func (x *UploadImageParam) GetDomain() string { @@ -7165,7 +8734,7 @@ type UploadImageResp struct { func (x *UploadImageResp) Reset() { *x = UploadImageResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[112] + mi := &file_octopus_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7178,7 +8747,7 @@ func (x *UploadImageResp) String() string { func (*UploadImageResp) ProtoMessage() {} func (x *UploadImageResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[112] + mi := &file_octopus_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7191,7 +8760,7 @@ func (x *UploadImageResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadImageResp.ProtoReflect.Descriptor instead. func (*UploadImageResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{112} + return file_octopus_proto_rawDescGZIP(), []int{136} } func (x *UploadImageResp) GetSuccess() bool { @@ -7227,7 +8796,7 @@ type PayloadUploadImage struct { func (x *PayloadUploadImage) Reset() { *x = PayloadUploadImage{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[113] + mi := &file_octopus_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7240,7 +8809,7 @@ func (x *PayloadUploadImage) String() string { func (*PayloadUploadImage) ProtoMessage() {} func (x *PayloadUploadImage) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[113] + mi := &file_octopus_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7253,7 +8822,7 @@ func (x *PayloadUploadImage) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadUploadImage.ProtoReflect.Descriptor instead. func (*PayloadUploadImage) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{113} + return file_octopus_proto_rawDescGZIP(), []int{137} } func (x *PayloadUploadImage) GetUploadUrl() string { @@ -7283,7 +8852,7 @@ type Headers struct { func (x *Headers) Reset() { *x = Headers{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[114] + mi := &file_octopus_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7296,7 +8865,7 @@ func (x *Headers) String() string { func (*Headers) ProtoMessage() {} func (x *Headers) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[114] + mi := &file_octopus_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7309,7 +8878,7 @@ func (x *Headers) ProtoReflect() protoreflect.Message { // Deprecated: Use Headers.ProtoReflect.Descriptor instead. func (*Headers) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{114} + return file_octopus_proto_rawDescGZIP(), []int{138} } func (x *Headers) GetAdditionalProp1() string { @@ -7345,7 +8914,7 @@ type UploadImageConfirmReq struct { func (x *UploadImageConfirmReq) Reset() { *x = UploadImageConfirmReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[115] + mi := &file_octopus_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7358,7 +8927,7 @@ func (x *UploadImageConfirmReq) String() string { func (*UploadImageConfirmReq) ProtoMessage() {} func (x *UploadImageConfirmReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[115] + mi := &file_octopus_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7371,7 +8940,7 @@ func (x *UploadImageConfirmReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadImageConfirmReq.ProtoReflect.Descriptor instead. func (*UploadImageConfirmReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{115} + return file_octopus_proto_rawDescGZIP(), []int{139} } func (x *UploadImageConfirmReq) GetPlatform() string { @@ -7401,7 +8970,7 @@ type UploadImageConfirmResp struct { func (x *UploadImageConfirmResp) Reset() { *x = UploadImageConfirmResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[116] + mi := &file_octopus_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7414,7 +8983,7 @@ func (x *UploadImageConfirmResp) String() string { func (*UploadImageConfirmResp) ProtoMessage() {} func (x *UploadImageConfirmResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[116] + mi := &file_octopus_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7427,7 +8996,7 @@ func (x *UploadImageConfirmResp) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadImageConfirmResp.ProtoReflect.Descriptor instead. func (*UploadImageConfirmResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{116} + return file_octopus_proto_rawDescGZIP(), []int{140} } func (x *UploadImageConfirmResp) GetSuccess() bool { @@ -7462,7 +9031,7 @@ type PayloadUploadImageConfirm struct { func (x *PayloadUploadImageConfirm) Reset() { *x = PayloadUploadImageConfirm{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[117] + mi := &file_octopus_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7475,7 +9044,7 @@ func (x *PayloadUploadImageConfirm) String() string { func (*PayloadUploadImageConfirm) ProtoMessage() {} func (x *PayloadUploadImageConfirm) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[117] + mi := &file_octopus_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7488,7 +9057,7 @@ func (x *PayloadUploadImageConfirm) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadUploadImageConfirm.ProtoReflect.Descriptor instead. func (*PayloadUploadImageConfirm) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{117} + return file_octopus_proto_rawDescGZIP(), []int{141} } func (x *PayloadUploadImageConfirm) GetUpdatedAt() int64 { @@ -7513,7 +9082,7 @@ type GetModelVersionListReq struct { func (x *GetModelVersionListReq) Reset() { *x = GetModelVersionListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[118] + mi := &file_octopus_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7526,7 +9095,7 @@ func (x *GetModelVersionListReq) String() string { func (*GetModelVersionListReq) ProtoMessage() {} func (x *GetModelVersionListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[118] + mi := &file_octopus_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7539,7 +9108,7 @@ func (x *GetModelVersionListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetModelVersionListReq.ProtoReflect.Descriptor instead. func (*GetModelVersionListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{118} + return file_octopus_proto_rawDescGZIP(), []int{142} } func (x *GetModelVersionListReq) GetPlatform() string { @@ -7583,7 +9152,7 @@ type GetModelVersionListResp struct { func (x *GetModelVersionListResp) Reset() { *x = GetModelVersionListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[119] + mi := &file_octopus_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7596,7 +9165,7 @@ func (x *GetModelVersionListResp) String() string { func (*GetModelVersionListResp) ProtoMessage() {} func (x *GetModelVersionListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[119] + mi := &file_octopus_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7609,7 +9178,7 @@ func (x *GetModelVersionListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetModelVersionListResp.ProtoReflect.Descriptor instead. func (*GetModelVersionListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{119} + return file_octopus_proto_rawDescGZIP(), []int{143} } func (x *GetModelVersionListResp) GetSuccess() bool { @@ -7645,7 +9214,7 @@ type PayloadGetModelVersionList struct { func (x *PayloadGetModelVersionList) Reset() { *x = PayloadGetModelVersionList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[120] + mi := &file_octopus_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7658,7 +9227,7 @@ func (x *PayloadGetModelVersionList) String() string { func (*PayloadGetModelVersionList) ProtoMessage() {} func (x *PayloadGetModelVersionList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[120] + mi := &file_octopus_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7671,7 +9240,7 @@ func (x *PayloadGetModelVersionList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetModelVersionList.ProtoReflect.Descriptor instead. func (*PayloadGetModelVersionList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{120} + return file_octopus_proto_rawDescGZIP(), []int{144} } func (x *PayloadGetModelVersionList) GetTotalSize() int32 { @@ -7700,7 +9269,7 @@ type ModelVersion struct { func (x *ModelVersion) Reset() { *x = ModelVersion{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[121] + mi := &file_octopus_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7713,7 +9282,7 @@ func (x *ModelVersion) String() string { func (*ModelVersion) ProtoMessage() {} func (x *ModelVersion) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[121] + mi := &file_octopus_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7726,7 +9295,7 @@ func (x *ModelVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use ModelVersion.ProtoReflect.Descriptor instead. func (*ModelVersion) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{121} + return file_octopus_proto_rawDescGZIP(), []int{145} } func (x *ModelVersion) GetIsShared() bool { @@ -7758,7 +9327,7 @@ type VersionDetail struct { func (x *VersionDetail) Reset() { *x = VersionDetail{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[122] + mi := &file_octopus_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7771,7 +9340,7 @@ func (x *VersionDetail) String() string { func (*VersionDetail) ProtoMessage() {} func (x *VersionDetail) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[122] + mi := &file_octopus_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7784,7 +9353,7 @@ func (x *VersionDetail) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionDetail.ProtoReflect.Descriptor instead. func (*VersionDetail) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{122} + return file_octopus_proto_rawDescGZIP(), []int{146} } func (x *VersionDetail) GetCreatedAt() int64 { @@ -7834,7 +9403,7 @@ type DeleteMyModelReq struct { func (x *DeleteMyModelReq) Reset() { *x = DeleteMyModelReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[123] + mi := &file_octopus_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7847,7 +9416,7 @@ func (x *DeleteMyModelReq) String() string { func (*DeleteMyModelReq) ProtoMessage() {} func (x *DeleteMyModelReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[123] + mi := &file_octopus_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7860,7 +9429,7 @@ func (x *DeleteMyModelReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyModelReq.ProtoReflect.Descriptor instead. func (*DeleteMyModelReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{123} + return file_octopus_proto_rawDescGZIP(), []int{147} } func (x *DeleteMyModelReq) GetPlatform() string { @@ -7890,7 +9459,7 @@ type DeleteMyModelResp struct { func (x *DeleteMyModelResp) Reset() { *x = DeleteMyModelResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[124] + mi := &file_octopus_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7903,7 +9472,7 @@ func (x *DeleteMyModelResp) String() string { func (*DeleteMyModelResp) ProtoMessage() {} func (x *DeleteMyModelResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[124] + mi := &file_octopus_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7916,7 +9485,7 @@ func (x *DeleteMyModelResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMyModelResp.ProtoReflect.Descriptor instead. func (*DeleteMyModelResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{124} + return file_octopus_proto_rawDescGZIP(), []int{148} } func (x *DeleteMyModelResp) GetSuccess() bool { @@ -7951,7 +9520,7 @@ type PayloadDeleteMyModel struct { func (x *PayloadDeleteMyModel) Reset() { *x = PayloadDeleteMyModel{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[125] + mi := &file_octopus_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7964,7 +9533,7 @@ func (x *PayloadDeleteMyModel) String() string { func (*PayloadDeleteMyModel) ProtoMessage() {} func (x *PayloadDeleteMyModel) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[125] + mi := &file_octopus_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7977,7 +9546,7 @@ func (x *PayloadDeleteMyModel) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteMyModel.ProtoReflect.Descriptor instead. func (*PayloadDeleteMyModel) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{125} + return file_octopus_proto_rawDescGZIP(), []int{149} } func (x *PayloadDeleteMyModel) GetDeletedAt() int64 { @@ -8000,7 +9569,7 @@ type DeleteModelVersionReq struct { func (x *DeleteModelVersionReq) Reset() { *x = DeleteModelVersionReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[126] + mi := &file_octopus_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8013,7 +9582,7 @@ func (x *DeleteModelVersionReq) String() string { func (*DeleteModelVersionReq) ProtoMessage() {} func (x *DeleteModelVersionReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[126] + mi := &file_octopus_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8026,7 +9595,7 @@ func (x *DeleteModelVersionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteModelVersionReq.ProtoReflect.Descriptor instead. func (*DeleteModelVersionReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{126} + return file_octopus_proto_rawDescGZIP(), []int{150} } func (x *DeleteModelVersionReq) GetPlatform() string { @@ -8063,7 +9632,7 @@ type DeleteModelVersionResp struct { func (x *DeleteModelVersionResp) Reset() { *x = DeleteModelVersionResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[127] + mi := &file_octopus_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8076,7 +9645,7 @@ func (x *DeleteModelVersionResp) String() string { func (*DeleteModelVersionResp) ProtoMessage() {} func (x *DeleteModelVersionResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[127] + mi := &file_octopus_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8089,7 +9658,7 @@ func (x *DeleteModelVersionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteModelVersionResp.ProtoReflect.Descriptor instead. func (*DeleteModelVersionResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{127} + return file_octopus_proto_rawDescGZIP(), []int{151} } func (x *DeleteModelVersionResp) GetSuccess() bool { @@ -8124,7 +9693,7 @@ type PayloadDeleteModelVersion struct { func (x *PayloadDeleteModelVersion) Reset() { *x = PayloadDeleteModelVersion{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[128] + mi := &file_octopus_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8137,7 +9706,7 @@ func (x *PayloadDeleteModelVersion) String() string { func (*PayloadDeleteModelVersion) ProtoMessage() {} func (x *PayloadDeleteModelVersion) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[128] + mi := &file_octopus_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8150,7 +9719,7 @@ func (x *PayloadDeleteModelVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteModelVersion.ProtoReflect.Descriptor instead. func (*PayloadDeleteModelVersion) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{128} + return file_octopus_proto_rawDescGZIP(), []int{152} } func (x *PayloadDeleteModelVersion) GetDeletedAt() int64 { @@ -8174,7 +9743,7 @@ type DownloadModelVersionReq struct { func (x *DownloadModelVersionReq) Reset() { *x = DownloadModelVersionReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[129] + mi := &file_octopus_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8187,7 +9756,7 @@ func (x *DownloadModelVersionReq) String() string { func (*DownloadModelVersionReq) ProtoMessage() {} func (x *DownloadModelVersionReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[129] + mi := &file_octopus_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8200,7 +9769,7 @@ func (x *DownloadModelVersionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DownloadModelVersionReq.ProtoReflect.Descriptor instead. func (*DownloadModelVersionReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{129} + return file_octopus_proto_rawDescGZIP(), []int{153} } func (x *DownloadModelVersionReq) GetPlatform() string { @@ -8244,7 +9813,7 @@ type DownloadModelVersionResp struct { func (x *DownloadModelVersionResp) Reset() { *x = DownloadModelVersionResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[130] + mi := &file_octopus_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8257,7 +9826,7 @@ func (x *DownloadModelVersionResp) String() string { func (*DownloadModelVersionResp) ProtoMessage() {} func (x *DownloadModelVersionResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[130] + mi := &file_octopus_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8270,7 +9839,7 @@ func (x *DownloadModelVersionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DownloadModelVersionResp.ProtoReflect.Descriptor instead. func (*DownloadModelVersionResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{130} + return file_octopus_proto_rawDescGZIP(), []int{154} } func (x *DownloadModelVersionResp) GetSuccess() bool { @@ -8305,7 +9874,7 @@ type PayloadDownloadModelVersion struct { func (x *PayloadDownloadModelVersion) Reset() { *x = PayloadDownloadModelVersion{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[131] + mi := &file_octopus_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8318,7 +9887,7 @@ func (x *PayloadDownloadModelVersion) String() string { func (*PayloadDownloadModelVersion) ProtoMessage() {} func (x *PayloadDownloadModelVersion) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[131] + mi := &file_octopus_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8331,7 +9900,7 @@ func (x *PayloadDownloadModelVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDownloadModelVersion.ProtoReflect.Descriptor instead. func (*PayloadDownloadModelVersion) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{131} + return file_octopus_proto_rawDescGZIP(), []int{155} } func (x *PayloadDownloadModelVersion) GetDownloadUrl() string { @@ -8354,7 +9923,7 @@ type GetMyModelListReq struct { func (x *GetMyModelListReq) Reset() { *x = GetMyModelListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[132] + mi := &file_octopus_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8367,7 +9936,7 @@ func (x *GetMyModelListReq) String() string { func (*GetMyModelListReq) ProtoMessage() {} func (x *GetMyModelListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[132] + mi := &file_octopus_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8380,7 +9949,7 @@ func (x *GetMyModelListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyModelListReq.ProtoReflect.Descriptor instead. func (*GetMyModelListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{132} + return file_octopus_proto_rawDescGZIP(), []int{156} } func (x *GetMyModelListReq) GetPlatform() string { @@ -8417,7 +9986,7 @@ type GetMyModelListResp struct { func (x *GetMyModelListResp) Reset() { *x = GetMyModelListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[133] + mi := &file_octopus_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8430,7 +9999,7 @@ func (x *GetMyModelListResp) String() string { func (*GetMyModelListResp) ProtoMessage() {} func (x *GetMyModelListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[133] + mi := &file_octopus_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8443,7 +10012,7 @@ func (x *GetMyModelListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyModelListResp.ProtoReflect.Descriptor instead. func (*GetMyModelListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{133} + return file_octopus_proto_rawDescGZIP(), []int{157} } func (x *GetMyModelListResp) GetSuccess() bool { @@ -8479,7 +10048,7 @@ type PayloadGetMyModelList struct { func (x *PayloadGetMyModelList) Reset() { *x = PayloadGetMyModelList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[134] + mi := &file_octopus_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8492,7 +10061,7 @@ func (x *PayloadGetMyModelList) String() string { func (*PayloadGetMyModelList) ProtoMessage() {} func (x *PayloadGetMyModelList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[134] + mi := &file_octopus_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8505,7 +10074,7 @@ func (x *PayloadGetMyModelList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetMyModelList.ProtoReflect.Descriptor instead. func (*PayloadGetMyModelList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{134} + return file_octopus_proto_rawDescGZIP(), []int{158} } func (x *PayloadGetMyModelList) GetTotalSize() int32 { @@ -8544,7 +10113,7 @@ type Model struct { func (x *Model) Reset() { *x = Model{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[135] + mi := &file_octopus_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8557,7 +10126,7 @@ func (x *Model) String() string { func (*Model) ProtoMessage() {} func (x *Model) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[135] + mi := &file_octopus_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8570,7 +10139,7 @@ func (x *Model) ProtoReflect() protoreflect.Message { // Deprecated: Use Model.ProtoReflect.Descriptor instead. func (*Model) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{135} + return file_octopus_proto_rawDescGZIP(), []int{159} } func (x *Model) GetAlgorithmName() string { @@ -8670,7 +10239,7 @@ type GetTrainJobReq struct { func (x *GetTrainJobReq) Reset() { *x = GetTrainJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[136] + mi := &file_octopus_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8683,7 +10252,7 @@ func (x *GetTrainJobReq) String() string { func (*GetTrainJobReq) ProtoMessage() {} func (x *GetTrainJobReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[136] + mi := &file_octopus_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8696,7 +10265,7 @@ func (x *GetTrainJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobReq.ProtoReflect.Descriptor instead. func (*GetTrainJobReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{136} + return file_octopus_proto_rawDescGZIP(), []int{160} } func (x *GetTrainJobReq) GetPlatform() string { @@ -8726,7 +10295,7 @@ type GetTrainJobResp struct { func (x *GetTrainJobResp) Reset() { *x = GetTrainJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[137] + mi := &file_octopus_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8739,7 +10308,7 @@ func (x *GetTrainJobResp) String() string { func (*GetTrainJobResp) ProtoMessage() {} func (x *GetTrainJobResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[137] + mi := &file_octopus_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8752,7 +10321,7 @@ func (x *GetTrainJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobResp.ProtoReflect.Descriptor instead. func (*GetTrainJobResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{137} + return file_octopus_proto_rawDescGZIP(), []int{161} } func (x *GetTrainJobResp) GetSuccess() bool { @@ -8787,7 +10356,7 @@ type PayloadGetTrainJob struct { func (x *PayloadGetTrainJob) Reset() { *x = PayloadGetTrainJob{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[138] + mi := &file_octopus_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8800,7 +10369,7 @@ func (x *PayloadGetTrainJob) String() string { func (*PayloadGetTrainJob) ProtoMessage() {} func (x *PayloadGetTrainJob) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[138] + mi := &file_octopus_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8813,7 +10382,7 @@ func (x *PayloadGetTrainJob) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetTrainJob.ProtoReflect.Descriptor instead. func (*PayloadGetTrainJob) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{138} + return file_octopus_proto_rawDescGZIP(), []int{162} } func (x *PayloadGetTrainJob) GetTrainJob() *TrainJob { @@ -8835,7 +10404,7 @@ type DeleteTrainJobReq struct { func (x *DeleteTrainJobReq) Reset() { *x = DeleteTrainJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[139] + mi := &file_octopus_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8848,7 +10417,7 @@ func (x *DeleteTrainJobReq) String() string { func (*DeleteTrainJobReq) ProtoMessage() {} func (x *DeleteTrainJobReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[139] + mi := &file_octopus_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8861,7 +10430,7 @@ func (x *DeleteTrainJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTrainJobReq.ProtoReflect.Descriptor instead. func (*DeleteTrainJobReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{139} + return file_octopus_proto_rawDescGZIP(), []int{163} } func (x *DeleteTrainJobReq) GetPlatform() string { @@ -8891,7 +10460,7 @@ type DeleteTrainJobResp struct { func (x *DeleteTrainJobResp) Reset() { *x = DeleteTrainJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[140] + mi := &file_octopus_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8904,7 +10473,7 @@ func (x *DeleteTrainJobResp) String() string { func (*DeleteTrainJobResp) ProtoMessage() {} func (x *DeleteTrainJobResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[140] + mi := &file_octopus_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8917,7 +10486,7 @@ func (x *DeleteTrainJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTrainJobResp.ProtoReflect.Descriptor instead. func (*DeleteTrainJobResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{140} + return file_octopus_proto_rawDescGZIP(), []int{164} } func (x *DeleteTrainJobResp) GetSuccess() bool { @@ -8952,7 +10521,7 @@ type PayloadDeleteTrainJob struct { func (x *PayloadDeleteTrainJob) Reset() { *x = PayloadDeleteTrainJob{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[141] + mi := &file_octopus_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8965,7 +10534,7 @@ func (x *PayloadDeleteTrainJob) String() string { func (*PayloadDeleteTrainJob) ProtoMessage() {} func (x *PayloadDeleteTrainJob) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[141] + mi := &file_octopus_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8978,7 +10547,7 @@ func (x *PayloadDeleteTrainJob) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadDeleteTrainJob.ProtoReflect.Descriptor instead. func (*PayloadDeleteTrainJob) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{141} + return file_octopus_proto_rawDescGZIP(), []int{165} } func (x *PayloadDeleteTrainJob) GetDeletedAt() int64 { @@ -9000,7 +10569,7 @@ type StopTrainJobReq struct { func (x *StopTrainJobReq) Reset() { *x = StopTrainJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[142] + mi := &file_octopus_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9013,7 +10582,7 @@ func (x *StopTrainJobReq) String() string { func (*StopTrainJobReq) ProtoMessage() {} func (x *StopTrainJobReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[142] + mi := &file_octopus_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9026,7 +10595,7 @@ func (x *StopTrainJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use StopTrainJobReq.ProtoReflect.Descriptor instead. func (*StopTrainJobReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{142} + return file_octopus_proto_rawDescGZIP(), []int{166} } func (x *StopTrainJobReq) GetPlatform() string { @@ -9056,7 +10625,7 @@ type StopTrainJobResp struct { func (x *StopTrainJobResp) Reset() { *x = StopTrainJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[143] + mi := &file_octopus_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9069,7 +10638,7 @@ func (x *StopTrainJobResp) String() string { func (*StopTrainJobResp) ProtoMessage() {} func (x *StopTrainJobResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[143] + mi := &file_octopus_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9082,7 +10651,7 @@ func (x *StopTrainJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use StopTrainJobResp.ProtoReflect.Descriptor instead. func (*StopTrainJobResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{143} + return file_octopus_proto_rawDescGZIP(), []int{167} } func (x *StopTrainJobResp) GetSuccess() bool { @@ -9117,7 +10686,7 @@ type PayloadStopTrainJob struct { func (x *PayloadStopTrainJob) Reset() { *x = PayloadStopTrainJob{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[144] + mi := &file_octopus_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9130,7 +10699,7 @@ func (x *PayloadStopTrainJob) String() string { func (*PayloadStopTrainJob) ProtoMessage() {} func (x *PayloadStopTrainJob) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[144] + mi := &file_octopus_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9143,7 +10712,7 @@ func (x *PayloadStopTrainJob) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadStopTrainJob.ProtoReflect.Descriptor instead. func (*PayloadStopTrainJob) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{144} + return file_octopus_proto_rawDescGZIP(), []int{168} } func (x *PayloadStopTrainJob) GetStoppedAt() int64 { @@ -9167,7 +10736,7 @@ type GetTrainJobEventReq struct { func (x *GetTrainJobEventReq) Reset() { *x = GetTrainJobEventReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[145] + mi := &file_octopus_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9180,7 +10749,7 @@ func (x *GetTrainJobEventReq) String() string { func (*GetTrainJobEventReq) ProtoMessage() {} func (x *GetTrainJobEventReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[145] + mi := &file_octopus_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9193,7 +10762,7 @@ func (x *GetTrainJobEventReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobEventReq.ProtoReflect.Descriptor instead. func (*GetTrainJobEventReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{145} + return file_octopus_proto_rawDescGZIP(), []int{169} } func (x *GetTrainJobEventReq) GetPlatform() string { @@ -9237,7 +10806,7 @@ type GetTrainJobEventResp struct { func (x *GetTrainJobEventResp) Reset() { *x = GetTrainJobEventResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[146] + mi := &file_octopus_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9250,7 +10819,7 @@ func (x *GetTrainJobEventResp) String() string { func (*GetTrainJobEventResp) ProtoMessage() {} func (x *GetTrainJobEventResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[146] + mi := &file_octopus_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9263,7 +10832,7 @@ func (x *GetTrainJobEventResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobEventResp.ProtoReflect.Descriptor instead. func (*GetTrainJobEventResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{146} + return file_octopus_proto_rawDescGZIP(), []int{170} } func (x *GetTrainJobEventResp) GetSuccess() bool { @@ -9299,7 +10868,7 @@ type PayloadGetTrainJobEvent struct { func (x *PayloadGetTrainJobEvent) Reset() { *x = PayloadGetTrainJobEvent{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[147] + mi := &file_octopus_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9312,7 +10881,7 @@ func (x *PayloadGetTrainJobEvent) String() string { func (*PayloadGetTrainJobEvent) ProtoMessage() {} func (x *PayloadGetTrainJobEvent) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[147] + mi := &file_octopus_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9325,7 +10894,7 @@ func (x *PayloadGetTrainJobEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetTrainJobEvent.ProtoReflect.Descriptor instead. func (*PayloadGetTrainJobEvent) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{147} + return file_octopus_proto_rawDescGZIP(), []int{171} } func (x *PayloadGetTrainJobEvent) GetTotalSize() int32 { @@ -9356,7 +10925,7 @@ type JobEvent struct { func (x *JobEvent) Reset() { *x = JobEvent{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[148] + mi := &file_octopus_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9369,7 +10938,7 @@ func (x *JobEvent) String() string { func (*JobEvent) ProtoMessage() {} func (x *JobEvent) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[148] + mi := &file_octopus_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9382,7 +10951,7 @@ func (x *JobEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use JobEvent.ProtoReflect.Descriptor instead. func (*JobEvent) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{148} + return file_octopus_proto_rawDescGZIP(), []int{172} } func (x *JobEvent) GetMessage() string { @@ -9428,7 +10997,7 @@ type GetTrainJobMetricReq struct { func (x *GetTrainJobMetricReq) Reset() { *x = GetTrainJobMetricReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[149] + mi := &file_octopus_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9441,7 +11010,7 @@ func (x *GetTrainJobMetricReq) String() string { func (*GetTrainJobMetricReq) ProtoMessage() {} func (x *GetTrainJobMetricReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[149] + mi := &file_octopus_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9454,7 +11023,7 @@ func (x *GetTrainJobMetricReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobMetricReq.ProtoReflect.Descriptor instead. func (*GetTrainJobMetricReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{149} + return file_octopus_proto_rawDescGZIP(), []int{173} } func (x *GetTrainJobMetricReq) GetPlatform() string { @@ -9505,7 +11074,7 @@ type GetTrainJobMetricResp struct { func (x *GetTrainJobMetricResp) Reset() { *x = GetTrainJobMetricResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[150] + mi := &file_octopus_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9518,7 +11087,7 @@ func (x *GetTrainJobMetricResp) String() string { func (*GetTrainJobMetricResp) ProtoMessage() {} func (x *GetTrainJobMetricResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[150] + mi := &file_octopus_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9531,7 +11100,7 @@ func (x *GetTrainJobMetricResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobMetricResp.ProtoReflect.Descriptor instead. func (*GetTrainJobMetricResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{150} + return file_octopus_proto_rawDescGZIP(), []int{174} } func (x *GetTrainJobMetricResp) GetSuccess() bool { @@ -9569,7 +11138,7 @@ type PayloadGetTrainJobMetric struct { func (x *PayloadGetTrainJobMetric) Reset() { *x = PayloadGetTrainJobMetric{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[151] + mi := &file_octopus_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9582,7 +11151,7 @@ func (x *PayloadGetTrainJobMetric) String() string { func (*PayloadGetTrainJobMetric) ProtoMessage() {} func (x *PayloadGetTrainJobMetric) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[151] + mi := &file_octopus_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9595,7 +11164,7 @@ func (x *PayloadGetTrainJobMetric) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetTrainJobMetric.ProtoReflect.Descriptor instead. func (*PayloadGetTrainJobMetric) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{151} + return file_octopus_proto_rawDescGZIP(), []int{175} } func (x *PayloadGetTrainJobMetric) GetCpuUsage() []int64 { @@ -9639,7 +11208,7 @@ type GetTrainJobListReq struct { func (x *GetTrainJobListReq) Reset() { *x = GetTrainJobListReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[152] + mi := &file_octopus_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9652,7 +11221,7 @@ func (x *GetTrainJobListReq) String() string { func (*GetTrainJobListReq) ProtoMessage() {} func (x *GetTrainJobListReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[152] + mi := &file_octopus_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9665,7 +11234,7 @@ func (x *GetTrainJobListReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobListReq.ProtoReflect.Descriptor instead. func (*GetTrainJobListReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{152} + return file_octopus_proto_rawDescGZIP(), []int{176} } func (x *GetTrainJobListReq) GetPlatform() string { @@ -9702,7 +11271,7 @@ type GetTrainJobListResp struct { func (x *GetTrainJobListResp) Reset() { *x = GetTrainJobListResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[153] + mi := &file_octopus_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9715,7 +11284,7 @@ func (x *GetTrainJobListResp) String() string { func (*GetTrainJobListResp) ProtoMessage() {} func (x *GetTrainJobListResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[153] + mi := &file_octopus_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9728,7 +11297,7 @@ func (x *GetTrainJobListResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTrainJobListResp.ProtoReflect.Descriptor instead. func (*GetTrainJobListResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{153} + return file_octopus_proto_rawDescGZIP(), []int{177} } func (x *GetTrainJobListResp) GetSuccess() bool { @@ -9764,7 +11333,7 @@ type PayloadGetTrainJobList struct { func (x *PayloadGetTrainJobList) Reset() { *x = PayloadGetTrainJobList{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[154] + mi := &file_octopus_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9777,7 +11346,7 @@ func (x *PayloadGetTrainJobList) String() string { func (*PayloadGetTrainJobList) ProtoMessage() {} func (x *PayloadGetTrainJobList) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[154] + mi := &file_octopus_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9790,7 +11359,7 @@ func (x *PayloadGetTrainJobList) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadGetTrainJobList.ProtoReflect.Descriptor instead. func (*PayloadGetTrainJobList) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{154} + return file_octopus_proto_rawDescGZIP(), []int{178} } func (x *PayloadGetTrainJobList) GetTotalSize() int32 { @@ -9841,7 +11410,7 @@ type TrainJob struct { func (x *TrainJob) Reset() { *x = TrainJob{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[155] + mi := &file_octopus_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9854,7 +11423,7 @@ func (x *TrainJob) String() string { func (*TrainJob) ProtoMessage() {} func (x *TrainJob) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[155] + mi := &file_octopus_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9867,7 +11436,7 @@ func (x *TrainJob) ProtoReflect() protoreflect.Message { // Deprecated: Use TrainJob.ProtoReflect.Descriptor instead. func (*TrainJob) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{155} + return file_octopus_proto_rawDescGZIP(), []int{179} } func (x *TrainJob) GetAlgorithmId() string { @@ -10050,7 +11619,7 @@ type CreateTrainJobReq struct { func (x *CreateTrainJobReq) Reset() { *x = CreateTrainJobReq{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[156] + mi := &file_octopus_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10063,7 +11632,7 @@ func (x *CreateTrainJobReq) String() string { func (*CreateTrainJobReq) ProtoMessage() {} func (x *CreateTrainJobReq) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[156] + mi := &file_octopus_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10076,7 +11645,7 @@ func (x *CreateTrainJobReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTrainJobReq.ProtoReflect.Descriptor instead. func (*CreateTrainJobReq) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{156} + return file_octopus_proto_rawDescGZIP(), []int{180} } func (x *CreateTrainJobReq) GetPlatform() string { @@ -10106,7 +11675,7 @@ type CreateTrainJobResp struct { func (x *CreateTrainJobResp) Reset() { *x = CreateTrainJobResp{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[157] + mi := &file_octopus_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10119,7 +11688,7 @@ func (x *CreateTrainJobResp) String() string { func (*CreateTrainJobResp) ProtoMessage() {} func (x *CreateTrainJobResp) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[157] + mi := &file_octopus_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10132,7 +11701,7 @@ func (x *CreateTrainJobResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTrainJobResp.ProtoReflect.Descriptor instead. func (*CreateTrainJobResp) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{157} + return file_octopus_proto_rawDescGZIP(), []int{181} } func (x *CreateTrainJobResp) GetSuccess() bool { @@ -10178,7 +11747,7 @@ type CreateTrainJobParam struct { func (x *CreateTrainJobParam) Reset() { *x = CreateTrainJobParam{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[158] + mi := &file_octopus_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10191,7 +11760,7 @@ func (x *CreateTrainJobParam) String() string { func (*CreateTrainJobParam) ProtoMessage() {} func (x *CreateTrainJobParam) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[158] + mi := &file_octopus_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10204,7 +11773,7 @@ func (x *CreateTrainJobParam) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateTrainJobParam.ProtoReflect.Descriptor instead. func (*CreateTrainJobParam) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{158} + return file_octopus_proto_rawDescGZIP(), []int{182} } func (x *CreateTrainJobParam) GetAlgorithmId() string { @@ -10314,7 +11883,7 @@ type Config struct { func (x *Config) Reset() { *x = Config{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[159] + mi := &file_octopus_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10327,7 +11896,7 @@ func (x *Config) String() string { func (*Config) ProtoMessage() {} func (x *Config) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[159] + mi := &file_octopus_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10340,7 +11909,7 @@ func (x *Config) ProtoReflect() protoreflect.Message { // Deprecated: Use Config.ProtoReflect.Descriptor instead. func (*Config) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{159} + return file_octopus_proto_rawDescGZIP(), []int{183} } func (x *Config) GetCommand() string { @@ -10447,7 +12016,7 @@ type Envs struct { func (x *Envs) Reset() { *x = Envs{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[160] + mi := &file_octopus_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10460,7 +12029,7 @@ func (x *Envs) String() string { func (*Envs) ProtoMessage() {} func (x *Envs) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[160] + mi := &file_octopus_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10473,7 +12042,7 @@ func (x *Envs) ProtoReflect() protoreflect.Message { // Deprecated: Use Envs.ProtoReflect.Descriptor instead. func (*Envs) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{160} + return file_octopus_proto_rawDescGZIP(), []int{184} } func (x *Envs) GetAdditionalProp1() string { @@ -10509,7 +12078,7 @@ type Parameters struct { func (x *Parameters) Reset() { *x = Parameters{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[161] + mi := &file_octopus_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10522,7 +12091,7 @@ func (x *Parameters) String() string { func (*Parameters) ProtoMessage() {} func (x *Parameters) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[161] + mi := &file_octopus_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10535,7 +12104,7 @@ func (x *Parameters) ProtoReflect() protoreflect.Message { // Deprecated: Use Parameters.ProtoReflect.Descriptor instead. func (*Parameters) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{161} + return file_octopus_proto_rawDescGZIP(), []int{185} } func (x *Parameters) GetKey() string { @@ -10564,7 +12133,7 @@ type ReplicaStates struct { func (x *ReplicaStates) Reset() { *x = ReplicaStates{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[162] + mi := &file_octopus_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10577,7 +12146,7 @@ func (x *ReplicaStates) String() string { func (*ReplicaStates) ProtoMessage() {} func (x *ReplicaStates) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[162] + mi := &file_octopus_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10590,7 +12159,7 @@ func (x *ReplicaStates) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicaStates.ProtoReflect.Descriptor instead. func (*ReplicaStates) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{162} + return file_octopus_proto_rawDescGZIP(), []int{186} } func (x *ReplicaStates) GetKey() string { @@ -10621,7 +12190,7 @@ type Mounts struct { func (x *Mounts) Reset() { *x = Mounts{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[163] + mi := &file_octopus_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10634,7 +12203,7 @@ func (x *Mounts) String() string { func (*Mounts) ProtoMessage() {} func (x *Mounts) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[163] + mi := &file_octopus_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10647,7 +12216,7 @@ func (x *Mounts) ProtoReflect() protoreflect.Message { // Deprecated: Use Mounts.ProtoReflect.Descriptor instead. func (*Mounts) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{163} + return file_octopus_proto_rawDescGZIP(), []int{187} } func (x *Mounts) GetContainerPath() string { @@ -10689,7 +12258,7 @@ type PayloadCreateTrainJob struct { func (x *PayloadCreateTrainJob) Reset() { *x = PayloadCreateTrainJob{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[164] + mi := &file_octopus_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10702,7 +12271,7 @@ func (x *PayloadCreateTrainJob) String() string { func (*PayloadCreateTrainJob) ProtoMessage() {} func (x *PayloadCreateTrainJob) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[164] + mi := &file_octopus_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10715,7 +12284,7 @@ func (x *PayloadCreateTrainJob) ProtoReflect() protoreflect.Message { // Deprecated: Use PayloadCreateTrainJob.ProtoReflect.Descriptor instead. func (*PayloadCreateTrainJob) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{164} + return file_octopus_proto_rawDescGZIP(), []int{188} } func (x *PayloadCreateTrainJob) GetJobId() string { @@ -10737,7 +12306,7 @@ type Nfs struct { func (x *Nfs) Reset() { *x = Nfs{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[165] + mi := &file_octopus_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10750,7 +12319,7 @@ func (x *Nfs) String() string { func (*Nfs) ProtoMessage() {} func (x *Nfs) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[165] + mi := &file_octopus_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10763,7 +12332,7 @@ func (x *Nfs) ProtoReflect() protoreflect.Message { // Deprecated: Use Nfs.ProtoReflect.Descriptor instead. func (*Nfs) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{165} + return file_octopus_proto_rawDescGZIP(), []int{189} } func (x *Nfs) GetPath() string { @@ -10792,7 +12361,7 @@ type TrainJobOctopus struct { func (x *TrainJobOctopus) Reset() { *x = TrainJobOctopus{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[166] + mi := &file_octopus_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10805,7 +12374,7 @@ func (x *TrainJobOctopus) String() string { func (*TrainJobOctopus) ProtoMessage() {} func (x *TrainJobOctopus) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[166] + mi := &file_octopus_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10818,7 +12387,7 @@ func (x *TrainJobOctopus) ProtoReflect() protoreflect.Message { // Deprecated: Use TrainJobOctopus.ProtoReflect.Descriptor instead. func (*TrainJobOctopus) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{166} + return file_octopus_proto_rawDescGZIP(), []int{190} } func (x *TrainJobOctopus) GetBucket() string { @@ -10849,7 +12418,7 @@ type Error struct { func (x *Error) Reset() { *x = Error{} if protoimpl.UnsafeEnabled { - mi := &file_octopus_proto_msgTypes[167] + mi := &file_octopus_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10862,7 +12431,7 @@ func (x *Error) String() string { func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_octopus_proto_msgTypes[167] + mi := &file_octopus_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10875,7 +12444,7 @@ func (x *Error) ProtoReflect() protoreflect.Message { // Deprecated: Use Error.ProtoReflect.Descriptor instead. func (*Error) Descriptor() ([]byte, []int) { - return file_octopus_proto_rawDescGZIP(), []int{167} + return file_octopus_proto_rawDescGZIP(), []int{191} } func (x *Error) GetCode() int32 { @@ -11506,902 +13075,1135 @@ var file_octopus_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, - 0xd9, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x21, 0x0a, 0x04, 0x65, 0x6e, 0x76, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x45, 0x6e, 0x76, 0x73, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x18, 0x0a, 0x07, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, - 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x12, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x15, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, - 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x2d, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, - 0x6f, 0x6f, 0x6b, 0x22, 0x3f, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6a, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x37, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xc8, 0x02, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x64, 0x65, 0x73, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x22, 0x94, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x72, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x6d, 0x0a, 0x15, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x64, 0x0a, 0x13, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2f, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, - 0x22, 0xf2, 0x05, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x0a, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, - 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x73, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2d, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, - 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0x26, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x53, - 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, - 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6b, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, - 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5d, 0x0a, - 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x06, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x05, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, - 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, - 0x64, 0x72, 0x22, 0x46, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x64, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, - 0xab, 0x01, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x88, 0x01, - 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x79, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x31, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x22, 0x46, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5e, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, - 0x6f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, - 0x72, 0x6f, 0x70, 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x22, 0x4d, - 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2c, + 0x0a, 0x08, 0x64, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x70, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x08, 0x64, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xc3, 0x03, 0x0a, + 0x07, 0x44, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x75, + 0x6e, 0x53, 0x65, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, + 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x96, 0x01, - 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x98, 0x01, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x77, 0x0a, 0x1a, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x68, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0d, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9d, 0x01, 0x0a, 0x0d, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x10, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x49, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x3e, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3f, 0x0a, 0x1b, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x69, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, - 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5d, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, - 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x73, 0x22, 0x97, 0x03, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x24, 0x0a, - 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, - 0x24, 0x0a, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x08, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, - 0x62, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x22, 0x47, 0x0a, 0x11, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, - 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x35, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1c, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3d, 0x0a, 0x0f, - 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, - 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, - 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, - 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7b, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x2a, 0x0a, + 0x07, 0x64, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x07, 0x64, 0x65, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, - 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, - 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x6b, 0x0a, + 0x1a, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x64, 0x65, 0x70, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, + 0x09, 0x64, 0x65, 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x44, 0x65, + 0x70, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x53, 0x74, + 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x90, 0x01, 0x0a, + 0x13, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, - 0x68, 0x0a, 0x17, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, - 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, - 0x6a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x4a, 0x6f, 0x62, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, + 0x36, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, + 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, + 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x22, 0x4a, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6a, + 0x6f, 0x62, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, + 0x49, 0x64, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x38, 0x0a, 0x18, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x22, 0x31, 0x0a, 0x13, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x66, 0x65, + 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, + 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x37, 0x0a, 0x17, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, + 0x70, 0x65, 0x64, 0x41, 0x74, 0x22, 0x65, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xd9, 0x03, 0x0a, + 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x21, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, + 0x6e, 0x76, 0x73, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, + 0x27, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, + 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x15, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x3c, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x12, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x12, 0x2d, 0x0a, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x22, 0x3f, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x27, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6a, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x64, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0xf2, 0x05, + 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, + 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x24, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, + 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x22, 0x2d, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x26, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, 0x70, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x25, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, + 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x6b, 0x0a, 0x13, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0x94, 0x01, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x3b, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x5d, 0x0a, 0x14, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x27, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x22, 0x4a, 0x0a, 0x06, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x87, 0x03, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, + 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x75, 0x6c, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x22, + 0x46, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x32, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x64, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xab, 0x01, 0x0a, + 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4c, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x79, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x46, + 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x5e, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x22, 0x87, 0x01, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x28, 0x0a, + 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, + 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, + 0x72, 0x6f, 0x70, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x22, 0x4d, 0x0a, 0x15, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x16, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, - 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x03, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x67, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x0b, 0x67, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x67, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, - 0x07, 0x67, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, - 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x88, + 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x17, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x77, 0x0a, 0x1a, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, + 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x3b, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, + 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0d, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9d, 0x01, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, + 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x34, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x67, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x96, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x39, 0x0a, 0x19, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x18, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3e, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, + 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3f, 0x0a, 0x1b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x22, 0x69, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x22, 0x90, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, - 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, - 0x62, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xef, 0x05, 0x0a, - 0x08, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, - 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, - 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x65, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, - 0x73, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x53, - 0x65, 0x63, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, - 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x65, - 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, - 0x34, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa3, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, - 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, + 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x5d, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x4d, + 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x22, 0x97, 0x03, 0x0a, 0x05, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x06, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, + 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0x43, 0x0a, 0x12, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x2d, 0x0a, 0x08, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x08, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x22, 0x47, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x35, 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3d, 0x0a, 0x0f, 0x53, 0x74, 0x6f, + 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x74, 0x6f, + 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x33, 0x0a, 0x13, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x53, 0x74, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x70, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x68, 0x0a, 0x17, + 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, + 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x6a, 0x6f, 0x62, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x4a, 0x6f, 0x62, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x65, 0x71, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x3b, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, + 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x67, 0x70, 0x75, + 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0b, + 0x67, 0x70, 0x75, 0x4d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x67, + 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x67, 0x70, + 0x75, 0x55, 0x74, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x55, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x6a, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x90, 0x01, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, + 0x39, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x67, 0x0a, 0x16, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x47, 0x65, 0x74, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x09, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x73, 0x22, 0xef, 0x05, 0x0a, 0x08, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x6c, 0x67, + 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x6c, 0x67, 0x6f, + 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x65, 0x73, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, - 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, - 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x06, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x06, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x98, 0x04, 0x0a, - 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x12, 0x21, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x6e, 0x76, 0x73, 0x52, 0x04, - 0x65, 0x6e, 0x76, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x6f, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, - 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x65, 0x64, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, - 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x54, 0x61, - 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x73, - 0x6b, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x84, 0x01, 0x0a, 0x04, 0x45, 0x6e, 0x76, 0x73, - 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, - 0x6f, 0x70, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, - 0x72, 0x6f, 0x70, 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x22, 0x34, - 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 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, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9e, 0x01, - 0x0a, 0x06, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, - 0x0a, 0x03, 0x6e, 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x4e, 0x66, 0x73, 0x52, 0x03, 0x6e, 0x66, 0x73, 0x12, 0x32, - 0x0a, 0x07, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, - 0x6f, 0x62, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x52, 0x07, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2d, - 0x0a, 0x15, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x31, 0x0a, - 0x03, 0x4e, 0x66, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x22, 0x41, 0x0a, 0x0f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x6f, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x32, 0x87, 0x1c, 0x0a, 0x07, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x12, 0x3a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, - 0x69, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, - 0x0c, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x18, 0x2e, + 0x65, 0x73, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x55, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, + 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x53, 0x65, 0x63, 0x12, 0x1c, 0x0a, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x34, 0x0a, 0x06, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x24, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0xa3, 0x03, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, + 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x18, 0x0a, 0x07, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x06, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x06, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x98, 0x04, 0x0a, 0x06, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x21, + 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x45, 0x6e, 0x76, 0x73, 0x52, 0x04, 0x65, 0x6e, 0x76, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x6f, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x52, 0x6f, 0x6c, + 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, + 0x69, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x34, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x15, 0x6d, 0x69, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x33, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x54, 0x61, 0x73, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x84, 0x01, 0x0a, 0x04, 0x45, 0x6e, 0x76, 0x73, 0x12, 0x28, 0x0a, + 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x31, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, + 0x32, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, + 0x72, 0x6f, 0x70, 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x33, 0x22, 0x34, 0x0a, 0x0a, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 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, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x06, 0x4d, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x03, 0x6e, + 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x4e, 0x66, 0x73, 0x52, 0x03, 0x6e, 0x66, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x52, 0x07, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x2d, 0x0a, 0x15, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x03, 0x4e, 0x66, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x41, 0x0a, + 0x0f, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x4a, 0x6f, 0x62, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x22, 0x6f, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x73, 0x75, 0x62, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x32, 0xca, 0x20, 0x0a, 0x07, 0x4f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x12, 0x3a, 0x0a, + 0x11, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x77, + 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x63, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x1a, 0x0f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x67, 0x69, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, + 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, - 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x25, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, - 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, - 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, - 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, - 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, - 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1b, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, - 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, + 0x68, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x18, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x6a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, + 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, + 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, + 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x79, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x12, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, + 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x61, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, + 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4d, + 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x79, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, - 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x20, 0x2e, 0x6f, - 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, - 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, - 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, - 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, + 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x19, 0x2e, 0x6f, 0x63, 0x74, + 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, + 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, - 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, - 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, + 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x55, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, + 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1d, + 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x55, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1a, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, + 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x58, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, + 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x53, 0x74, 0x6f, + 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1b, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, + 0x70, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x1d, 0x2e, 0x6f, + 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6f, 0x63, + 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, 0x0a, 0x10, 0x49, + 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, + 0x1c, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, + 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x65, 0x72, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x6f, 0x63, 0x74, 0x6f, 0x70, 0x75, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6f, @@ -12527,7 +14329,7 @@ func file_octopus_proto_rawDescGZIP() []byte { return file_octopus_proto_rawDescData } -var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 168) +var file_octopus_proto_msgTypes = make([]protoimpl.MessageInfo, 192) var file_octopus_proto_goTypes = []interface{}{ (*ResourceReq)(nil), // 0: octopus.resourceReq (*CpResp)(nil), // 1: octopus.cpResp @@ -12606,325 +14408,381 @@ var file_octopus_proto_goTypes = []interface{}{ (*GetDatasetTypeListRep)(nil), // 74: octopus.GetDatasetTypeListRep (*GetDatasetTypeListResp)(nil), // 75: octopus.GetDatasetTypeListResp (*PayloadGetDatasetTypeList)(nil), // 76: octopus.PayloadGetDatasetTypeList - (*CreateNotebookReq)(nil), // 77: octopus.CreateNotebookReq - (*CreateNotebookParam)(nil), // 78: octopus.CreateNotebookParam - (*CreateNotebookResp)(nil), // 79: octopus.CreateNotebookResp - (*PayloadCreateNotebook)(nil), // 80: octopus.PayloadCreateNotebook - (*GetNotebookReq)(nil), // 81: octopus.GetNotebookReq - (*GetNotebookResp)(nil), // 82: octopus.GetNotebookResp - (*PayloadGetNotebook)(nil), // 83: octopus.PayloadGetNotebook - (*DeleteNotebookReq)(nil), // 84: octopus.DeleteNotebookReq - (*DeleteNotebookResp)(nil), // 85: octopus.DeleteNotebookResp - (*PayloadDeleteNotebook)(nil), // 86: octopus.PayloadDeleteNotebook - (*GetNotebookListReq)(nil), // 87: octopus.GetNotebookListReq - (*GetNotebookListResp)(nil), // 88: octopus.GetNotebookListResp - (*PayloadNotebookList)(nil), // 89: octopus.PayloadNotebookList - (*Notebook)(nil), // 90: octopus.Notebook - (*Tasks)(nil), // 91: octopus.Tasks - (*StartNotebookReq)(nil), // 92: octopus.StartNotebookReq - (*StartNotebookResp)(nil), // 93: octopus.StartNotebookResp - (*PayloadStartNotebook)(nil), // 94: octopus.PayloadStartNotebook - (*StopNotebookReq)(nil), // 95: octopus.StopNotebookReq - (*StopNotebookResp)(nil), // 96: octopus.StopNotebookResp - (*PayloadStopNotebook)(nil), // 97: octopus.PayloadStopNotebook - (*GetUserImageListReq)(nil), // 98: octopus.GetUserImageListReq - (*GetUserImageListResp)(nil), // 99: octopus.GetUserImageListResp - (*PayloadUserImageList)(nil), // 100: octopus.PayloadUserImageList - (*Images)(nil), // 101: octopus.Images - (*Image)(nil), // 102: octopus.Image - (*DeleteImageReq)(nil), // 103: octopus.DeleteImageReq - (*DeleteImageResp)(nil), // 104: octopus.DeleteImageResp - (*PayloadDeleteImage)(nil), // 105: octopus.PayloadDeleteImage - (*CreateImageReq)(nil), // 106: octopus.CreateImageReq - (*CreateImage)(nil), // 107: octopus.CreateImage - (*CreateImageResp)(nil), // 108: octopus.CreateImageResp - (*PayloadCreateImage)(nil), // 109: octopus.PayloadCreateImage - (*UploadImageReq)(nil), // 110: octopus.UploadImageReq - (*UploadImageParam)(nil), // 111: octopus.UploadImageParam - (*UploadImageResp)(nil), // 112: octopus.UploadImageResp - (*PayloadUploadImage)(nil), // 113: octopus.PayloadUploadImage - (*Headers)(nil), // 114: octopus.Headers - (*UploadImageConfirmReq)(nil), // 115: octopus.UploadImageConfirmReq - (*UploadImageConfirmResp)(nil), // 116: octopus.UploadImageConfirmResp - (*PayloadUploadImageConfirm)(nil), // 117: octopus.PayloadUploadImageConfirm - (*GetModelVersionListReq)(nil), // 118: octopus.GetModelVersionListReq - (*GetModelVersionListResp)(nil), // 119: octopus.GetModelVersionListResp - (*PayloadGetModelVersionList)(nil), // 120: octopus.PayloadGetModelVersionList - (*ModelVersion)(nil), // 121: octopus.ModelVersion - (*VersionDetail)(nil), // 122: octopus.VersionDetail - (*DeleteMyModelReq)(nil), // 123: octopus.DeleteMyModelReq - (*DeleteMyModelResp)(nil), // 124: octopus.DeleteMyModelResp - (*PayloadDeleteMyModel)(nil), // 125: octopus.PayloadDeleteMyModel - (*DeleteModelVersionReq)(nil), // 126: octopus.DeleteModelVersionReq - (*DeleteModelVersionResp)(nil), // 127: octopus.DeleteModelVersionResp - (*PayloadDeleteModelVersion)(nil), // 128: octopus.PayloadDeleteModelVersion - (*DownloadModelVersionReq)(nil), // 129: octopus.DownloadModelVersionReq - (*DownloadModelVersionResp)(nil), // 130: octopus.DownloadModelVersionResp - (*PayloadDownloadModelVersion)(nil), // 131: octopus.PayloadDownloadModelVersion - (*GetMyModelListReq)(nil), // 132: octopus.GetMyModelListReq - (*GetMyModelListResp)(nil), // 133: octopus.GetMyModelListResp - (*PayloadGetMyModelList)(nil), // 134: octopus.PayloadGetMyModelList - (*Model)(nil), // 135: octopus.Model - (*GetTrainJobReq)(nil), // 136: octopus.GetTrainJobReq - (*GetTrainJobResp)(nil), // 137: octopus.GetTrainJobResp - (*PayloadGetTrainJob)(nil), // 138: octopus.PayloadGetTrainJob - (*DeleteTrainJobReq)(nil), // 139: octopus.DeleteTrainJobReq - (*DeleteTrainJobResp)(nil), // 140: octopus.DeleteTrainJobResp - (*PayloadDeleteTrainJob)(nil), // 141: octopus.PayloadDeleteTrainJob - (*StopTrainJobReq)(nil), // 142: octopus.StopTrainJobReq - (*StopTrainJobResp)(nil), // 143: octopus.StopTrainJobResp - (*PayloadStopTrainJob)(nil), // 144: octopus.PayloadStopTrainJob - (*GetTrainJobEventReq)(nil), // 145: octopus.GetTrainJobEventReq - (*GetTrainJobEventResp)(nil), // 146: octopus.GetTrainJobEventResp - (*PayloadGetTrainJobEvent)(nil), // 147: octopus.PayloadGetTrainJobEvent - (*JobEvent)(nil), // 148: octopus.JobEvent - (*GetTrainJobMetricReq)(nil), // 149: octopus.GetTrainJobMetricReq - (*GetTrainJobMetricResp)(nil), // 150: octopus.GetTrainJobMetricResp - (*PayloadGetTrainJobMetric)(nil), // 151: octopus.PayloadGetTrainJobMetric - (*GetTrainJobListReq)(nil), // 152: octopus.GetTrainJobListReq - (*GetTrainJobListResp)(nil), // 153: octopus.GetTrainJobListResp - (*PayloadGetTrainJobList)(nil), // 154: octopus.PayloadGetTrainJobList - (*TrainJob)(nil), // 155: octopus.TrainJob - (*CreateTrainJobReq)(nil), // 156: octopus.CreateTrainJobReq - (*CreateTrainJobResp)(nil), // 157: octopus.CreateTrainJobResp - (*CreateTrainJobParam)(nil), // 158: octopus.CreateTrainJobParam - (*Config)(nil), // 159: octopus.Config - (*Envs)(nil), // 160: octopus.Envs - (*Parameters)(nil), // 161: octopus.Parameters - (*ReplicaStates)(nil), // 162: octopus.ReplicaStates - (*Mounts)(nil), // 163: octopus.Mounts - (*PayloadCreateTrainJob)(nil), // 164: octopus.PayloadCreateTrainJob - (*Nfs)(nil), // 165: octopus.Nfs - (*TrainJobOctopus)(nil), // 166: octopus.TrainJobOctopus - (*Error)(nil), // 167: octopus.Error + (*CreateModelDeployReq)(nil), // 77: octopus.CreateModelDeployReq + (*CreateModelDeployParam)(nil), // 78: octopus.CreateModelDeployParam + (*CreateModelDeployResp)(nil), // 79: octopus.CreateModelDeployResp + (*PayloadCreateModelDeploy)(nil), // 80: octopus.PayloadCreateModelDeploy + (*GetModelDeployListReq)(nil), // 81: octopus.GetModelDeployListReq + (*GetModelDeployListResp)(nil), // 82: octopus.GetModelDeployListResp + (*PayloadGetModelDeployList)(nil), // 83: octopus.PayloadGetModelDeployList + (*DepInfo)(nil), // 84: octopus.DepInfo + (*GetModelDeployReq)(nil), // 85: octopus.GetModelDeployReq + (*GetModelDeployResp)(nil), // 86: octopus.GetModelDeployResp + (*PayloadGetModelDeploy)(nil), // 87: octopus.PayloadGetModelDeploy + (*GetModelDeployEventReq)(nil), // 88: octopus.GetModelDeployEventReq + (*GetModelDeployEventResp)(nil), // 89: octopus.GetModelDeployEventResp + (*PayloadGetModelDeployEvent)(nil), // 90: octopus.PayloadGetModelDeployEvent + (*DepEvent)(nil), // 91: octopus.DepEvent + (*StopModelDeployReq)(nil), // 92: octopus.StopModelDeployReq + (*StopModelDeployResp)(nil), // 93: octopus.StopModelDeployResp + (*PayloadStopModelDeploy)(nil), // 94: octopus.PayloadStopModelDeploy + (*DeleteModelDeployReq)(nil), // 95: octopus.DeleteModelDeployReq + (*DeleteModelDeployResp)(nil), // 96: octopus.DeleteModelDeployResp + (*PayloadDeleteModelDeploy)(nil), // 97: octopus.PayloadDeleteModelDeploy + (*InferModelDeployReq)(nil), // 98: octopus.InferModelDeployReq + (*InferModelDeployResp)(nil), // 99: octopus.InferModelDeployResp + (*PayloadInferModelDeploy)(nil), // 100: octopus.PayloadInferModelDeploy + (*CreateNotebookReq)(nil), // 101: octopus.CreateNotebookReq + (*CreateNotebookParam)(nil), // 102: octopus.CreateNotebookParam + (*CreateNotebookResp)(nil), // 103: octopus.CreateNotebookResp + (*PayloadCreateNotebook)(nil), // 104: octopus.PayloadCreateNotebook + (*GetNotebookReq)(nil), // 105: octopus.GetNotebookReq + (*GetNotebookResp)(nil), // 106: octopus.GetNotebookResp + (*PayloadGetNotebook)(nil), // 107: octopus.PayloadGetNotebook + (*DeleteNotebookReq)(nil), // 108: octopus.DeleteNotebookReq + (*DeleteNotebookResp)(nil), // 109: octopus.DeleteNotebookResp + (*PayloadDeleteNotebook)(nil), // 110: octopus.PayloadDeleteNotebook + (*GetNotebookListReq)(nil), // 111: octopus.GetNotebookListReq + (*GetNotebookListResp)(nil), // 112: octopus.GetNotebookListResp + (*PayloadNotebookList)(nil), // 113: octopus.PayloadNotebookList + (*Notebook)(nil), // 114: octopus.Notebook + (*Tasks)(nil), // 115: octopus.Tasks + (*StartNotebookReq)(nil), // 116: octopus.StartNotebookReq + (*StartNotebookResp)(nil), // 117: octopus.StartNotebookResp + (*PayloadStartNotebook)(nil), // 118: octopus.PayloadStartNotebook + (*StopNotebookReq)(nil), // 119: octopus.StopNotebookReq + (*StopNotebookResp)(nil), // 120: octopus.StopNotebookResp + (*PayloadStopNotebook)(nil), // 121: octopus.PayloadStopNotebook + (*GetUserImageListReq)(nil), // 122: octopus.GetUserImageListReq + (*GetUserImageListResp)(nil), // 123: octopus.GetUserImageListResp + (*PayloadUserImageList)(nil), // 124: octopus.PayloadUserImageList + (*Images)(nil), // 125: octopus.Images + (*Image)(nil), // 126: octopus.Image + (*DeleteImageReq)(nil), // 127: octopus.DeleteImageReq + (*DeleteImageResp)(nil), // 128: octopus.DeleteImageResp + (*PayloadDeleteImage)(nil), // 129: octopus.PayloadDeleteImage + (*CreateImageReq)(nil), // 130: octopus.CreateImageReq + (*CreateImage)(nil), // 131: octopus.CreateImage + (*CreateImageResp)(nil), // 132: octopus.CreateImageResp + (*PayloadCreateImage)(nil), // 133: octopus.PayloadCreateImage + (*UploadImageReq)(nil), // 134: octopus.UploadImageReq + (*UploadImageParam)(nil), // 135: octopus.UploadImageParam + (*UploadImageResp)(nil), // 136: octopus.UploadImageResp + (*PayloadUploadImage)(nil), // 137: octopus.PayloadUploadImage + (*Headers)(nil), // 138: octopus.Headers + (*UploadImageConfirmReq)(nil), // 139: octopus.UploadImageConfirmReq + (*UploadImageConfirmResp)(nil), // 140: octopus.UploadImageConfirmResp + (*PayloadUploadImageConfirm)(nil), // 141: octopus.PayloadUploadImageConfirm + (*GetModelVersionListReq)(nil), // 142: octopus.GetModelVersionListReq + (*GetModelVersionListResp)(nil), // 143: octopus.GetModelVersionListResp + (*PayloadGetModelVersionList)(nil), // 144: octopus.PayloadGetModelVersionList + (*ModelVersion)(nil), // 145: octopus.ModelVersion + (*VersionDetail)(nil), // 146: octopus.VersionDetail + (*DeleteMyModelReq)(nil), // 147: octopus.DeleteMyModelReq + (*DeleteMyModelResp)(nil), // 148: octopus.DeleteMyModelResp + (*PayloadDeleteMyModel)(nil), // 149: octopus.PayloadDeleteMyModel + (*DeleteModelVersionReq)(nil), // 150: octopus.DeleteModelVersionReq + (*DeleteModelVersionResp)(nil), // 151: octopus.DeleteModelVersionResp + (*PayloadDeleteModelVersion)(nil), // 152: octopus.PayloadDeleteModelVersion + (*DownloadModelVersionReq)(nil), // 153: octopus.DownloadModelVersionReq + (*DownloadModelVersionResp)(nil), // 154: octopus.DownloadModelVersionResp + (*PayloadDownloadModelVersion)(nil), // 155: octopus.PayloadDownloadModelVersion + (*GetMyModelListReq)(nil), // 156: octopus.GetMyModelListReq + (*GetMyModelListResp)(nil), // 157: octopus.GetMyModelListResp + (*PayloadGetMyModelList)(nil), // 158: octopus.PayloadGetMyModelList + (*Model)(nil), // 159: octopus.Model + (*GetTrainJobReq)(nil), // 160: octopus.GetTrainJobReq + (*GetTrainJobResp)(nil), // 161: octopus.GetTrainJobResp + (*PayloadGetTrainJob)(nil), // 162: octopus.PayloadGetTrainJob + (*DeleteTrainJobReq)(nil), // 163: octopus.DeleteTrainJobReq + (*DeleteTrainJobResp)(nil), // 164: octopus.DeleteTrainJobResp + (*PayloadDeleteTrainJob)(nil), // 165: octopus.PayloadDeleteTrainJob + (*StopTrainJobReq)(nil), // 166: octopus.StopTrainJobReq + (*StopTrainJobResp)(nil), // 167: octopus.StopTrainJobResp + (*PayloadStopTrainJob)(nil), // 168: octopus.PayloadStopTrainJob + (*GetTrainJobEventReq)(nil), // 169: octopus.GetTrainJobEventReq + (*GetTrainJobEventResp)(nil), // 170: octopus.GetTrainJobEventResp + (*PayloadGetTrainJobEvent)(nil), // 171: octopus.PayloadGetTrainJobEvent + (*JobEvent)(nil), // 172: octopus.JobEvent + (*GetTrainJobMetricReq)(nil), // 173: octopus.GetTrainJobMetricReq + (*GetTrainJobMetricResp)(nil), // 174: octopus.GetTrainJobMetricResp + (*PayloadGetTrainJobMetric)(nil), // 175: octopus.PayloadGetTrainJobMetric + (*GetTrainJobListReq)(nil), // 176: octopus.GetTrainJobListReq + (*GetTrainJobListResp)(nil), // 177: octopus.GetTrainJobListResp + (*PayloadGetTrainJobList)(nil), // 178: octopus.PayloadGetTrainJobList + (*TrainJob)(nil), // 179: octopus.TrainJob + (*CreateTrainJobReq)(nil), // 180: octopus.CreateTrainJobReq + (*CreateTrainJobResp)(nil), // 181: octopus.CreateTrainJobResp + (*CreateTrainJobParam)(nil), // 182: octopus.CreateTrainJobParam + (*Config)(nil), // 183: octopus.Config + (*Envs)(nil), // 184: octopus.Envs + (*Parameters)(nil), // 185: octopus.Parameters + (*ReplicaStates)(nil), // 186: octopus.ReplicaStates + (*Mounts)(nil), // 187: octopus.Mounts + (*PayloadCreateTrainJob)(nil), // 188: octopus.PayloadCreateTrainJob + (*Nfs)(nil), // 189: octopus.Nfs + (*TrainJobOctopus)(nil), // 190: octopus.TrainJobOctopus + (*Error)(nil), // 191: octopus.Error } var file_octopus_proto_depIdxs = []int32{ 5, // 0: octopus.GetAlgorithmResp.payload:type_name -> octopus.PayloadGetAlgorithm - 167, // 1: octopus.GetAlgorithmResp.error:type_name -> octopus.Error + 191, // 1: octopus.GetAlgorithmResp.error:type_name -> octopus.Error 25, // 2: octopus.PayloadGetAlgorithm.algorithm:type_name -> octopus.Algorithms 6, // 3: octopus.PayloadGetAlgorithm.versionAccesses:type_name -> octopus.VersionAccesses 9, // 4: octopus.DownloadAlgorithmResp.payload:type_name -> octopus.PayloadDownloadAlgorithm - 167, // 5: octopus.DownloadAlgorithmResp.error:type_name -> octopus.Error + 191, // 5: octopus.DownloadAlgorithmResp.error:type_name -> octopus.Error 11, // 6: octopus.UploadAlgorithmReq.params:type_name -> octopus.UploadAlgorithmParam 13, // 7: octopus.UploadAlgorithmResp.payload:type_name -> octopus.PayloadUploadAlgorithm - 167, // 8: octopus.UploadAlgorithmResp.error:type_name -> octopus.Error + 191, // 8: octopus.UploadAlgorithmResp.error:type_name -> octopus.Error 15, // 9: octopus.UploadAlgorithmConfirmReq.params:type_name -> octopus.UploadAlgorithmConfirmParam 17, // 10: octopus.UploadAlgorithmConfirmResp.payload:type_name -> octopus.PayloadUploadAlgorithmConfirm - 167, // 11: octopus.UploadAlgorithmConfirmResp.error:type_name -> octopus.Error + 191, // 11: octopus.UploadAlgorithmConfirmResp.error:type_name -> octopus.Error 20, // 12: octopus.GetAlgorithmListResp.payload:type_name -> octopus.PayloadAlgorithmList - 167, // 13: octopus.GetAlgorithmListResp.error:type_name -> octopus.Error + 191, // 13: octopus.GetAlgorithmListResp.error:type_name -> octopus.Error 21, // 14: octopus.PayloadAlgorithmList.algorithms:type_name -> octopus.AlgorithmDetail 25, // 15: octopus.AlgorithmDetail.algorithmDetail:type_name -> octopus.Algorithms 24, // 16: octopus.GetMyAlgorithmListResp.payload:type_name -> octopus.PayloadMyAlgorithmList - 167, // 17: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error + 191, // 17: octopus.GetMyAlgorithmListResp.error:type_name -> octopus.Error 25, // 18: octopus.PayloadMyAlgorithmList.algorithms:type_name -> octopus.Algorithms 28, // 19: octopus.GetAlgorithmApplyListResp.payload:type_name -> octopus.PayloadGetAlgorithmApplyList - 167, // 20: octopus.GetAlgorithmApplyListResp.error:type_name -> octopus.Error + 191, // 20: octopus.GetAlgorithmApplyListResp.error:type_name -> octopus.Error 32, // 21: octopus.PayloadGetAlgorithmApplyList.lables:type_name -> octopus.Lables 31, // 22: octopus.GetAlgorithmFrameworkListResp.payload:type_name -> octopus.PayloadAlgorithmFrameworkList - 167, // 23: octopus.GetAlgorithmFrameworkListResp.error:type_name -> octopus.Error + 191, // 23: octopus.GetAlgorithmFrameworkListResp.error:type_name -> octopus.Error 32, // 24: octopus.PayloadAlgorithmFrameworkList.lables:type_name -> octopus.Lables 35, // 25: octopus.DeleteMyAlgorithmResp.payload:type_name -> octopus.PayloadDeleteMyAlgorithm - 167, // 26: octopus.DeleteMyAlgorithmResp.error:type_name -> octopus.Error + 191, // 26: octopus.DeleteMyAlgorithmResp.error:type_name -> octopus.Error 38, // 27: octopus.CreateMyAlgorithmReq.createMyAlgorithm:type_name -> octopus.CreateMyAlgorithm 39, // 28: octopus.CreateMyAlgorithmResp.payload:type_name -> octopus.PayloadCreateMyAlgorithm - 167, // 29: octopus.CreateMyAlgorithmResp.error:type_name -> octopus.Error + 191, // 29: octopus.CreateMyAlgorithmResp.error:type_name -> octopus.Error 42, // 30: octopus.GetDatasetVersionListResp.payload:type_name -> octopus.PayloadGetDatasetVersion - 167, // 31: octopus.GetDatasetVersionListResp.error:type_name -> octopus.Error + 191, // 31: octopus.GetDatasetVersionListResp.error:type_name -> octopus.Error 43, // 32: octopus.PayloadGetDatasetVersion.versions:type_name -> octopus.DatasetVersion 46, // 33: octopus.CreateDataSetReq.createDataSet:type_name -> octopus.CreateDataSet 47, // 34: octopus.CreateDataSetResp.payload:type_name -> octopus.PayloadCreateDataSet - 167, // 35: octopus.CreateDataSetResp.error:type_name -> octopus.Error + 191, // 35: octopus.CreateDataSetResp.error:type_name -> octopus.Error 50, // 36: octopus.GetMyDatasetListResp.payload:type_name -> octopus.PayloadMyDatasetList - 167, // 37: octopus.GetMyDatasetListResp.error:type_name -> octopus.Error + 191, // 37: octopus.GetMyDatasetListResp.error:type_name -> octopus.Error 51, // 38: octopus.PayloadMyDatasetList.datasets:type_name -> octopus.Datasets 52, // 39: octopus.Datasets.applies:type_name -> octopus.Applies 55, // 40: octopus.DeleteDataSetResp.payload:type_name -> octopus.PayloadDeleteDataSet - 167, // 41: octopus.DeleteDataSetResp.error:type_name -> octopus.Error + 191, // 41: octopus.DeleteDataSetResp.error:type_name -> octopus.Error 57, // 42: octopus.UploadDataSetReq.params:type_name -> octopus.UploadDataSetParam 59, // 43: octopus.UploadDataSetResp.payload:type_name -> octopus.PayloadUploadDataSet - 167, // 44: octopus.UploadDataSetResp.error:type_name -> octopus.Error + 191, // 44: octopus.UploadDataSetResp.error:type_name -> octopus.Error 61, // 45: octopus.UploadDataSetConfirmReq.params:type_name -> octopus.UploadDataSetConfirmParam 63, // 46: octopus.UploadDataSetConfirmResp.payload:type_name -> octopus.PayloadUploadDataSetConfirm - 167, // 47: octopus.UploadDataSetConfirmResp.error:type_name -> octopus.Error + 191, // 47: octopus.UploadDataSetConfirmResp.error:type_name -> octopus.Error 65, // 48: octopus.CreateDataSetVersionReq.params:type_name -> octopus.CreateDataSetVersionParam 67, // 49: octopus.CreateDataSetVersionResp.payload:type_name -> octopus.PayloadCreateDataSetVersion - 167, // 50: octopus.CreateDataSetVersionResp.error:type_name -> octopus.Error + 191, // 50: octopus.CreateDataSetVersionResp.error:type_name -> octopus.Error 70, // 51: octopus.DeleteDataSetVersionResp.payload:type_name -> octopus.PayloadDeleteDataSetVersion - 167, // 52: octopus.DeleteDataSetVersionResp.error:type_name -> octopus.Error + 191, // 52: octopus.DeleteDataSetVersionResp.error:type_name -> octopus.Error 73, // 53: octopus.GetDatasetApplyListResp.payload:type_name -> octopus.PayloadGetDatasetApplyList - 167, // 54: octopus.GetDatasetApplyListResp.error:type_name -> octopus.Error + 191, // 54: octopus.GetDatasetApplyListResp.error:type_name -> octopus.Error 32, // 55: octopus.PayloadGetDatasetApplyList.lables:type_name -> octopus.Lables 76, // 56: octopus.GetDatasetTypeListResp.payload:type_name -> octopus.PayloadGetDatasetTypeList - 167, // 57: octopus.GetDatasetTypeListResp.error:type_name -> octopus.Error + 191, // 57: octopus.GetDatasetTypeListResp.error:type_name -> octopus.Error 32, // 58: octopus.PayloadGetDatasetTypeList.lables:type_name -> octopus.Lables - 78, // 59: octopus.CreateNotebookReq.params:type_name -> octopus.CreateNotebookParam - 160, // 60: octopus.CreateNotebookParam.envs:type_name -> octopus.Envs - 163, // 61: octopus.CreateNotebookParam.mounts:type_name -> octopus.Mounts - 80, // 62: octopus.CreateNotebookResp.payload:type_name -> octopus.PayloadCreateNotebook - 167, // 63: octopus.CreateNotebookResp.error:type_name -> octopus.Error - 83, // 64: octopus.GetNotebookResp.payload:type_name -> octopus.PayloadGetNotebook - 167, // 65: octopus.GetNotebookResp.error:type_name -> octopus.Error - 90, // 66: octopus.PayloadGetNotebook.notebook:type_name -> octopus.Notebook - 86, // 67: octopus.DeleteNotebookResp.payload:type_name -> octopus.PayloadDeleteNotebook - 167, // 68: octopus.DeleteNotebookResp.error:type_name -> octopus.Error - 89, // 69: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList - 167, // 70: octopus.GetNotebookListResp.error:type_name -> octopus.Error - 90, // 71: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebook - 91, // 72: octopus.Notebook.tasks:type_name -> octopus.Tasks - 94, // 73: octopus.StartNotebookResp.payload:type_name -> octopus.PayloadStartNotebook - 167, // 74: octopus.StartNotebookResp.error:type_name -> octopus.Error - 97, // 75: octopus.StopNotebookResp.payload:type_name -> octopus.PayloadStopNotebook - 167, // 76: octopus.StopNotebookResp.error:type_name -> octopus.Error - 100, // 77: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList - 167, // 78: octopus.GetUserImageListResp.error:type_name -> octopus.Error - 101, // 79: octopus.PayloadUserImageList.images:type_name -> octopus.Images - 102, // 80: octopus.Images.image:type_name -> octopus.Image - 105, // 81: octopus.DeleteImageResp.payload:type_name -> octopus.PayloadDeleteImage - 167, // 82: octopus.DeleteImageResp.error:type_name -> octopus.Error - 107, // 83: octopus.CreateImageReq.createImage:type_name -> octopus.CreateImage - 109, // 84: octopus.CreateImageResp.payload:type_name -> octopus.PayloadCreateImage - 167, // 85: octopus.CreateImageResp.error:type_name -> octopus.Error - 111, // 86: octopus.UploadImageReq.params:type_name -> octopus.UploadImageParam - 113, // 87: octopus.UploadImageResp.payload:type_name -> octopus.PayloadUploadImage - 167, // 88: octopus.UploadImageResp.error:type_name -> octopus.Error - 114, // 89: octopus.PayloadUploadImage.headers:type_name -> octopus.Headers - 117, // 90: octopus.UploadImageConfirmResp.payload:type_name -> octopus.PayloadUploadImageConfirm - 167, // 91: octopus.UploadImageConfirmResp.error:type_name -> octopus.Error - 120, // 92: octopus.GetModelVersionListResp.payload:type_name -> octopus.PayloadGetModelVersionList - 167, // 93: octopus.GetModelVersionListResp.error:type_name -> octopus.Error - 121, // 94: octopus.PayloadGetModelVersionList.modelVersions:type_name -> octopus.ModelVersion - 122, // 95: octopus.ModelVersion.versionDetail:type_name -> octopus.VersionDetail - 125, // 96: octopus.DeleteMyModelResp.payload:type_name -> octopus.PayloadDeleteMyModel - 167, // 97: octopus.DeleteMyModelResp.error:type_name -> octopus.Error - 128, // 98: octopus.DeleteModelVersionResp.payload:type_name -> octopus.PayloadDeleteModelVersion - 167, // 99: octopus.DeleteModelVersionResp.error:type_name -> octopus.Error - 131, // 100: octopus.DownloadModelVersionResp.payload:type_name -> octopus.PayloadDownloadModelVersion - 167, // 101: octopus.DownloadModelVersionResp.error:type_name -> octopus.Error - 134, // 102: octopus.GetMyModelListResp.payload:type_name -> octopus.PayloadGetMyModelList - 167, // 103: octopus.GetMyModelListResp.error:type_name -> octopus.Error - 135, // 104: octopus.PayloadGetMyModelList.models:type_name -> octopus.Model - 138, // 105: octopus.GetTrainJobResp.payload:type_name -> octopus.PayloadGetTrainJob - 167, // 106: octopus.GetTrainJobResp.error:type_name -> octopus.Error - 155, // 107: octopus.PayloadGetTrainJob.trainJob:type_name -> octopus.TrainJob - 141, // 108: octopus.DeleteTrainJobResp.payload:type_name -> octopus.PayloadDeleteTrainJob - 167, // 109: octopus.DeleteTrainJobResp.error:type_name -> octopus.Error - 144, // 110: octopus.StopTrainJobResp.payload:type_name -> octopus.PayloadStopTrainJob - 167, // 111: octopus.StopTrainJobResp.error:type_name -> octopus.Error - 147, // 112: octopus.GetTrainJobEventResp.payload:type_name -> octopus.PayloadGetTrainJobEvent - 167, // 113: octopus.GetTrainJobEventResp.error:type_name -> octopus.Error - 148, // 114: octopus.PayloadGetTrainJobEvent.jobEvents:type_name -> octopus.JobEvent - 151, // 115: octopus.GetTrainJobMetricResp.payload:type_name -> octopus.PayloadGetTrainJobMetric - 167, // 116: octopus.GetTrainJobMetricResp.error:type_name -> octopus.Error - 154, // 117: octopus.GetTrainJobListResp.payload:type_name -> octopus.PayloadGetTrainJobList - 167, // 118: octopus.GetTrainJobListResp.error:type_name -> octopus.Error - 155, // 119: octopus.PayloadGetTrainJobList.trainJobs:type_name -> octopus.TrainJob - 159, // 120: octopus.TrainJob.config:type_name -> octopus.Config - 158, // 121: octopus.CreateTrainJobReq.params:type_name -> octopus.CreateTrainJobParam - 164, // 122: octopus.CreateTrainJobResp.payload:type_name -> octopus.PayloadCreateTrainJob - 167, // 123: octopus.CreateTrainJobResp.error:type_name -> octopus.Error - 159, // 124: octopus.CreateTrainJobParam.config:type_name -> octopus.Config - 163, // 125: octopus.CreateTrainJobParam.mounts:type_name -> octopus.Mounts - 160, // 126: octopus.Config.envs:type_name -> octopus.Envs - 161, // 127: octopus.Config.parameters:type_name -> octopus.Parameters - 162, // 128: octopus.Config.replicaStates:type_name -> octopus.ReplicaStates - 165, // 129: octopus.Mounts.nfs:type_name -> octopus.Nfs - 166, // 130: octopus.Mounts.octopus:type_name -> octopus.TrainJobOctopus - 0, // 131: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq - 0, // 132: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq - 22, // 133: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq - 18, // 134: octopus.Octopus.GetAlgorithmList:input_type -> octopus.GetAlgorithmListReq - 3, // 135: octopus.Octopus.GetAlgorithm:input_type -> octopus.GetAlgorithmReq - 26, // 136: octopus.Octopus.GetAlgorithmApplyList:input_type -> octopus.GetAlgorithmApplyListReq - 29, // 137: octopus.Octopus.GetAlgorithmFrameworkList:input_type -> octopus.GetAlgorithmFrameworkListReq - 33, // 138: octopus.Octopus.DeleteMyAlgorithm:input_type -> octopus.DeleteMyAlgorithmReq - 36, // 139: octopus.Octopus.CreateMyAlgorithm:input_type -> octopus.CreateMyAlgorithmReq - 7, // 140: octopus.Octopus.DownloadAlgorithm:input_type -> octopus.DownloadAlgorithmReq - 10, // 141: octopus.Octopus.UploadAlgorithm:input_type -> octopus.UploadAlgorithmReq - 14, // 142: octopus.Octopus.UploadAlgorithmConfirm:input_type -> octopus.UploadAlgorithmConfirmReq - 48, // 143: octopus.Octopus.GetMyDatasetList:input_type -> octopus.GetMyDatasetListReq - 40, // 144: octopus.Octopus.GetDatasetVersionList:input_type -> octopus.GetDatasetVersionListReq - 44, // 145: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq - 53, // 146: octopus.Octopus.DeleteDataSet:input_type -> octopus.DeleteDataSetReq - 56, // 147: octopus.Octopus.UploadDataSet:input_type -> octopus.UploadDataSetReq - 60, // 148: octopus.Octopus.UploadDataSetConfirm:input_type -> octopus.UploadDataSetConfirmReq - 64, // 149: octopus.Octopus.CreateDataSetVersion:input_type -> octopus.CreateDataSetVersionReq - 68, // 150: octopus.Octopus.DeleteDataSetVersion:input_type -> octopus.DeleteDataSetVersionReq - 71, // 151: octopus.Octopus.GetDatasetApplyList:input_type -> octopus.GetDatasetApplyListReq - 74, // 152: octopus.Octopus.GetDatasetTypeList:input_type -> octopus.GetDatasetTypeListRep - 87, // 153: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq - 81, // 154: octopus.Octopus.GetNotebook:input_type -> octopus.GetNotebookReq - 84, // 155: octopus.Octopus.DeleteNotebook:input_type -> octopus.DeleteNotebookReq - 77, // 156: octopus.Octopus.CreateNotebook:input_type -> octopus.CreateNotebookReq - 92, // 157: octopus.Octopus.StartNotebook:input_type -> octopus.StartNotebookReq - 95, // 158: octopus.Octopus.StopNotebook:input_type -> octopus.StopNotebookReq - 98, // 159: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq - 106, // 160: octopus.Octopus.CreateImage:input_type -> octopus.CreateImageReq - 103, // 161: octopus.Octopus.DeleteImage:input_type -> octopus.DeleteImageReq - 110, // 162: octopus.Octopus.UploadImage:input_type -> octopus.UploadImageReq - 115, // 163: octopus.Octopus.UploadImageConfirm:input_type -> octopus.UploadImageConfirmReq - 132, // 164: octopus.Octopus.GetMyModelList:input_type -> octopus.GetMyModelListReq - 118, // 165: octopus.Octopus.GetModelVersionList:input_type -> octopus.GetModelVersionListReq - 123, // 166: octopus.Octopus.DeleteMyModel:input_type -> octopus.DeleteMyModelReq - 126, // 167: octopus.Octopus.DeleteModelVersion:input_type -> octopus.DeleteModelVersionReq - 129, // 168: octopus.Octopus.DownloadModelVersion:input_type -> octopus.DownloadModelVersionReq - 156, // 169: octopus.Octopus.CreateTrainJob:input_type -> octopus.CreateTrainJobReq - 152, // 170: octopus.Octopus.GetTrainJobList:input_type -> octopus.GetTrainJobListReq - 136, // 171: octopus.Octopus.GetTrainJob:input_type -> octopus.GetTrainJobReq - 139, // 172: octopus.Octopus.DeleteTrainJob:input_type -> octopus.DeleteTrainJobReq - 142, // 173: octopus.Octopus.StopTrainJob:input_type -> octopus.StopTrainJobReq - 145, // 174: octopus.Octopus.GetTrainJobEvent:input_type -> octopus.GetTrainJobEventReq - 149, // 175: octopus.Octopus.GetTrainJobMetric:input_type -> octopus.GetTrainJobMetricReq - 1, // 176: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp - 2, // 177: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp - 23, // 178: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp - 19, // 179: octopus.Octopus.GetAlgorithmList:output_type -> octopus.GetAlgorithmListResp - 4, // 180: octopus.Octopus.GetAlgorithm:output_type -> octopus.GetAlgorithmResp - 27, // 181: octopus.Octopus.GetAlgorithmApplyList:output_type -> octopus.GetAlgorithmApplyListResp - 30, // 182: octopus.Octopus.GetAlgorithmFrameworkList:output_type -> octopus.GetAlgorithmFrameworkListResp - 34, // 183: octopus.Octopus.DeleteMyAlgorithm:output_type -> octopus.DeleteMyAlgorithmResp - 37, // 184: octopus.Octopus.CreateMyAlgorithm:output_type -> octopus.CreateMyAlgorithmResp - 8, // 185: octopus.Octopus.DownloadAlgorithm:output_type -> octopus.DownloadAlgorithmResp - 12, // 186: octopus.Octopus.UploadAlgorithm:output_type -> octopus.UploadAlgorithmResp - 16, // 187: octopus.Octopus.UploadAlgorithmConfirm:output_type -> octopus.UploadAlgorithmConfirmResp - 49, // 188: octopus.Octopus.GetMyDatasetList:output_type -> octopus.GetMyDatasetListResp - 41, // 189: octopus.Octopus.GetDatasetVersionList:output_type -> octopus.GetDatasetVersionListResp - 45, // 190: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResp - 54, // 191: octopus.Octopus.DeleteDataSet:output_type -> octopus.DeleteDataSetResp - 58, // 192: octopus.Octopus.UploadDataSet:output_type -> octopus.UploadDataSetResp - 62, // 193: octopus.Octopus.UploadDataSetConfirm:output_type -> octopus.UploadDataSetConfirmResp - 66, // 194: octopus.Octopus.CreateDataSetVersion:output_type -> octopus.CreateDataSetVersionResp - 69, // 195: octopus.Octopus.DeleteDataSetVersion:output_type -> octopus.DeleteDataSetVersionResp - 72, // 196: octopus.Octopus.GetDatasetApplyList:output_type -> octopus.GetDatasetApplyListResp - 75, // 197: octopus.Octopus.GetDatasetTypeList:output_type -> octopus.GetDatasetTypeListResp - 88, // 198: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp - 82, // 199: octopus.Octopus.GetNotebook:output_type -> octopus.GetNotebookResp - 85, // 200: octopus.Octopus.DeleteNotebook:output_type -> octopus.DeleteNotebookResp - 79, // 201: octopus.Octopus.CreateNotebook:output_type -> octopus.CreateNotebookResp - 93, // 202: octopus.Octopus.StartNotebook:output_type -> octopus.StartNotebookResp - 96, // 203: octopus.Octopus.StopNotebook:output_type -> octopus.StopNotebookResp - 99, // 204: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp - 108, // 205: octopus.Octopus.CreateImage:output_type -> octopus.CreateImageResp - 104, // 206: octopus.Octopus.DeleteImage:output_type -> octopus.DeleteImageResp - 112, // 207: octopus.Octopus.UploadImage:output_type -> octopus.UploadImageResp - 116, // 208: octopus.Octopus.UploadImageConfirm:output_type -> octopus.UploadImageConfirmResp - 133, // 209: octopus.Octopus.GetMyModelList:output_type -> octopus.GetMyModelListResp - 119, // 210: octopus.Octopus.GetModelVersionList:output_type -> octopus.GetModelVersionListResp - 124, // 211: octopus.Octopus.DeleteMyModel:output_type -> octopus.DeleteMyModelResp - 127, // 212: octopus.Octopus.DeleteModelVersion:output_type -> octopus.DeleteModelVersionResp - 130, // 213: octopus.Octopus.DownloadModelVersion:output_type -> octopus.DownloadModelVersionResp - 157, // 214: octopus.Octopus.CreateTrainJob:output_type -> octopus.CreateTrainJobResp - 153, // 215: octopus.Octopus.GetTrainJobList:output_type -> octopus.GetTrainJobListResp - 137, // 216: octopus.Octopus.GetTrainJob:output_type -> octopus.GetTrainJobResp - 140, // 217: octopus.Octopus.DeleteTrainJob:output_type -> octopus.DeleteTrainJobResp - 143, // 218: octopus.Octopus.StopTrainJob:output_type -> octopus.StopTrainJobResp - 146, // 219: octopus.Octopus.GetTrainJobEvent:output_type -> octopus.GetTrainJobEventResp - 150, // 220: octopus.Octopus.GetTrainJobMetric:output_type -> octopus.GetTrainJobMetricResp - 176, // [176:221] is the sub-list for method output_type - 131, // [131:176] is the sub-list for method input_type - 131, // [131:131] is the sub-list for extension type_name - 131, // [131:131] is the sub-list for extension extendee - 0, // [0:131] is the sub-list for field type_name + 78, // 59: octopus.CreateModelDeployReq.params:type_name -> octopus.CreateModelDeployParam + 80, // 60: octopus.CreateModelDeployResp.payload:type_name -> octopus.PayloadCreateModelDeploy + 191, // 61: octopus.CreateModelDeployResp.error:type_name -> octopus.Error + 83, // 62: octopus.GetModelDeployListResp.payload:type_name -> octopus.PayloadGetModelDeployList + 191, // 63: octopus.GetModelDeployListResp.error:type_name -> octopus.Error + 84, // 64: octopus.PayloadGetModelDeployList.depInfos:type_name -> octopus.DepInfo + 87, // 65: octopus.GetModelDeployResp.payload:type_name -> octopus.PayloadGetModelDeploy + 191, // 66: octopus.GetModelDeployResp.error:type_name -> octopus.Error + 84, // 67: octopus.PayloadGetModelDeploy.depInfo:type_name -> octopus.DepInfo + 90, // 68: octopus.GetModelDeployEventResp.payload:type_name -> octopus.PayloadGetModelDeployEvent + 191, // 69: octopus.GetModelDeployEventResp.error:type_name -> octopus.Error + 91, // 70: octopus.PayloadGetModelDeployEvent.depEvents:type_name -> octopus.DepEvent + 94, // 71: octopus.StopModelDeployResp.payload:type_name -> octopus.PayloadStopModelDeploy + 191, // 72: octopus.StopModelDeployResp.error:type_name -> octopus.Error + 97, // 73: octopus.DeleteModelDeployResp.payload:type_name -> octopus.PayloadDeleteModelDeploy + 191, // 74: octopus.DeleteModelDeployResp.error:type_name -> octopus.Error + 100, // 75: octopus.InferModelDeployResp.payload:type_name -> octopus.PayloadInferModelDeploy + 191, // 76: octopus.InferModelDeployResp.error:type_name -> octopus.Error + 102, // 77: octopus.CreateNotebookReq.params:type_name -> octopus.CreateNotebookParam + 184, // 78: octopus.CreateNotebookParam.envs:type_name -> octopus.Envs + 187, // 79: octopus.CreateNotebookParam.mounts:type_name -> octopus.Mounts + 104, // 80: octopus.CreateNotebookResp.payload:type_name -> octopus.PayloadCreateNotebook + 191, // 81: octopus.CreateNotebookResp.error:type_name -> octopus.Error + 107, // 82: octopus.GetNotebookResp.payload:type_name -> octopus.PayloadGetNotebook + 191, // 83: octopus.GetNotebookResp.error:type_name -> octopus.Error + 114, // 84: octopus.PayloadGetNotebook.notebook:type_name -> octopus.Notebook + 110, // 85: octopus.DeleteNotebookResp.payload:type_name -> octopus.PayloadDeleteNotebook + 191, // 86: octopus.DeleteNotebookResp.error:type_name -> octopus.Error + 113, // 87: octopus.GetNotebookListResp.payload:type_name -> octopus.PayloadNotebookList + 191, // 88: octopus.GetNotebookListResp.error:type_name -> octopus.Error + 114, // 89: octopus.PayloadNotebookList.notebooks:type_name -> octopus.Notebook + 115, // 90: octopus.Notebook.tasks:type_name -> octopus.Tasks + 118, // 91: octopus.StartNotebookResp.payload:type_name -> octopus.PayloadStartNotebook + 191, // 92: octopus.StartNotebookResp.error:type_name -> octopus.Error + 121, // 93: octopus.StopNotebookResp.payload:type_name -> octopus.PayloadStopNotebook + 191, // 94: octopus.StopNotebookResp.error:type_name -> octopus.Error + 124, // 95: octopus.GetUserImageListResp.payload:type_name -> octopus.PayloadUserImageList + 191, // 96: octopus.GetUserImageListResp.error:type_name -> octopus.Error + 125, // 97: octopus.PayloadUserImageList.images:type_name -> octopus.Images + 126, // 98: octopus.Images.image:type_name -> octopus.Image + 129, // 99: octopus.DeleteImageResp.payload:type_name -> octopus.PayloadDeleteImage + 191, // 100: octopus.DeleteImageResp.error:type_name -> octopus.Error + 131, // 101: octopus.CreateImageReq.createImage:type_name -> octopus.CreateImage + 133, // 102: octopus.CreateImageResp.payload:type_name -> octopus.PayloadCreateImage + 191, // 103: octopus.CreateImageResp.error:type_name -> octopus.Error + 135, // 104: octopus.UploadImageReq.params:type_name -> octopus.UploadImageParam + 137, // 105: octopus.UploadImageResp.payload:type_name -> octopus.PayloadUploadImage + 191, // 106: octopus.UploadImageResp.error:type_name -> octopus.Error + 138, // 107: octopus.PayloadUploadImage.headers:type_name -> octopus.Headers + 141, // 108: octopus.UploadImageConfirmResp.payload:type_name -> octopus.PayloadUploadImageConfirm + 191, // 109: octopus.UploadImageConfirmResp.error:type_name -> octopus.Error + 144, // 110: octopus.GetModelVersionListResp.payload:type_name -> octopus.PayloadGetModelVersionList + 191, // 111: octopus.GetModelVersionListResp.error:type_name -> octopus.Error + 145, // 112: octopus.PayloadGetModelVersionList.modelVersions:type_name -> octopus.ModelVersion + 146, // 113: octopus.ModelVersion.versionDetail:type_name -> octopus.VersionDetail + 149, // 114: octopus.DeleteMyModelResp.payload:type_name -> octopus.PayloadDeleteMyModel + 191, // 115: octopus.DeleteMyModelResp.error:type_name -> octopus.Error + 152, // 116: octopus.DeleteModelVersionResp.payload:type_name -> octopus.PayloadDeleteModelVersion + 191, // 117: octopus.DeleteModelVersionResp.error:type_name -> octopus.Error + 155, // 118: octopus.DownloadModelVersionResp.payload:type_name -> octopus.PayloadDownloadModelVersion + 191, // 119: octopus.DownloadModelVersionResp.error:type_name -> octopus.Error + 158, // 120: octopus.GetMyModelListResp.payload:type_name -> octopus.PayloadGetMyModelList + 191, // 121: octopus.GetMyModelListResp.error:type_name -> octopus.Error + 159, // 122: octopus.PayloadGetMyModelList.models:type_name -> octopus.Model + 162, // 123: octopus.GetTrainJobResp.payload:type_name -> octopus.PayloadGetTrainJob + 191, // 124: octopus.GetTrainJobResp.error:type_name -> octopus.Error + 179, // 125: octopus.PayloadGetTrainJob.trainJob:type_name -> octopus.TrainJob + 165, // 126: octopus.DeleteTrainJobResp.payload:type_name -> octopus.PayloadDeleteTrainJob + 191, // 127: octopus.DeleteTrainJobResp.error:type_name -> octopus.Error + 168, // 128: octopus.StopTrainJobResp.payload:type_name -> octopus.PayloadStopTrainJob + 191, // 129: octopus.StopTrainJobResp.error:type_name -> octopus.Error + 171, // 130: octopus.GetTrainJobEventResp.payload:type_name -> octopus.PayloadGetTrainJobEvent + 191, // 131: octopus.GetTrainJobEventResp.error:type_name -> octopus.Error + 172, // 132: octopus.PayloadGetTrainJobEvent.jobEvents:type_name -> octopus.JobEvent + 175, // 133: octopus.GetTrainJobMetricResp.payload:type_name -> octopus.PayloadGetTrainJobMetric + 191, // 134: octopus.GetTrainJobMetricResp.error:type_name -> octopus.Error + 178, // 135: octopus.GetTrainJobListResp.payload:type_name -> octopus.PayloadGetTrainJobList + 191, // 136: octopus.GetTrainJobListResp.error:type_name -> octopus.Error + 179, // 137: octopus.PayloadGetTrainJobList.trainJobs:type_name -> octopus.TrainJob + 183, // 138: octopus.TrainJob.config:type_name -> octopus.Config + 182, // 139: octopus.CreateTrainJobReq.params:type_name -> octopus.CreateTrainJobParam + 188, // 140: octopus.CreateTrainJobResp.payload:type_name -> octopus.PayloadCreateTrainJob + 191, // 141: octopus.CreateTrainJobResp.error:type_name -> octopus.Error + 183, // 142: octopus.CreateTrainJobParam.config:type_name -> octopus.Config + 187, // 143: octopus.CreateTrainJobParam.mounts:type_name -> octopus.Mounts + 184, // 144: octopus.Config.envs:type_name -> octopus.Envs + 185, // 145: octopus.Config.parameters:type_name -> octopus.Parameters + 186, // 146: octopus.Config.replicaStates:type_name -> octopus.ReplicaStates + 189, // 147: octopus.Mounts.nfs:type_name -> octopus.Nfs + 190, // 148: octopus.Mounts.octopus:type_name -> octopus.TrainJobOctopus + 0, // 149: octopus.Octopus.GetComputingPower:input_type -> octopus.resourceReq + 0, // 150: octopus.Octopus.GetGeneralInfo:input_type -> octopus.resourceReq + 22, // 151: octopus.Octopus.GetMyAlgorithmList:input_type -> octopus.GetMyAlgorithmListReq + 18, // 152: octopus.Octopus.GetAlgorithmList:input_type -> octopus.GetAlgorithmListReq + 3, // 153: octopus.Octopus.GetAlgorithm:input_type -> octopus.GetAlgorithmReq + 26, // 154: octopus.Octopus.GetAlgorithmApplyList:input_type -> octopus.GetAlgorithmApplyListReq + 29, // 155: octopus.Octopus.GetAlgorithmFrameworkList:input_type -> octopus.GetAlgorithmFrameworkListReq + 33, // 156: octopus.Octopus.DeleteMyAlgorithm:input_type -> octopus.DeleteMyAlgorithmReq + 36, // 157: octopus.Octopus.CreateMyAlgorithm:input_type -> octopus.CreateMyAlgorithmReq + 7, // 158: octopus.Octopus.DownloadAlgorithm:input_type -> octopus.DownloadAlgorithmReq + 10, // 159: octopus.Octopus.UploadAlgorithm:input_type -> octopus.UploadAlgorithmReq + 14, // 160: octopus.Octopus.UploadAlgorithmConfirm:input_type -> octopus.UploadAlgorithmConfirmReq + 48, // 161: octopus.Octopus.GetMyDatasetList:input_type -> octopus.GetMyDatasetListReq + 40, // 162: octopus.Octopus.GetDatasetVersionList:input_type -> octopus.GetDatasetVersionListReq + 44, // 163: octopus.Octopus.CreateDataSet:input_type -> octopus.CreateDataSetReq + 53, // 164: octopus.Octopus.DeleteDataSet:input_type -> octopus.DeleteDataSetReq + 56, // 165: octopus.Octopus.UploadDataSet:input_type -> octopus.UploadDataSetReq + 60, // 166: octopus.Octopus.UploadDataSetConfirm:input_type -> octopus.UploadDataSetConfirmReq + 64, // 167: octopus.Octopus.CreateDataSetVersion:input_type -> octopus.CreateDataSetVersionReq + 68, // 168: octopus.Octopus.DeleteDataSetVersion:input_type -> octopus.DeleteDataSetVersionReq + 71, // 169: octopus.Octopus.GetDatasetApplyList:input_type -> octopus.GetDatasetApplyListReq + 74, // 170: octopus.Octopus.GetDatasetTypeList:input_type -> octopus.GetDatasetTypeListRep + 77, // 171: octopus.Octopus.CreateModelDeploy:input_type -> octopus.CreateModelDeployReq + 81, // 172: octopus.Octopus.GetModelDeployList:input_type -> octopus.GetModelDeployListReq + 85, // 173: octopus.Octopus.GetModelDeploy:input_type -> octopus.GetModelDeployReq + 88, // 174: octopus.Octopus.GetModelDeployEvent:input_type -> octopus.GetModelDeployEventReq + 92, // 175: octopus.Octopus.StopModelDeploy:input_type -> octopus.StopModelDeployReq + 95, // 176: octopus.Octopus.DeleteModelDeploy:input_type -> octopus.DeleteModelDeployReq + 98, // 177: octopus.Octopus.InferModelDeploy:input_type -> octopus.InferModelDeployReq + 111, // 178: octopus.Octopus.GetNotebookList:input_type -> octopus.GetNotebookListReq + 105, // 179: octopus.Octopus.GetNotebook:input_type -> octopus.GetNotebookReq + 108, // 180: octopus.Octopus.DeleteNotebook:input_type -> octopus.DeleteNotebookReq + 101, // 181: octopus.Octopus.CreateNotebook:input_type -> octopus.CreateNotebookReq + 116, // 182: octopus.Octopus.StartNotebook:input_type -> octopus.StartNotebookReq + 119, // 183: octopus.Octopus.StopNotebook:input_type -> octopus.StopNotebookReq + 122, // 184: octopus.Octopus.GetUserImageList:input_type -> octopus.GetUserImageListReq + 130, // 185: octopus.Octopus.CreateImage:input_type -> octopus.CreateImageReq + 127, // 186: octopus.Octopus.DeleteImage:input_type -> octopus.DeleteImageReq + 134, // 187: octopus.Octopus.UploadImage:input_type -> octopus.UploadImageReq + 139, // 188: octopus.Octopus.UploadImageConfirm:input_type -> octopus.UploadImageConfirmReq + 156, // 189: octopus.Octopus.GetMyModelList:input_type -> octopus.GetMyModelListReq + 142, // 190: octopus.Octopus.GetModelVersionList:input_type -> octopus.GetModelVersionListReq + 147, // 191: octopus.Octopus.DeleteMyModel:input_type -> octopus.DeleteMyModelReq + 150, // 192: octopus.Octopus.DeleteModelVersion:input_type -> octopus.DeleteModelVersionReq + 153, // 193: octopus.Octopus.DownloadModelVersion:input_type -> octopus.DownloadModelVersionReq + 180, // 194: octopus.Octopus.CreateTrainJob:input_type -> octopus.CreateTrainJobReq + 176, // 195: octopus.Octopus.GetTrainJobList:input_type -> octopus.GetTrainJobListReq + 160, // 196: octopus.Octopus.GetTrainJob:input_type -> octopus.GetTrainJobReq + 163, // 197: octopus.Octopus.DeleteTrainJob:input_type -> octopus.DeleteTrainJobReq + 166, // 198: octopus.Octopus.StopTrainJob:input_type -> octopus.StopTrainJobReq + 169, // 199: octopus.Octopus.GetTrainJobEvent:input_type -> octopus.GetTrainJobEventReq + 173, // 200: octopus.Octopus.GetTrainJobMetric:input_type -> octopus.GetTrainJobMetricReq + 1, // 201: octopus.Octopus.GetComputingPower:output_type -> octopus.cpResp + 2, // 202: octopus.Octopus.GetGeneralInfo:output_type -> octopus.giResp + 23, // 203: octopus.Octopus.GetMyAlgorithmList:output_type -> octopus.GetMyAlgorithmListResp + 19, // 204: octopus.Octopus.GetAlgorithmList:output_type -> octopus.GetAlgorithmListResp + 4, // 205: octopus.Octopus.GetAlgorithm:output_type -> octopus.GetAlgorithmResp + 27, // 206: octopus.Octopus.GetAlgorithmApplyList:output_type -> octopus.GetAlgorithmApplyListResp + 30, // 207: octopus.Octopus.GetAlgorithmFrameworkList:output_type -> octopus.GetAlgorithmFrameworkListResp + 34, // 208: octopus.Octopus.DeleteMyAlgorithm:output_type -> octopus.DeleteMyAlgorithmResp + 37, // 209: octopus.Octopus.CreateMyAlgorithm:output_type -> octopus.CreateMyAlgorithmResp + 8, // 210: octopus.Octopus.DownloadAlgorithm:output_type -> octopus.DownloadAlgorithmResp + 12, // 211: octopus.Octopus.UploadAlgorithm:output_type -> octopus.UploadAlgorithmResp + 16, // 212: octopus.Octopus.UploadAlgorithmConfirm:output_type -> octopus.UploadAlgorithmConfirmResp + 49, // 213: octopus.Octopus.GetMyDatasetList:output_type -> octopus.GetMyDatasetListResp + 41, // 214: octopus.Octopus.GetDatasetVersionList:output_type -> octopus.GetDatasetVersionListResp + 45, // 215: octopus.Octopus.CreateDataSet:output_type -> octopus.CreateDataSetResp + 54, // 216: octopus.Octopus.DeleteDataSet:output_type -> octopus.DeleteDataSetResp + 58, // 217: octopus.Octopus.UploadDataSet:output_type -> octopus.UploadDataSetResp + 62, // 218: octopus.Octopus.UploadDataSetConfirm:output_type -> octopus.UploadDataSetConfirmResp + 66, // 219: octopus.Octopus.CreateDataSetVersion:output_type -> octopus.CreateDataSetVersionResp + 69, // 220: octopus.Octopus.DeleteDataSetVersion:output_type -> octopus.DeleteDataSetVersionResp + 72, // 221: octopus.Octopus.GetDatasetApplyList:output_type -> octopus.GetDatasetApplyListResp + 75, // 222: octopus.Octopus.GetDatasetTypeList:output_type -> octopus.GetDatasetTypeListResp + 79, // 223: octopus.Octopus.CreateModelDeploy:output_type -> octopus.CreateModelDeployResp + 82, // 224: octopus.Octopus.GetModelDeployList:output_type -> octopus.GetModelDeployListResp + 86, // 225: octopus.Octopus.GetModelDeploy:output_type -> octopus.GetModelDeployResp + 89, // 226: octopus.Octopus.GetModelDeployEvent:output_type -> octopus.GetModelDeployEventResp + 93, // 227: octopus.Octopus.StopModelDeploy:output_type -> octopus.StopModelDeployResp + 96, // 228: octopus.Octopus.DeleteModelDeploy:output_type -> octopus.DeleteModelDeployResp + 99, // 229: octopus.Octopus.InferModelDeploy:output_type -> octopus.InferModelDeployResp + 112, // 230: octopus.Octopus.GetNotebookList:output_type -> octopus.GetNotebookListResp + 106, // 231: octopus.Octopus.GetNotebook:output_type -> octopus.GetNotebookResp + 109, // 232: octopus.Octopus.DeleteNotebook:output_type -> octopus.DeleteNotebookResp + 103, // 233: octopus.Octopus.CreateNotebook:output_type -> octopus.CreateNotebookResp + 117, // 234: octopus.Octopus.StartNotebook:output_type -> octopus.StartNotebookResp + 120, // 235: octopus.Octopus.StopNotebook:output_type -> octopus.StopNotebookResp + 123, // 236: octopus.Octopus.GetUserImageList:output_type -> octopus.GetUserImageListResp + 132, // 237: octopus.Octopus.CreateImage:output_type -> octopus.CreateImageResp + 128, // 238: octopus.Octopus.DeleteImage:output_type -> octopus.DeleteImageResp + 136, // 239: octopus.Octopus.UploadImage:output_type -> octopus.UploadImageResp + 140, // 240: octopus.Octopus.UploadImageConfirm:output_type -> octopus.UploadImageConfirmResp + 157, // 241: octopus.Octopus.GetMyModelList:output_type -> octopus.GetMyModelListResp + 143, // 242: octopus.Octopus.GetModelVersionList:output_type -> octopus.GetModelVersionListResp + 148, // 243: octopus.Octopus.DeleteMyModel:output_type -> octopus.DeleteMyModelResp + 151, // 244: octopus.Octopus.DeleteModelVersion:output_type -> octopus.DeleteModelVersionResp + 154, // 245: octopus.Octopus.DownloadModelVersion:output_type -> octopus.DownloadModelVersionResp + 181, // 246: octopus.Octopus.CreateTrainJob:output_type -> octopus.CreateTrainJobResp + 177, // 247: octopus.Octopus.GetTrainJobList:output_type -> octopus.GetTrainJobListResp + 161, // 248: octopus.Octopus.GetTrainJob:output_type -> octopus.GetTrainJobResp + 164, // 249: octopus.Octopus.DeleteTrainJob:output_type -> octopus.DeleteTrainJobResp + 167, // 250: octopus.Octopus.StopTrainJob:output_type -> octopus.StopTrainJobResp + 170, // 251: octopus.Octopus.GetTrainJobEvent:output_type -> octopus.GetTrainJobEventResp + 174, // 252: octopus.Octopus.GetTrainJobMetric:output_type -> octopus.GetTrainJobMetricResp + 201, // [201:253] is the sub-list for method output_type + 149, // [149:201] is the sub-list for method input_type + 149, // [149:149] is the sub-list for extension type_name + 149, // [149:149] is the sub-list for extension extendee + 0, // [0:149] is the sub-list for field type_name } func init() { file_octopus_proto_init() } @@ -13858,7 +15716,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNotebookReq); i { + switch v := v.(*CreateModelDeployReq); i { case 0: return &v.state case 1: @@ -13870,7 +15728,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNotebookParam); i { + switch v := v.(*CreateModelDeployParam); i { case 0: return &v.state case 1: @@ -13882,7 +15740,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateNotebookResp); i { + switch v := v.(*CreateModelDeployResp); i { case 0: return &v.state case 1: @@ -13894,7 +15752,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadCreateNotebook); i { + switch v := v.(*PayloadCreateModelDeploy); i { case 0: return &v.state case 1: @@ -13906,7 +15764,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookReq); i { + switch v := v.(*GetModelDeployListReq); i { case 0: return &v.state case 1: @@ -13918,7 +15776,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookResp); i { + switch v := v.(*GetModelDeployListResp); i { case 0: return &v.state case 1: @@ -13930,7 +15788,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetNotebook); i { + switch v := v.(*PayloadGetModelDeployList); i { case 0: return &v.state case 1: @@ -13942,7 +15800,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNotebookReq); i { + switch v := v.(*DepInfo); i { case 0: return &v.state case 1: @@ -13954,7 +15812,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteNotebookResp); i { + switch v := v.(*GetModelDeployReq); i { case 0: return &v.state case 1: @@ -13966,7 +15824,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteNotebook); i { + switch v := v.(*GetModelDeployResp); i { case 0: return &v.state case 1: @@ -13978,7 +15836,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookListReq); i { + switch v := v.(*PayloadGetModelDeploy); i { case 0: return &v.state case 1: @@ -13990,7 +15848,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetNotebookListResp); i { + switch v := v.(*GetModelDeployEventReq); i { case 0: return &v.state case 1: @@ -14002,7 +15860,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadNotebookList); i { + switch v := v.(*GetModelDeployEventResp); i { case 0: return &v.state case 1: @@ -14014,7 +15872,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Notebook); i { + switch v := v.(*PayloadGetModelDeployEvent); i { case 0: return &v.state case 1: @@ -14026,7 +15884,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Tasks); i { + switch v := v.(*DepEvent); i { case 0: return &v.state case 1: @@ -14038,7 +15896,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartNotebookReq); i { + switch v := v.(*StopModelDeployReq); i { case 0: return &v.state case 1: @@ -14050,7 +15908,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartNotebookResp); i { + switch v := v.(*StopModelDeployResp); i { case 0: return &v.state case 1: @@ -14062,7 +15920,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadStartNotebook); i { + switch v := v.(*PayloadStopModelDeploy); i { case 0: return &v.state case 1: @@ -14074,7 +15932,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopNotebookReq); i { + switch v := v.(*DeleteModelDeployReq); i { case 0: return &v.state case 1: @@ -14086,7 +15944,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopNotebookResp); i { + switch v := v.(*DeleteModelDeployResp); i { case 0: return &v.state case 1: @@ -14098,7 +15956,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadStopNotebook); i { + switch v := v.(*PayloadDeleteModelDeploy); i { case 0: return &v.state case 1: @@ -14110,7 +15968,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListReq); i { + switch v := v.(*InferModelDeployReq); i { case 0: return &v.state case 1: @@ -14122,7 +15980,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserImageListResp); i { + switch v := v.(*InferModelDeployResp); i { case 0: return &v.state case 1: @@ -14134,7 +15992,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadUserImageList); i { + switch v := v.(*PayloadInferModelDeploy); i { case 0: return &v.state case 1: @@ -14146,7 +16004,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Images); i { + switch v := v.(*CreateNotebookReq); i { case 0: return &v.state case 1: @@ -14158,7 +16016,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Image); i { + switch v := v.(*CreateNotebookParam); i { case 0: return &v.state case 1: @@ -14170,7 +16028,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageReq); i { + switch v := v.(*CreateNotebookResp); i { case 0: return &v.state case 1: @@ -14182,7 +16040,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageResp); i { + switch v := v.(*PayloadCreateNotebook); i { case 0: return &v.state case 1: @@ -14194,7 +16052,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteImage); i { + switch v := v.(*GetNotebookReq); i { case 0: return &v.state case 1: @@ -14206,7 +16064,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageReq); i { + switch v := v.(*GetNotebookResp); i { case 0: return &v.state case 1: @@ -14218,7 +16076,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImage); i { + switch v := v.(*PayloadGetNotebook); i { case 0: return &v.state case 1: @@ -14230,7 +16088,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateImageResp); i { + switch v := v.(*DeleteNotebookReq); i { case 0: return &v.state case 1: @@ -14242,7 +16100,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadCreateImage); i { + switch v := v.(*DeleteNotebookResp); i { case 0: return &v.state case 1: @@ -14254,7 +16112,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadImageReq); i { + switch v := v.(*PayloadDeleteNotebook); i { case 0: return &v.state case 1: @@ -14266,7 +16124,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadImageParam); i { + switch v := v.(*GetNotebookListReq); i { case 0: return &v.state case 1: @@ -14278,7 +16136,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadImageResp); i { + switch v := v.(*GetNotebookListResp); i { case 0: return &v.state case 1: @@ -14290,7 +16148,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadUploadImage); i { + switch v := v.(*PayloadNotebookList); i { case 0: return &v.state case 1: @@ -14302,7 +16160,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Headers); i { + switch v := v.(*Notebook); i { case 0: return &v.state case 1: @@ -14314,7 +16172,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadImageConfirmReq); i { + switch v := v.(*Tasks); i { case 0: return &v.state case 1: @@ -14326,7 +16184,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UploadImageConfirmResp); i { + switch v := v.(*StartNotebookReq); i { case 0: return &v.state case 1: @@ -14338,7 +16196,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadUploadImageConfirm); i { + switch v := v.(*StartNotebookResp); i { case 0: return &v.state case 1: @@ -14350,7 +16208,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModelVersionListReq); i { + switch v := v.(*PayloadStartNotebook); i { case 0: return &v.state case 1: @@ -14362,7 +16220,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetModelVersionListResp); i { + switch v := v.(*StopNotebookReq); i { case 0: return &v.state case 1: @@ -14374,7 +16232,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetModelVersionList); i { + switch v := v.(*StopNotebookResp); i { case 0: return &v.state case 1: @@ -14386,7 +16244,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ModelVersion); i { + switch v := v.(*PayloadStopNotebook); i { case 0: return &v.state case 1: @@ -14398,7 +16256,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionDetail); i { + switch v := v.(*GetUserImageListReq); i { case 0: return &v.state case 1: @@ -14410,7 +16268,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMyModelReq); i { + switch v := v.(*GetUserImageListResp); i { case 0: return &v.state case 1: @@ -14422,7 +16280,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMyModelResp); i { + switch v := v.(*PayloadUserImageList); i { case 0: return &v.state case 1: @@ -14434,7 +16292,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteMyModel); i { + switch v := v.(*Images); i { case 0: return &v.state case 1: @@ -14446,7 +16304,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteModelVersionReq); i { + switch v := v.(*Image); i { case 0: return &v.state case 1: @@ -14458,7 +16316,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteModelVersionResp); i { + switch v := v.(*DeleteImageReq); i { case 0: return &v.state case 1: @@ -14470,7 +16328,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteModelVersion); i { + switch v := v.(*DeleteImageResp); i { case 0: return &v.state case 1: @@ -14482,7 +16340,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DownloadModelVersionReq); i { + switch v := v.(*PayloadDeleteImage); i { case 0: return &v.state case 1: @@ -14494,7 +16352,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DownloadModelVersionResp); i { + switch v := v.(*CreateImageReq); i { case 0: return &v.state case 1: @@ -14506,7 +16364,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDownloadModelVersion); i { + switch v := v.(*CreateImage); i { case 0: return &v.state case 1: @@ -14518,7 +16376,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyModelListReq); i { + switch v := v.(*CreateImageResp); i { case 0: return &v.state case 1: @@ -14530,7 +16388,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMyModelListResp); i { + switch v := v.(*PayloadCreateImage); i { case 0: return &v.state case 1: @@ -14542,7 +16400,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetMyModelList); i { + switch v := v.(*UploadImageReq); i { case 0: return &v.state case 1: @@ -14554,7 +16412,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Model); i { + switch v := v.(*UploadImageParam); i { case 0: return &v.state case 1: @@ -14566,7 +16424,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobReq); i { + switch v := v.(*UploadImageResp); i { case 0: return &v.state case 1: @@ -14578,7 +16436,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobResp); i { + switch v := v.(*PayloadUploadImage); i { case 0: return &v.state case 1: @@ -14590,7 +16448,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetTrainJob); i { + switch v := v.(*Headers); i { case 0: return &v.state case 1: @@ -14602,7 +16460,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTrainJobReq); i { + switch v := v.(*UploadImageConfirmReq); i { case 0: return &v.state case 1: @@ -14614,7 +16472,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteTrainJobResp); i { + switch v := v.(*UploadImageConfirmResp); i { case 0: return &v.state case 1: @@ -14626,7 +16484,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadDeleteTrainJob); i { + switch v := v.(*PayloadUploadImageConfirm); i { case 0: return &v.state case 1: @@ -14638,7 +16496,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopTrainJobReq); i { + switch v := v.(*GetModelVersionListReq); i { case 0: return &v.state case 1: @@ -14650,7 +16508,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopTrainJobResp); i { + switch v := v.(*GetModelVersionListResp); i { case 0: return &v.state case 1: @@ -14662,7 +16520,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadStopTrainJob); i { + switch v := v.(*PayloadGetModelVersionList); i { case 0: return &v.state case 1: @@ -14674,7 +16532,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobEventReq); i { + switch v := v.(*ModelVersion); i { case 0: return &v.state case 1: @@ -14686,7 +16544,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobEventResp); i { + switch v := v.(*VersionDetail); i { case 0: return &v.state case 1: @@ -14698,7 +16556,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetTrainJobEvent); i { + switch v := v.(*DeleteMyModelReq); i { case 0: return &v.state case 1: @@ -14710,7 +16568,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*JobEvent); i { + switch v := v.(*DeleteMyModelResp); i { case 0: return &v.state case 1: @@ -14722,7 +16580,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobMetricReq); i { + switch v := v.(*PayloadDeleteMyModel); i { case 0: return &v.state case 1: @@ -14734,7 +16592,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobMetricResp); i { + switch v := v.(*DeleteModelVersionReq); i { case 0: return &v.state case 1: @@ -14746,7 +16604,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetTrainJobMetric); i { + switch v := v.(*DeleteModelVersionResp); i { case 0: return &v.state case 1: @@ -14758,7 +16616,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobListReq); i { + switch v := v.(*PayloadDeleteModelVersion); i { case 0: return &v.state case 1: @@ -14770,7 +16628,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTrainJobListResp); i { + switch v := v.(*DownloadModelVersionReq); i { case 0: return &v.state case 1: @@ -14782,7 +16640,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadGetTrainJobList); i { + switch v := v.(*DownloadModelVersionResp); i { case 0: return &v.state case 1: @@ -14794,7 +16652,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrainJob); i { + switch v := v.(*PayloadDownloadModelVersion); i { case 0: return &v.state case 1: @@ -14806,7 +16664,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTrainJobReq); i { + switch v := v.(*GetMyModelListReq); i { case 0: return &v.state case 1: @@ -14818,7 +16676,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTrainJobResp); i { + switch v := v.(*GetMyModelListResp); i { case 0: return &v.state case 1: @@ -14830,7 +16688,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateTrainJobParam); i { + switch v := v.(*PayloadGetMyModelList); i { case 0: return &v.state case 1: @@ -14842,7 +16700,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Config); i { + switch v := v.(*Model); i { case 0: return &v.state case 1: @@ -14854,7 +16712,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Envs); i { + switch v := v.(*GetTrainJobReq); i { case 0: return &v.state case 1: @@ -14866,7 +16724,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Parameters); i { + switch v := v.(*GetTrainJobResp); i { case 0: return &v.state case 1: @@ -14878,7 +16736,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReplicaStates); i { + switch v := v.(*PayloadGetTrainJob); i { case 0: return &v.state case 1: @@ -14890,7 +16748,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Mounts); i { + switch v := v.(*DeleteTrainJobReq); i { case 0: return &v.state case 1: @@ -14902,7 +16760,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayloadCreateTrainJob); i { + switch v := v.(*DeleteTrainJobResp); i { case 0: return &v.state case 1: @@ -14914,7 +16772,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Nfs); i { + switch v := v.(*PayloadDeleteTrainJob); i { case 0: return &v.state case 1: @@ -14926,7 +16784,7 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TrainJobOctopus); i { + switch v := v.(*StopTrainJobReq); i { case 0: return &v.state case 1: @@ -14938,6 +16796,294 @@ func file_octopus_proto_init() { } } file_octopus_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopTrainJobResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadStopTrainJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobEventReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobEventResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadGetTrainJobEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobEvent); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobMetricReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobMetricResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadGetTrainJobMetric); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetTrainJobListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadGetTrainJobList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrainJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTrainJobReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTrainJobResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateTrainJobParam); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Envs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Parameters); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReplicaStates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Mounts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayloadCreateTrainJob); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nfs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrainJobOctopus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_octopus_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Error); i { case 0: return &v.state @@ -14956,7 +17102,7 @@ func file_octopus_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_octopus_proto_rawDesc, NumEnums: 0, - NumMessages: 168, + NumMessages: 192, NumExtensions: 0, NumServices: 1, }, diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go index 3258a58d..9de5b84d 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopus/octopus_grpc.pb.go @@ -46,6 +46,14 @@ type OctopusClient interface { DeleteDataSetVersion(ctx context.Context, in *DeleteDataSetVersionReq, opts ...grpc.CallOption) (*DeleteDataSetVersionResp, error) GetDatasetApplyList(ctx context.Context, in *GetDatasetApplyListReq, opts ...grpc.CallOption) (*GetDatasetApplyListResp, error) GetDatasetTypeList(ctx context.Context, in *GetDatasetTypeListRep, opts ...grpc.CallOption) (*GetDatasetTypeListResp, error) + // ModelDeployService + CreateModelDeploy(ctx context.Context, in *CreateModelDeployReq, opts ...grpc.CallOption) (*CreateModelDeployResp, error) + GetModelDeployList(ctx context.Context, in *GetModelDeployListReq, opts ...grpc.CallOption) (*GetModelDeployListResp, error) + GetModelDeploy(ctx context.Context, in *GetModelDeployReq, opts ...grpc.CallOption) (*GetModelDeployResp, error) + GetModelDeployEvent(ctx context.Context, in *GetModelDeployEventReq, opts ...grpc.CallOption) (*GetModelDeployEventResp, error) + StopModelDeploy(ctx context.Context, in *StopModelDeployReq, opts ...grpc.CallOption) (*StopModelDeployResp, error) + DeleteModelDeploy(ctx context.Context, in *DeleteModelDeployReq, opts ...grpc.CallOption) (*DeleteModelDeployResp, error) + InferModelDeploy(ctx context.Context, in *InferModelDeployReq, opts ...grpc.CallOption) (*InferModelDeployResp, error) // Develop GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) GetNotebook(ctx context.Context, in *GetNotebookReq, opts ...grpc.CallOption) (*GetNotebookResp, error) @@ -281,6 +289,69 @@ func (c *octopusClient) GetDatasetTypeList(ctx context.Context, in *GetDatasetTy return out, nil } +func (c *octopusClient) CreateModelDeploy(ctx context.Context, in *CreateModelDeployReq, opts ...grpc.CallOption) (*CreateModelDeployResp, error) { + out := new(CreateModelDeployResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/CreateModelDeploy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetModelDeployList(ctx context.Context, in *GetModelDeployListReq, opts ...grpc.CallOption) (*GetModelDeployListResp, error) { + out := new(GetModelDeployListResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/GetModelDeployList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetModelDeploy(ctx context.Context, in *GetModelDeployReq, opts ...grpc.CallOption) (*GetModelDeployResp, error) { + out := new(GetModelDeployResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/GetModelDeploy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) GetModelDeployEvent(ctx context.Context, in *GetModelDeployEventReq, opts ...grpc.CallOption) (*GetModelDeployEventResp, error) { + out := new(GetModelDeployEventResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/GetModelDeployEvent", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) StopModelDeploy(ctx context.Context, in *StopModelDeployReq, opts ...grpc.CallOption) (*StopModelDeployResp, error) { + out := new(StopModelDeployResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/StopModelDeploy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) DeleteModelDeploy(ctx context.Context, in *DeleteModelDeployReq, opts ...grpc.CallOption) (*DeleteModelDeployResp, error) { + out := new(DeleteModelDeployResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/DeleteModelDeploy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *octopusClient) InferModelDeploy(ctx context.Context, in *InferModelDeployReq, opts ...grpc.CallOption) (*InferModelDeployResp, error) { + out := new(InferModelDeployResp) + err := c.cc.Invoke(ctx, "/octopus.Octopus/InferModelDeploy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *octopusClient) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { out := new(GetNotebookListResp) err := c.cc.Invoke(ctx, "/octopus.Octopus/GetNotebookList", in, out, opts...) @@ -516,6 +587,14 @@ type OctopusServer interface { DeleteDataSetVersion(context.Context, *DeleteDataSetVersionReq) (*DeleteDataSetVersionResp, error) GetDatasetApplyList(context.Context, *GetDatasetApplyListReq) (*GetDatasetApplyListResp, error) GetDatasetTypeList(context.Context, *GetDatasetTypeListRep) (*GetDatasetTypeListResp, error) + // ModelDeployService + CreateModelDeploy(context.Context, *CreateModelDeployReq) (*CreateModelDeployResp, error) + GetModelDeployList(context.Context, *GetModelDeployListReq) (*GetModelDeployListResp, error) + GetModelDeploy(context.Context, *GetModelDeployReq) (*GetModelDeployResp, error) + GetModelDeployEvent(context.Context, *GetModelDeployEventReq) (*GetModelDeployEventResp, error) + StopModelDeploy(context.Context, *StopModelDeployReq) (*StopModelDeployResp, error) + DeleteModelDeploy(context.Context, *DeleteModelDeployReq) (*DeleteModelDeployResp, error) + InferModelDeploy(context.Context, *InferModelDeployReq) (*InferModelDeployResp, error) // Develop GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) GetNotebook(context.Context, *GetNotebookReq) (*GetNotebookResp, error) @@ -616,6 +695,27 @@ func (UnimplementedOctopusServer) GetDatasetApplyList(context.Context, *GetDatas func (UnimplementedOctopusServer) GetDatasetTypeList(context.Context, *GetDatasetTypeListRep) (*GetDatasetTypeListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDatasetTypeList not implemented") } +func (UnimplementedOctopusServer) CreateModelDeploy(context.Context, *CreateModelDeployReq) (*CreateModelDeployResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateModelDeploy not implemented") +} +func (UnimplementedOctopusServer) GetModelDeployList(context.Context, *GetModelDeployListReq) (*GetModelDeployListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelDeployList not implemented") +} +func (UnimplementedOctopusServer) GetModelDeploy(context.Context, *GetModelDeployReq) (*GetModelDeployResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelDeploy not implemented") +} +func (UnimplementedOctopusServer) GetModelDeployEvent(context.Context, *GetModelDeployEventReq) (*GetModelDeployEventResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetModelDeployEvent not implemented") +} +func (UnimplementedOctopusServer) StopModelDeploy(context.Context, *StopModelDeployReq) (*StopModelDeployResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method StopModelDeploy not implemented") +} +func (UnimplementedOctopusServer) DeleteModelDeploy(context.Context, *DeleteModelDeployReq) (*DeleteModelDeployResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteModelDeploy not implemented") +} +func (UnimplementedOctopusServer) InferModelDeploy(context.Context, *InferModelDeployReq) (*InferModelDeployResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method InferModelDeploy not implemented") +} func (UnimplementedOctopusServer) GetNotebookList(context.Context, *GetNotebookListReq) (*GetNotebookListResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNotebookList not implemented") } @@ -1094,6 +1194,132 @@ func _Octopus_GetDatasetTypeList_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _Octopus_CreateModelDeploy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateModelDeployReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).CreateModelDeploy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/CreateModelDeploy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).CreateModelDeploy(ctx, req.(*CreateModelDeployReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetModelDeployList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelDeployListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetModelDeployList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/GetModelDeployList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetModelDeployList(ctx, req.(*GetModelDeployListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetModelDeploy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelDeployReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetModelDeploy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/GetModelDeploy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetModelDeploy(ctx, req.(*GetModelDeployReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_GetModelDeployEvent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetModelDeployEventReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).GetModelDeployEvent(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/GetModelDeployEvent", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).GetModelDeployEvent(ctx, req.(*GetModelDeployEventReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_StopModelDeploy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopModelDeployReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).StopModelDeploy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/StopModelDeploy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).StopModelDeploy(ctx, req.(*StopModelDeployReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_DeleteModelDeploy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteModelDeployReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).DeleteModelDeploy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/DeleteModelDeploy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).DeleteModelDeploy(ctx, req.(*DeleteModelDeployReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Octopus_InferModelDeploy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InferModelDeployReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OctopusServer).InferModelDeploy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/octopus.Octopus/InferModelDeploy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OctopusServer).InferModelDeploy(ctx, req.(*InferModelDeployReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Octopus_GetNotebookList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetNotebookListReq) if err := dec(in); err != nil { @@ -1603,6 +1829,34 @@ var Octopus_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetDatasetTypeList", Handler: _Octopus_GetDatasetTypeList_Handler, }, + { + MethodName: "CreateModelDeploy", + Handler: _Octopus_CreateModelDeploy_Handler, + }, + { + MethodName: "GetModelDeployList", + Handler: _Octopus_GetModelDeployList_Handler, + }, + { + MethodName: "GetModelDeploy", + Handler: _Octopus_GetModelDeploy_Handler, + }, + { + MethodName: "GetModelDeployEvent", + Handler: _Octopus_GetModelDeployEvent_Handler, + }, + { + MethodName: "StopModelDeploy", + Handler: _Octopus_StopModelDeploy_Handler, + }, + { + MethodName: "DeleteModelDeploy", + Handler: _Octopus_DeleteModelDeploy_Handler, + }, + { + MethodName: "InferModelDeploy", + Handler: _Octopus_InferModelDeploy_Handler, + }, { MethodName: "GetNotebookList", Handler: _Octopus_GetNotebookList_Handler, diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go index b7ae7d8f..47557996 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/octopusclient/octopus.go @@ -27,6 +27,9 @@ type ( CreateImage = octopus.CreateImage CreateImageReq = octopus.CreateImageReq CreateImageResp = octopus.CreateImageResp + CreateModelDeployParam = octopus.CreateModelDeployParam + CreateModelDeployReq = octopus.CreateModelDeployReq + CreateModelDeployResp = octopus.CreateModelDeployResp CreateMyAlgorithm = octopus.CreateMyAlgorithm CreateMyAlgorithmReq = octopus.CreateMyAlgorithmReq CreateMyAlgorithmResp = octopus.CreateMyAlgorithmResp @@ -44,6 +47,8 @@ type ( DeleteDataSetVersionResp = octopus.DeleteDataSetVersionResp DeleteImageReq = octopus.DeleteImageReq DeleteImageResp = octopus.DeleteImageResp + DeleteModelDeployReq = octopus.DeleteModelDeployReq + DeleteModelDeployResp = octopus.DeleteModelDeployResp DeleteModelVersionReq = octopus.DeleteModelVersionReq DeleteModelVersionResp = octopus.DeleteModelVersionResp DeleteMyAlgorithmReq = octopus.DeleteMyAlgorithmReq @@ -54,6 +59,8 @@ type ( DeleteNotebookResp = octopus.DeleteNotebookResp DeleteTrainJobReq = octopus.DeleteTrainJobReq DeleteTrainJobResp = octopus.DeleteTrainJobResp + DepEvent = octopus.DepEvent + DepInfo = octopus.DepInfo DownloadAlgorithmReq = octopus.DownloadAlgorithmReq DownloadAlgorithmResp = octopus.DownloadAlgorithmResp DownloadModelVersionReq = octopus.DownloadModelVersionReq @@ -74,6 +81,12 @@ type ( GetDatasetTypeListResp = octopus.GetDatasetTypeListResp GetDatasetVersionListReq = octopus.GetDatasetVersionListReq GetDatasetVersionListResp = octopus.GetDatasetVersionListResp + GetModelDeployEventReq = octopus.GetModelDeployEventReq + GetModelDeployEventResp = octopus.GetModelDeployEventResp + GetModelDeployListReq = octopus.GetModelDeployListReq + GetModelDeployListResp = octopus.GetModelDeployListResp + GetModelDeployReq = octopus.GetModelDeployReq + GetModelDeployResp = octopus.GetModelDeployResp GetModelVersionListReq = octopus.GetModelVersionListReq GetModelVersionListResp = octopus.GetModelVersionListResp GetMyAlgorithmListReq = octopus.GetMyAlgorithmListReq @@ -100,6 +113,8 @@ type ( Headers = octopus.Headers Image = octopus.Image Images = octopus.Images + InferModelDeployReq = octopus.InferModelDeployReq + InferModelDeployResp = octopus.InferModelDeployResp JobEvent = octopus.JobEvent Lables = octopus.Lables Model = octopus.Model @@ -113,12 +128,14 @@ type ( PayloadCreateDataSet = octopus.PayloadCreateDataSet PayloadCreateDataSetVersion = octopus.PayloadCreateDataSetVersion PayloadCreateImage = octopus.PayloadCreateImage + PayloadCreateModelDeploy = octopus.PayloadCreateModelDeploy PayloadCreateMyAlgorithm = octopus.PayloadCreateMyAlgorithm PayloadCreateNotebook = octopus.PayloadCreateNotebook PayloadCreateTrainJob = octopus.PayloadCreateTrainJob PayloadDeleteDataSet = octopus.PayloadDeleteDataSet PayloadDeleteDataSetVersion = octopus.PayloadDeleteDataSetVersion PayloadDeleteImage = octopus.PayloadDeleteImage + PayloadDeleteModelDeploy = octopus.PayloadDeleteModelDeploy PayloadDeleteModelVersion = octopus.PayloadDeleteModelVersion PayloadDeleteMyAlgorithm = octopus.PayloadDeleteMyAlgorithm PayloadDeleteMyModel = octopus.PayloadDeleteMyModel @@ -131,6 +148,9 @@ type ( PayloadGetDatasetApplyList = octopus.PayloadGetDatasetApplyList PayloadGetDatasetTypeList = octopus.PayloadGetDatasetTypeList PayloadGetDatasetVersion = octopus.PayloadGetDatasetVersion + PayloadGetModelDeploy = octopus.PayloadGetModelDeploy + PayloadGetModelDeployEvent = octopus.PayloadGetModelDeployEvent + PayloadGetModelDeployList = octopus.PayloadGetModelDeployList PayloadGetModelVersionList = octopus.PayloadGetModelVersionList PayloadGetMyModelList = octopus.PayloadGetMyModelList PayloadGetNotebook = octopus.PayloadGetNotebook @@ -138,10 +158,12 @@ type ( PayloadGetTrainJobEvent = octopus.PayloadGetTrainJobEvent PayloadGetTrainJobList = octopus.PayloadGetTrainJobList PayloadGetTrainJobMetric = octopus.PayloadGetTrainJobMetric + PayloadInferModelDeploy = octopus.PayloadInferModelDeploy PayloadMyAlgorithmList = octopus.PayloadMyAlgorithmList PayloadMyDatasetList = octopus.PayloadMyDatasetList PayloadNotebookList = octopus.PayloadNotebookList PayloadStartNotebook = octopus.PayloadStartNotebook + PayloadStopModelDeploy = octopus.PayloadStopModelDeploy PayloadStopNotebook = octopus.PayloadStopNotebook PayloadStopTrainJob = octopus.PayloadStopTrainJob PayloadUploadAlgorithm = octopus.PayloadUploadAlgorithm @@ -155,6 +177,8 @@ type ( ResourceReq = octopus.ResourceReq StartNotebookReq = octopus.StartNotebookReq StartNotebookResp = octopus.StartNotebookResp + StopModelDeployReq = octopus.StopModelDeployReq + StopModelDeployResp = octopus.StopModelDeployResp StopNotebookReq = octopus.StopNotebookReq StopNotebookResp = octopus.StopNotebookResp StopTrainJobReq = octopus.StopTrainJobReq @@ -207,6 +231,14 @@ type ( DeleteDataSetVersion(ctx context.Context, in *DeleteDataSetVersionReq, opts ...grpc.CallOption) (*DeleteDataSetVersionResp, error) GetDatasetApplyList(ctx context.Context, in *GetDatasetApplyListReq, opts ...grpc.CallOption) (*GetDatasetApplyListResp, error) GetDatasetTypeList(ctx context.Context, in *GetDatasetTypeListRep, opts ...grpc.CallOption) (*GetDatasetTypeListResp, error) + // ModelDeployService + CreateModelDeploy(ctx context.Context, in *CreateModelDeployReq, opts ...grpc.CallOption) (*CreateModelDeployResp, error) + GetModelDeployList(ctx context.Context, in *GetModelDeployListReq, opts ...grpc.CallOption) (*GetModelDeployListResp, error) + GetModelDeploy(ctx context.Context, in *GetModelDeployReq, opts ...grpc.CallOption) (*GetModelDeployResp, error) + GetModelDeployEvent(ctx context.Context, in *GetModelDeployEventReq, opts ...grpc.CallOption) (*GetModelDeployEventResp, error) + StopModelDeploy(ctx context.Context, in *StopModelDeployReq, opts ...grpc.CallOption) (*StopModelDeployResp, error) + DeleteModelDeploy(ctx context.Context, in *DeleteModelDeployReq, opts ...grpc.CallOption) (*DeleteModelDeployResp, error) + InferModelDeploy(ctx context.Context, in *InferModelDeployReq, opts ...grpc.CallOption) (*InferModelDeployResp, error) // Develop GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) GetNotebook(ctx context.Context, in *GetNotebookReq, opts ...grpc.CallOption) (*GetNotebookResp, error) @@ -359,6 +391,42 @@ func (m *defaultOctopus) GetDatasetTypeList(ctx context.Context, in *GetDatasetT return client.GetDatasetTypeList(ctx, in, opts...) } +// ModelDeployService +func (m *defaultOctopus) CreateModelDeploy(ctx context.Context, in *CreateModelDeployReq, opts ...grpc.CallOption) (*CreateModelDeployResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.CreateModelDeploy(ctx, in, opts...) +} + +func (m *defaultOctopus) GetModelDeployList(ctx context.Context, in *GetModelDeployListReq, opts ...grpc.CallOption) (*GetModelDeployListResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetModelDeployList(ctx, in, opts...) +} + +func (m *defaultOctopus) GetModelDeploy(ctx context.Context, in *GetModelDeployReq, opts ...grpc.CallOption) (*GetModelDeployResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetModelDeploy(ctx, in, opts...) +} + +func (m *defaultOctopus) GetModelDeployEvent(ctx context.Context, in *GetModelDeployEventReq, opts ...grpc.CallOption) (*GetModelDeployEventResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.GetModelDeployEvent(ctx, in, opts...) +} + +func (m *defaultOctopus) StopModelDeploy(ctx context.Context, in *StopModelDeployReq, opts ...grpc.CallOption) (*StopModelDeployResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.StopModelDeploy(ctx, in, opts...) +} + +func (m *defaultOctopus) DeleteModelDeploy(ctx context.Context, in *DeleteModelDeployReq, opts ...grpc.CallOption) (*DeleteModelDeployResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.DeleteModelDeploy(ctx, in, opts...) +} + +func (m *defaultOctopus) InferModelDeploy(ctx context.Context, in *InferModelDeployReq, opts ...grpc.CallOption) (*InferModelDeployResp, error) { + client := octopus.NewOctopusClient(m.cli.Conn()) + return client.InferModelDeploy(ctx, in, opts...) +} + // Develop func (m *defaultOctopus) GetNotebookList(ctx context.Context, in *GetNotebookListReq, opts ...grpc.CallOption) (*GetNotebookListResp, error) { client := octopus.NewOctopusClient(m.cli.Conn()) diff --git a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto index c567189e..63e37067 100644 --- a/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto +++ b/adaptor/PCM-AI/PCM-OCTOPUS/rpc/pb/octopus.proto @@ -464,6 +464,156 @@ message PayloadGetDatasetTypeList{ /******************DatasetService End*************************/ /******************ModelDeployService Start*************************/ +message CreateModelDeployReq{ + string platform =1; + CreateModelDeployParam params = 2; +} + +message CreateModelDeployParam{ + string desc = 1; + string domain = 2; + string modelFrame = 3; + string modelId = 4; + string modelVersion = 5; + string name = 6; + string resourcePool = 7; + string resourceSpecId = 8; + string resourceType = 9; + string serviceType = 10; +} + +message CreateModelDeployResp{ + bool success =1; + PayloadCreateModelDeploy payload =2; + Error error = 3; +} + +message PayloadCreateModelDeploy{ + string message = 1; + string serviceId = 2; + string serviceUrl = 3; +} + +message GetModelDeployListReq{ + string platform =1; + int32 pageIndex =2; + int32 pageSize =3; +} + +message GetModelDeployListResp{ + bool success =1; + PayloadGetModelDeployList payload =2; + Error error = 3; +} + +message PayloadGetModelDeployList{ + int32 totalSize = 1; + repeated DepInfo depInfos = 2; +} + +message DepInfo{ + int64 completedAt = 1; + int64 createdAt = 2; + string desc = 3; + string id = 4; + string modelFrame = 5; + string modelId = 6; + string modelName = 7; + string modelVersion = 8; + string name = 9; + int64 runSec = 10; + string serviceUrl = 11; + int64 startedAt = 12; + string status = 13; + int64 updatedAt = 14; + string userId = 15; + string workspaceId = 16; +} + +message GetModelDeployReq{ + string platform =1; + string id =2; +} + +message GetModelDeployResp{ + bool success =1; + PayloadGetModelDeploy payload =2; + Error error = 3; +} + +message PayloadGetModelDeploy{ + DepInfo depInfo = 1; +} + +message GetModelDeployEventReq{ + string platform =1; + string id = 2; + bool isMain = 3; + int32 pageIndex =4; + int32 pageSize =5; +} + +message GetModelDeployEventResp{ + bool success =1; + PayloadGetModelDeployEvent payload =2; + Error error = 3; +} + +message PayloadGetModelDeployEvent{ + int32 totalSize =1; + repeated DepEvent depEvents = 2; +} + +message DepEvent{ + string message = 1; + string name = 2; + string reason = 3; + string timestamp = 4; +} + +message StopModelDeployReq{ + string platform =1; + string id = 2; +} + +message StopModelDeployResp{ + bool success =1; + PayloadStopModelDeploy payload =2; + Error error = 3; +} + +message PayloadStopModelDeploy{ + int64 stoppedAt = 1; +} + +message DeleteModelDeployReq{ + string platform =1; + repeated string jobIds = 2; +} + +message DeleteModelDeployResp{ + bool success =1; + PayloadDeleteModelDeploy payload =2; + Error error = 3; +} + +message PayloadDeleteModelDeploy{ + int64 deletedAt = 1; +} + +message InferModelDeployReq{ + string platform =1; +} + +message InferModelDeployResp{ + bool success =1; + PayloadInferModelDeploy payload =2; + Error error = 3; +} + +message PayloadInferModelDeploy{ + int64 stoppedAt = 1; +} /******************ModelDeployService End*************************/ @@ -1091,7 +1241,6 @@ service Octopus { rpc UploadAlgorithmConfirm(UploadAlgorithmConfirmReq) returns (UploadAlgorithmConfirmResp); - //DatasetService rpc GetMyDatasetList(GetMyDatasetListReq) returns (GetMyDatasetListResp); rpc GetDatasetVersionList(GetDatasetVersionListReq) returns (GetDatasetVersionListResp); @@ -1106,6 +1255,13 @@ service Octopus { //ModelDeployService + rpc CreateModelDeploy(CreateModelDeployReq) returns (CreateModelDeployResp); + rpc GetModelDeployList(GetModelDeployListReq) returns (GetModelDeployListResp); + rpc GetModelDeploy(GetModelDeployReq) returns (GetModelDeployResp); + rpc GetModelDeployEvent(GetModelDeployEventReq) returns (GetModelDeployEventResp); + rpc StopModelDeploy(StopModelDeployReq) returns (StopModelDeployResp); + rpc DeleteModelDeploy(DeleteModelDeployReq) returns (DeleteModelDeployResp); + rpc InferModelDeploy(InferModelDeployReq) returns (InferModelDeployResp); //Develop @@ -1117,7 +1273,6 @@ service Octopus { rpc StopNotebook(StopNotebookReq) returns (StopNotebookResp); - //ImageService rpc GetUserImageList(GetUserImageListReq) returns (GetUserImageListResp); rpc CreateImage(CreateImageReq) returns (CreateImageResp); @@ -1144,7 +1299,4 @@ service Octopus { rpc GetTrainJobMetric(GetTrainJobMetricReq) returns (GetTrainJobMetricResp); - - - } \ No newline at end of file