diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go index 81353ead..b8e3e2c9 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/createnotebooklogic.go @@ -29,7 +29,7 @@ func NewCreateNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Cr func (l *CreateNotebookLogic) CreateNotebook(in *modelarts.CreateNotebookReq) (*modelarts.CreateNotebookResp, error) { var resp modelarts.CreateNotebookResp - createUrl := "https://modelarts.cn-east-3.myhuaweicloud.com/v1/{project_id}/notebooks" + createUrl := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/{project_id}/notebooks" createUrl = strings.Replace(createUrl, "{project_id}", in.ProjectId, -1) reqByte, err := json.Marshal(in.Param) if err != nil { diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/listnotebooklogic.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/listnotebooklogic.go index 934360cb..eeb11d1b 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/listnotebooklogic.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/logic/listnotebooklogic.go @@ -2,14 +2,10 @@ package logic import ( "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/common" - "PCM/common/tool" - "context" - "encoding/json" - "strings" - "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/internal/svc" "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts" - + "PCM/common/tool" + "context" "github.com/zeromicro/go-zero/core/logx" ) @@ -29,16 +25,22 @@ func NewListNotebookLogic(ctx context.Context, svcCtx *svc.ServiceContext) *List // notebook task func (l *ListNotebookLogic) ListNotebook(in *modelarts.ListNotebookReq) (*modelarts.ListNotebookResp, error) { - var resp modelarts.ListNotebookResp + resp := &modelarts.ListNotebookResp{} getUrl := "https://modelarts.cn-north-4.myhuaweicloud.com/v1/{project_id}/notebooks" - getUrl = strings.Replace(getUrl, "{project_id}", in.ProjectId, -1) token := common.GetToken() + queryMap := tool.ConvertStructToMap(in.Param) + + req := tool.GetACHttpRequest() + _, err := req. + SetHeader("x-auth-token", token). + SetPathParam("project_id", in.ProjectId). + SetQueryParams(queryMap). + SetResult(resp). + Get(getUrl) - body, err := tool.HttpClientWithQueries(tool.GET, getUrl, nil, token, *in.Param) if err != nil { return nil, err } - json.Unmarshal(body, &resp) - return &resp, nil + return resp, nil } diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go index e78e211b..9b307258 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelarts/pcm-modelarts.pb.go @@ -15703,8 +15703,8 @@ type ListNotebookReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectId string `protobuf:"bytes,1,opt,name=projectId,proto3" json:"projectId,omitempty"` // @gotags: copier:"ProjectId" - Param *ListNotebookParam `protobuf:"bytes,2,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"Param" + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" + Param *ListNotebookParam `protobuf:"bytes,2,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"Param" } func (x *ListNotebookReq) Reset() { @@ -15758,11 +15758,11 @@ type ListNotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Current int32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` // @gotags: copier:"current" - Data []*NotebookResp `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"data" - Pages int32 `protobuf:"varint,3,opt,name=pages,proto3" json:"pages,omitempty"` // @gotags: copier:"pages" - Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"size" - Total int64 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` // @gotags: copier:"total" + Current int32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` // @gotags: copier:"Current" + Data []*NotebookResp `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" + Pages int32 `protobuf:"varint,3,opt,name=pages,proto3" json:"pages,omitempty"` // @gotags: copier:"Pages" + Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"Size" + Total int64 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` // @gotags: copier:"Total" } func (x *ListNotebookResp) Reset() { @@ -15837,16 +15837,16 @@ type ListNotebookParam struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Feature string `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"feature" - Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"limit" - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - PoolId string `protobuf:"bytes,4,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` // @gotags: copier:"pool_id" - Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"offset" - Owner string `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"` // @gotags: copier:"owner" - SortDir string `protobuf:"bytes,7,opt,name=sort_dir,json=sortDir,proto3" json:"sort_dir,omitempty"` // @gotags: copier:"sort_dir" - SortKey string `protobuf:"bytes,8,opt,name=sort_key,json=sortKey,proto3" json:"sort_key,omitempty"` // @gotags: copier:"sort_key" - Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - WorkspaceId string `protobuf:"bytes,10,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"` // @gotags: copier:"workspaceId" + Feature string `protobuf:"bytes,1,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"Feature" + Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` // @gotags: copier:"Limit" + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" + PoolId string `protobuf:"bytes,4,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` // @gotags: copier:"PoolId" + Offset int32 `protobuf:"varint,5,opt,name=offset,proto3" json:"offset,omitempty"` // @gotags: copier:"Offset" + Owner string `protobuf:"bytes,6,opt,name=owner,proto3" json:"owner,omitempty"` // @gotags: copier:"Owner" + SortDir string `protobuf:"bytes,7,opt,name=sort_dir,json=sortDir,proto3" json:"sort_dir,omitempty"` // @gotags: copier:"SortDir" + SortKey string `protobuf:"bytes,8,opt,name=sort_key,json=sortKey,proto3" json:"sort_key,omitempty"` // @gotags: copier:"SortKey" + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + WorkspaceId string `protobuf:"bytes,10,opt,name=workspaceId,proto3" json:"workspaceId,omitempty"` // @gotags: copier:"WorkspaceId" } func (x *ListNotebookParam) Reset() { @@ -15956,8 +15956,8 @@ type CreateNotebookReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"project_id" - Param *CreateNotebookParam `protobuf:"bytes,2,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"param" + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" + Param *CreateNotebookParam `protobuf:"bytes,2,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"Param" } func (x *CreateNotebookReq) Reset() { @@ -16011,7 +16011,7 @@ type CreateNotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"notebookResp" + NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"NotebookResp" } func (x *CreateNotebookResp) Reset() { @@ -16058,18 +16058,18 @@ type CreateNotebookParam struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"description" - Duration int64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"duration" - Endpoints []*EndpointsReq `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"endpoints" - Feature string `protobuf:"bytes,4,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"feature" - Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"flavor" - ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` // @gotags: copier:"image_id" - Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` // @gotags: copier:"pool_id" - Volume *VolumeReq `protobuf:"bytes,9,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"volume" - WorkspaceId string `protobuf:"bytes,10,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"workspace_id" - Hooks *CustomHooks `protobuf:"bytes,11,opt,name=hooks,proto3" json:"hooks,omitempty"` // @gotags: copier:"hooks" - Lease *LeaseReq `protobuf:"bytes,12,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"lease" + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" + Duration int64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"Duration" + Endpoints []*EndpointsReq `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"Endpoints" + Feature string `protobuf:"bytes,4,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"Feature" + Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"Flavor" + ImageId string `protobuf:"bytes,6,opt,name=image_id,json=imageId,proto3" json:"image_id,omitempty"` // @gotags: copier:"ImageId" + Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" + PoolId string `protobuf:"bytes,8,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` // @gotags: copier:"PoolId" + Volume *VolumeReq `protobuf:"bytes,9,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"Volume" + WorkspaceId string `protobuf:"bytes,10,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"WorkspaceId" + Hooks *CustomHooks `protobuf:"bytes,11,opt,name=hooks,proto3" json:"hooks,omitempty"` // @gotags: copier:"Hooks" + Lease *LeaseReq `protobuf:"bytes,12,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"Lease" } func (x *CreateNotebookParam) Reset() { @@ -16193,9 +16193,9 @@ type StartNotebookReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"project_id" - Param *StartNotebookParam `protobuf:"bytes,3,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"param" + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" + Param *StartNotebookParam `protobuf:"bytes,3,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"Param" } func (x *StartNotebookReq) Reset() { @@ -16256,7 +16256,7 @@ type StartNotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"notebookResp" + NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"NotebookResp" } func (x *StartNotebookResp) Reset() { @@ -16303,8 +16303,8 @@ type StartNotebookParam struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Duration int64 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"duration" - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"type_start_notebook" + Duration int64 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"Duration" + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"TypeStartNotebook" } func (x *StartNotebookParam) Reset() { @@ -16358,8 +16358,8 @@ type StopNotebookReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"project_id" + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" } func (x *StopNotebookReq) Reset() { @@ -16413,7 +16413,7 @@ type StopNotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"notebookResp" + NotebookResp *NotebookResp `protobuf:"bytes,1,opt,name=notebookResp,proto3" json:"notebookResp,omitempty"` // @gotags: copier:"NotebookResp" } func (x *StopNotebookResp) Reset() { @@ -16460,8 +16460,8 @@ type GetNotebookStorageReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // @gotags: copier:"instance_id" - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"project_id" + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // @gotags: copier:"InstanceId" + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" } func (x *GetNotebookStorageReq) Reset() { @@ -16515,11 +16515,11 @@ type GetNotebookStorageResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Current int32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` // @gotags: copier:"current" - Data []*DataVolumesRes `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"data" - Pages int32 `protobuf:"varint,3,opt,name=pages,proto3" json:"pages,omitempty"` // @gotags: copier:"pages" - Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"size" - Total int64 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` // @gotags: copier:"total" + Current int32 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` // @gotags: copier:"Current" + Data []*DataVolumesRes `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // @gotags: copier:"Data" + Pages int32 `protobuf:"varint,3,opt,name=pages,proto3" json:"pages,omitempty"` // @gotags: copier:"Pages" + Size int32 `protobuf:"varint,4,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"Size" + Total int64 `protobuf:"varint,5,opt,name=total,proto3" json:"total,omitempty"` // @gotags: copier:"Total" } func (x *GetNotebookStorageResp) Reset() { @@ -16594,9 +16594,9 @@ type MountNotebookStorageReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // @gotags: copier:"instance_id" - ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"project_id" - Param *MountNotebookStorageParam `protobuf:"bytes,3,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"param" + InstanceId string `protobuf:"bytes,1,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"` // @gotags: copier:"InstanceId" + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` // @gotags: copier:"ProjectId" + Param *MountNotebookStorageParam `protobuf:"bytes,3,opt,name=param,proto3" json:"param,omitempty"` // @gotags: copier:"Param" } func (x *MountNotebookStorageReq) Reset() { @@ -16657,11 +16657,11 @@ type MountNotebookStorageResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"category" - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"mount_path" - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - Uri string `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"uri" + Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"Category" + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"MountPath" + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + Uri string `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"Uri" } func (x *MountNotebookStorageResp) Reset() { @@ -16736,9 +16736,9 @@ type MountNotebookStorageParam struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"category" - MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"mount_path" - Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"uri" + Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"Category" + MountPath string `protobuf:"bytes,2,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"MountPath" + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"Uri" } func (x *MountNotebookStorageParam) Reset() { @@ -16799,11 +16799,11 @@ type DataVolumesRes struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"category" - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"mount_path" - Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - Uri string `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"uri" + Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"Category" + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"MountPath" + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + Uri string `protobuf:"bytes,5,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"Uri" } func (x *DataVolumesRes) Reset() { @@ -16878,22 +16878,22 @@ type NotebookResp struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ActionProgress []*JobProgress `protobuf:"bytes,1,rep,name=action_progress,json=actionProgress,proto3" json:"action_progress,omitempty"` // @gotags: copier:"action_progress" - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"description" - Endpoints []*EndpointsRes `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"endpoints" - FailReason string `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` // @gotags: copier:"fail_reason" - Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"flavor" - Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - Image *Image `protobuf:"bytes,7,opt,name=image,proto3" json:"image,omitempty"` // @gotags: copier:"image" - Lease *Lease `protobuf:"bytes,8,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"lease" - Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - Pool *Pool `protobuf:"bytes,10,opt,name=pool,proto3" json:"pool,omitempty"` // @gotags: copier:"pool" - Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - Token string `protobuf:"bytes,12,opt,name=token,proto3" json:"token,omitempty"` // @gotags: copier:"token" - Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"` // @gotags: copier:"url" - Volume *VolumeRes `protobuf:"bytes,14,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"volume" - WorkspaceId string `protobuf:"bytes,15,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"workspace_id" - Feature string `protobuf:"bytes,16,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"feature" + ActionProgress []*JobProgress `protobuf:"bytes,1,rep,name=action_progress,json=actionProgress,proto3" json:"action_progress,omitempty"` // @gotags: copier:"ActionProgress" + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" + Endpoints []*EndpointsRes `protobuf:"bytes,3,rep,name=endpoints,proto3" json:"endpoints,omitempty"` // @gotags: copier:"Endpoints" + FailReason string `protobuf:"bytes,4,opt,name=fail_reason,json=failReason,proto3" json:"fail_reason,omitempty"` // @gotags: copier:"FailReason" + Flavor string `protobuf:"bytes,5,opt,name=flavor,proto3" json:"flavor,omitempty"` // @gotags: copier:"Flavor" + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + Image *Image `protobuf:"bytes,7,opt,name=image,proto3" json:"image,omitempty"` // @gotags: copier:"Image" + Lease *Lease `protobuf:"bytes,8,opt,name=lease,proto3" json:"lease,omitempty"` // @gotags: copier:"Lease" + Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" + Pool *Pool `protobuf:"bytes,10,opt,name=pool,proto3" json:"pool,omitempty"` // @gotags: copier:"Pool" + Status string `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + Token string `protobuf:"bytes,12,opt,name=token,proto3" json:"token,omitempty"` // @gotags: copier:"Token" + Url string `protobuf:"bytes,13,opt,name=url,proto3" json:"url,omitempty"` // @gotags: copier:"Url" + Volume *VolumeRes `protobuf:"bytes,14,opt,name=volume,proto3" json:"volume,omitempty"` // @gotags: copier:"Volume" + WorkspaceId string `protobuf:"bytes,15,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"WorkspaceId" + Feature string `protobuf:"bytes,16,opt,name=feature,proto3" json:"feature,omitempty"` // @gotags: copier:"Feature" } func (x *NotebookResp) Reset() { @@ -17045,10 +17045,10 @@ type JobProgress struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NotebookId string `protobuf:"bytes,1,opt,name=notebook_id,json=notebookId,proto3" json:"notebook_id,omitempty"` // @gotags: copier:"notebook_id" - Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - Step int32 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` // @gotags: copier:"step" - StepDescription string `protobuf:"bytes,4,opt,name=step_description,json=stepDescription,proto3" json:"step_description,omitempty"` // @gotags: copier:"step_description" + NotebookId string `protobuf:"bytes,1,opt,name=notebook_id,json=notebookId,proto3" json:"notebook_id,omitempty"` // @gotags: copier:"NotebookId" + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + Step int32 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` // @gotags: copier:"Step" + StepDescription string `protobuf:"bytes,4,opt,name=step_description,json=stepDescription,proto3" json:"step_description,omitempty"` // @gotags: copier:"StepDescription" } func (x *JobProgress) Reset() { @@ -17116,9 +17116,9 @@ type EndpointsRes struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AllowedAccessIps []string `protobuf:"bytes,1,rep,name=allowed_access_ips,json=allowedAccessIps,proto3" json:"allowed_access_ips,omitempty"` // @gotags: copier:"allowed_access_ips" - DevService string `protobuf:"bytes,2,opt,name=dev_service,json=devService,proto3" json:"dev_service,omitempty"` // @gotags: copier:"dev_service" - SshKeys []string `protobuf:"bytes,3,rep,name=ssh_keys,json=sshKeys,proto3" json:"ssh_keys,omitempty"` // @gotags: copier:"ssh_keys" + AllowedAccessIps []string `protobuf:"bytes,1,rep,name=allowed_access_ips,json=allowedAccessIps,proto3" json:"allowed_access_ips,omitempty"` // @gotags: copier:"AllowedAccessIps" + DevService string `protobuf:"bytes,2,opt,name=dev_service,json=devService,proto3" json:"dev_service,omitempty"` // @gotags: copier:"DevService" + SshKeys []string `protobuf:"bytes,3,rep,name=ssh_keys,json=sshKeys,proto3" json:"ssh_keys,omitempty"` // @gotags: copier:"SshKeys" } func (x *EndpointsRes) Reset() { @@ -17179,26 +17179,26 @@ type Image struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Arch string `protobuf:"bytes,1,opt,name=arch,proto3" json:"arch,omitempty"` // @gotags: copier:"arch" - CreateAt int64 `protobuf:"varint,2,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // @gotags: copier:"create_at" - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"description" - DevServices []string `protobuf:"bytes,4,rep,name=dev_services,json=devServices,proto3" json:"dev_services,omitempty"` // @gotags: copier:"dev_services" - Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" - Namespace string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"` // @gotags: copier:"namespace" - Origin string `protobuf:"bytes,8,opt,name=origin,proto3" json:"origin,omitempty"` // @gotags: copier:"origin" - ResourceCategories []string `protobuf:"bytes,9,rep,name=resource_categories,json=resourceCategories,proto3" json:"resource_categories,omitempty"` // @gotags: copier:"resource_categories" - ServiceType string `protobuf:"bytes,10,opt,name=service_type,json=serviceType,proto3" json:"service_type,omitempty"` // @gotags: copier:"service_type" - Size int64 `protobuf:"varint,11,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"size" - Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" - StatusMessage string `protobuf:"bytes,13,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // @gotags: copier:"status_message" - SupportResCategories []string `protobuf:"bytes,14,rep,name=support_res_categories,json=supportResCategories,proto3" json:"support_res_categories,omitempty"` // @gotags: copier:"support_res_categories" - SwrPath string `protobuf:"bytes,15,opt,name=swr_path,json=swrPath,proto3" json:"swr_path,omitempty"` // @gotags: copier:"swr_path" - Tag string `protobuf:"bytes,16,opt,name=tag,proto3" json:"tag,omitempty"` // @gotags: copier:"tag" - Type string `protobuf:"bytes,17,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"type_image" - UpdateAt int64 `protobuf:"varint,18,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // @gotags: copier:"update_at" - Visibility string `protobuf:"bytes,19,opt,name=visibility,proto3" json:"visibility,omitempty"` // @gotags: copier:"visibility" - WorkspaceId string `protobuf:"bytes,20,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"workspace_id" + Arch string `protobuf:"bytes,1,opt,name=arch,proto3" json:"arch,omitempty"` // @gotags: copier:"Arch" + CreateAt int64 `protobuf:"varint,2,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // @gotags: copier:"CreateAt" + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` // @gotags: copier:"Description" + DevServices []string `protobuf:"bytes,4,rep,name=dev_services,json=devServices,proto3" json:"dev_services,omitempty"` // @gotags: copier:"DevServices" + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" + Namespace string `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"` // @gotags: copier:"Namespace" + Origin string `protobuf:"bytes,8,opt,name=origin,proto3" json:"origin,omitempty"` // @gotags: copier:"Origin" + ResourceCategories []string `protobuf:"bytes,9,rep,name=resource_categories,json=resourceCategories,proto3" json:"resource_categories,omitempty"` // @gotags: copier:"ResourceCategories" + ServiceType string `protobuf:"bytes,10,opt,name=service_type,json=serviceType,proto3" json:"service_type,omitempty"` // @gotags: copier:"ServiceType" + Size int64 `protobuf:"varint,11,opt,name=size,proto3" json:"size,omitempty"` // @gotags: copier:"Size" + Status string `protobuf:"bytes,12,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" + StatusMessage string `protobuf:"bytes,13,opt,name=status_message,json=statusMessage,proto3" json:"status_message,omitempty"` // @gotags: copier:"StatusMessage" + SupportResCategories []string `protobuf:"bytes,14,rep,name=support_res_categories,json=supportResCategories,proto3" json:"support_res_categories,omitempty"` // @gotags: copier:"SupportResCategories" + SwrPath string `protobuf:"bytes,15,opt,name=swr_path,json=swrPath,proto3" json:"swr_path,omitempty"` // @gotags: copier:"SwrPath" + Tag string `protobuf:"bytes,16,opt,name=tag,proto3" json:"tag,omitempty"` // @gotags: copier:"Tag" + Type string `protobuf:"bytes,17,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"TypeImage" + UpdateAt int64 `protobuf:"varint,18,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // @gotags: copier:"UpdateAt" + Visibility string `protobuf:"bytes,19,opt,name=visibility,proto3" json:"visibility,omitempty"` // @gotags: copier:"Visibility" + WorkspaceId string `protobuf:"bytes,20,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // @gotags: copier:"WorkspaceId" } func (x *Image) Reset() { @@ -17378,11 +17378,11 @@ type Lease struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreateAt int64 `protobuf:"varint,1,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // @gotags: copier:"create_at" - Duration int64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"duration" - Enable bool `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"` // @gotags: copier:"enable" - Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"type_lease" - UpdateAt int64 `protobuf:"varint,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // @gotags: copier:"update_at" + CreateAt int64 `protobuf:"varint,1,opt,name=create_at,json=createAt,proto3" json:"create_at,omitempty"` // @gotags: copier:"CreateAt" + Duration int64 `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"Duration" + Enable bool `protobuf:"varint,3,opt,name=enable,proto3" json:"enable,omitempty"` // @gotags: copier:"Enable" + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"TypeLease" + UpdateAt int64 `protobuf:"varint,5,opt,name=update_at,json=updateAt,proto3" json:"update_at,omitempty"` // @gotags: copier:"UpdateAt" } func (x *Lease) Reset() { @@ -17457,8 +17457,8 @@ type Pool struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"id" - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"name" + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // @gotags: copier:"Id" + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // @gotags: copier:"Name" } func (x *Pool) Reset() { @@ -17512,11 +17512,11 @@ type VolumeRes struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Capacity int64 `protobuf:"varint,1,opt,name=capacity,proto3" json:"capacity,omitempty"` // @gotags: copier:"capacity" - Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"category" - MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"mount_path" - Ownership string `protobuf:"bytes,4,opt,name=ownership,proto3" json:"ownership,omitempty"` // @gotags: copier:"ownership" - Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"status" + Capacity int64 `protobuf:"varint,1,opt,name=capacity,proto3" json:"capacity,omitempty"` // @gotags: copier:"Capacity" + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"Category" + MountPath string `protobuf:"bytes,3,opt,name=mount_path,json=mountPath,proto3" json:"mount_path,omitempty"` // @gotags: copier:"MountPath" + Ownership string `protobuf:"bytes,4,opt,name=ownership,proto3" json:"ownership,omitempty"` // @gotags: copier:"Ownership" + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // @gotags: copier:"Status" } func (x *VolumeRes) Reset() { @@ -17591,9 +17591,9 @@ type EndpointsReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AllowedAccessIps []string `protobuf:"bytes,1,rep,name=allowed_access_ips,json=allowedAccessIps,proto3" json:"allowed_access_ips,omitempty"` // @gotags: copier:"allowed_access_ips" - DevService string `protobuf:"bytes,2,opt,name=dev_service,json=devService,proto3" json:"dev_service,omitempty"` // @gotags: copier:"dev_service" - SshKeys []string `protobuf:"bytes,3,rep,name=ssh_keys,json=sshKeys,proto3" json:"ssh_keys,omitempty"` // @gotags: copier:"ssh_keys" + AllowedAccessIps []string `protobuf:"bytes,1,rep,name=allowed_access_ips,json=allowedAccessIps,proto3" json:"allowed_access_ips,omitempty"` // @gotags: copier:"AllowedAccessIps" + DevService string `protobuf:"bytes,2,opt,name=dev_service,json=devService,proto3" json:"dev_service,omitempty"` // @gotags: copier:"DevService" + SshKeys []string `protobuf:"bytes,3,rep,name=ssh_keys,json=sshKeys,proto3" json:"ssh_keys,omitempty"` // @gotags: copier:"SshKeys" } func (x *EndpointsReq) Reset() { @@ -17654,10 +17654,10 @@ type VolumeReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Capacity int64 `protobuf:"varint,1,opt,name=capacity,proto3" json:"capacity,omitempty"` // @gotags: copier:"capacity" - Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"category" - Ownership string `protobuf:"bytes,3,opt,name=ownership,proto3" json:"ownership,omitempty"` // @gotags: copier:"ownership" - Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"uri" + Capacity int64 `protobuf:"varint,1,opt,name=capacity,proto3" json:"capacity,omitempty"` // @gotags: copier:"Capacity" + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // @gotags: copier:"Category" + Ownership string `protobuf:"bytes,3,opt,name=ownership,proto3" json:"ownership,omitempty"` // @gotags: copier:"Ownership" + Uri string `protobuf:"bytes,4,opt,name=uri,proto3" json:"uri,omitempty"` // @gotags: copier:"Uri" } func (x *VolumeReq) Reset() { @@ -17725,7 +17725,7 @@ type CustomHooks struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ContainerHooks *ContainerHooks `protobuf:"bytes,1,opt,name=container_hooks,json=containerHooks,proto3" json:"container_hooks,omitempty"` // @gotags: copier:"container_hooks" + ContainerHooks *ContainerHooks `protobuf:"bytes,1,opt,name=container_hooks,json=containerHooks,proto3" json:"container_hooks,omitempty"` // @gotags: copier:"ContainerHooks" } func (x *CustomHooks) Reset() { @@ -17772,8 +17772,8 @@ type ContainerHooks struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PostStart *Config `protobuf:"bytes,1,opt,name=post_start,json=postStart,proto3" json:"post_start,omitempty"` // @gotags: copier:"post_start" - PreStart *Config `protobuf:"bytes,2,opt,name=pre_start,json=preStart,proto3" json:"pre_start,omitempty"` // @gotags: copier:"pre_start" + PostStart *Config `protobuf:"bytes,1,opt,name=post_start,json=postStart,proto3" json:"post_start,omitempty"` // @gotags: copier:"PostStart" + PreStart *Config `protobuf:"bytes,2,opt,name=pre_start,json=preStart,proto3" json:"pre_start,omitempty"` // @gotags: copier:"PreStart" } func (x *ContainerHooks) Reset() { @@ -17827,8 +17827,8 @@ type Config struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` // @gotags: copier:"script" - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"type_config" + Script string `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` // @gotags: copier:"Script" + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"TypeConfig" } func (x *Config) Reset() { @@ -17882,8 +17882,8 @@ type LeaseReq struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Duration int64 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"duration" - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"type_lease_req" + Duration int64 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` // @gotags: copier:"Duration" + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // @gotags: copier:"TypeLeaseReq" } func (x *LeaseReq) Reset() { @@ -21151,598 +21151,598 @@ var file_pcm_modelarts_proto_rawDesc = []byte{ 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x22, 0x63, 0x0a, 0x0f, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x99, - 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, 0x22, 0x64, 0x0a, 0x0f, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x05, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, + 0x99, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2b, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x70, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x8e, 0x02, 0x0a, 0x11, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x11, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x34, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, + 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x51, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x0c, + 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0c, 0x6e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0xae, 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, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x35, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x52, 0x09, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, + 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, + 0x64, 0x12, 0x2c, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, + 0x29, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x10, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, + 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x22, 0x50, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x0f, 0x53, 0x74, + 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x10, + 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x3b, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, + 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x57, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x8e, 0x02, 0x0a, 0x11, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6f, - 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x11, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, - 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, - 0x34, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x51, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x0c, 0x6e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0xae, 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, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, - 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x56, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, - 0x12, 0x2c, 0x0a, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x05, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x29, - 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x10, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x05, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x22, 0x50, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x44, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x0f, 0x53, 0x74, 0x6f, - 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x10, 0x53, - 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x3b, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0c, - 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x22, 0x57, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x67, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x61, 0x67, 0x65, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x4d, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, - 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x69, 0x22, 0x68, 0x0a, 0x19, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, - 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x85, 0x01, - 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xa5, 0x04, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4a, 0x6f, 0x62, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x65, 0x61, - 0x73, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, - 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, 0x6f, - 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, 0x01, - 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x74, - 0x65, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x73, 0x22, - 0xd5, 0x04, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x63, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x5f, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x72, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x95, 0x01, 0x0a, 0x17, 0x4d, + 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x69, 0x22, 0x68, 0x0a, 0x19, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x85, + 0x01, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xa5, 0x04, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4a, 0x6f, 0x62, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0e, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x09, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x26, 0x0a, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x65, + 0x61, 0x73, 0x65, 0x52, 0x05, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, + 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x04, 0x70, + 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x85, + 0x01, 0x0a, 0x0b, 0x4a, 0x6f, 0x62, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x73, + 0x74, 0x65, 0x70, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74, 0x65, 0x70, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, 0x68, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x73, + 0x22, 0xd5, 0x04, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x63, 0x68, 0x12, 0x1b, + 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, + 0x0c, 0x64, 0x65, 0x76, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x43, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x72, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x72, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x05, 0x4c, 0x65, 0x61, + 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x89, 0x01, 0x0a, 0x05, 0x4c, 0x65, 0x61, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x98, 0x01, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, - 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x78, 0x0a, 0x0c, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, - 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, 0x68, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, 0x68, - 0x4b, 0x65, 0x79, 0x73, 0x22, 0x73, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, - 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x51, 0x0a, 0x0b, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x0e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x72, 0x0a, 0x0e, - 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x30, - 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, + 0x65, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x98, 0x01, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, + 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, + 0x68, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x78, 0x0a, 0x0c, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x12, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x70, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x73, + 0x68, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x73, + 0x68, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x73, 0x0a, 0x09, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x77, + 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0x51, 0x0a, 0x0b, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x0e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x72, 0x0a, + 0x0e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, + 0x30, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x22, 0x34, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x08, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, - 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x69, - 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x6a, 0x6f, 0x62, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, - 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x75, - 0x6f, 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, - 0x61, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x04, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6a, - 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, - 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6a, - 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, - 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd9, 0x01, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x25, - 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x70, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x70, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x22, 0x34, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x0a, 0x08, 0x4c, 0x65, 0x61, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x05, + 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x52, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, + 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x6a, 0x6f, 0x62, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0f, 0x6a, 0x6f, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6a, 0x6f, 0x62, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x71, + 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x71, 0x75, 0x6f, + 0x74, 0x61, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x04, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, - 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x29, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x61, 0x76, - 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x1c, 0x0a, 0x06, 0x46, - 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x57, 0x0a, 0x08, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, - 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x32, 0xe6, 0x18, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x74, 0x73, - 0x12, 0x35, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x13, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x71, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x71, - 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1c, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x73, 0x72, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x73, 0x72, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x68, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, - 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x50, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, - 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x73, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, - 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, 0x67, - 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, - 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, - 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x77, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, - 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, - 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, - 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, - 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, - 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0a, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0a, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, 0x64, - 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, - 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, - 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, - 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, - 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, - 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, - 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, - 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, - 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, - 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, - 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, - 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x22, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, - 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, 0x6f, - 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x21, 0x2e, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, - 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, - 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, - 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x24, - 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, - 0x62, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0xd9, 0x01, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, + 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x19, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, 0x2f, - 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x52, 0x05, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, + 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x19, 0x0a, + 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, + 0x72, 0x6c, 0x22, 0xe7, 0x01, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, + 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6a, 0x6f, 0x62, 0x44, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x29, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x11, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x46, 0x6c, 0x61, + 0x76, 0x6f, 0x72, 0x52, 0x06, 0x66, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x2f, 0x0a, 0x08, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x1c, 0x0a, 0x06, + 0x46, 0x6c, 0x61, 0x76, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x57, 0x0a, 0x08, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0xe6, 0x18, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x41, 0x72, 0x74, + 0x73, 0x12, 0x35, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x13, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, + 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x71, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x71, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, + 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, 0x0a, 0x11, + 0x47, 0x65, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x56, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x72, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x73, 0x72, 0x65, 0x73, 0x70, 0x12, 0x56, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x12, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x72, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, + 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x4a, 0x6f, + 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x4a, 0x6f, 0x62, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x50, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, + 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, + 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x12, 0x21, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x41, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x52, 0x65, 0x71, + 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, + 0x77, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, + 0x73, 0x6b, 0x12, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x68, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x77, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, + 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, + 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, + 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x62, 0x0a, 0x15, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, + 0x72, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x6f, 0x72, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0a, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, + 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, + 0x0a, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x2e, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, + 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x19, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, + 0x68, 0x6f, 0x77, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x47, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1a, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, + 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x1b, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, + 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, + 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x47, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, + 0x6f, 0x6b, 0x12, 0x1a, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x1b, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x59, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, + 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5f, 0x0a, 0x14, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x22, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, 0x6f, 0x75, 0x6e, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x4d, + 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5c, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x69, + 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x21, + 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, + 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, + 0x71, 0x1a, 0x22, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x73, 0x70, 0x12, 0x65, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, + 0x24, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, + 0x6f, 0x62, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, + 0x73, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x69, 0x73, 0x75, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, 0x5a, 0x0a, + 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x72, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto b/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto index 57185ed9..173b13e3 100644 --- a/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto +++ b/adaptor/PCM-AI/PCM-MODELARTS/rpc/pb/pcm-modelarts.proto @@ -1660,205 +1660,205 @@ message DeleteDataSetResq{ /******************Notebook Start*************************/ message ListNotebookReq{ - string projectId = 1; // @gotags: copier:"ProjectId" + string project_id = 1; // @gotags: copier:"ProjectId" ListNotebookParam param = 2; // @gotags: copier:"Param" } message ListNotebookResp{ - int32 current = 1; // @gotags: copier:"current" - repeated NotebookResp data = 2; // @gotags: copier:"data" - int32 pages = 3; // @gotags: copier:"pages" - int32 size = 4; // @gotags: copier:"size" - int64 total = 5; // @gotags: copier:"total" + int32 current = 1; // @gotags: copier:"Current" + repeated NotebookResp data = 2; // @gotags: copier:"Data" + int32 pages = 3; // @gotags: copier:"Pages" + int32 size = 4; // @gotags: copier:"Size" + int64 total = 5; // @gotags: copier:"Total" } message ListNotebookParam{ - string feature = 1; // @gotags: copier:"feature" - int32 limit = 2; // @gotags: copier:"limit" - string name = 3; // @gotags: copier:"name" - string pool_id = 4; // @gotags: copier:"pool_id" - int32 offset = 5; // @gotags: copier:"offset" - string owner = 6; // @gotags: copier:"owner" - string sort_dir = 7; // @gotags: copier:"sort_dir" - string sort_key = 8; // @gotags: copier:"sort_key" - string status = 9; // @gotags: copier:"status" - string workspaceId = 10; // @gotags: copier:"workspaceId" + string feature = 1; // @gotags: copier:"Feature" + int32 limit = 2; // @gotags: copier:"Limit" + string name = 3; // @gotags: copier:"Name" + string pool_id = 4; // @gotags: copier:"PoolId" + int32 offset = 5; // @gotags: copier:"Offset" + string owner = 6; // @gotags: copier:"Owner" + string sort_dir = 7; // @gotags: copier:"SortDir" + string sort_key = 8; // @gotags: copier:"SortKey" + string status = 9; // @gotags: copier:"Status" + string workspaceId = 10; // @gotags: copier:"WorkspaceId" } message CreateNotebookReq{ - string project_id = 1; // @gotags: copier:"project_id" - CreateNotebookParam param = 2; // @gotags: copier:"param" + string project_id = 1; // @gotags: copier:"ProjectId" + CreateNotebookParam param = 2; // @gotags: copier:"Param" } message CreateNotebookResp{ - NotebookResp notebookResp = 1; // @gotags: copier:"notebookResp" + NotebookResp notebookResp = 1; // @gotags: copier:"NotebookResp" } message CreateNotebookParam{ - string description = 1; // @gotags: copier:"description" - int64 duration = 2; // @gotags: copier:"duration" - repeated EndpointsReq endpoints = 3; // @gotags: copier:"endpoints" - string feature = 4; // @gotags: copier:"feature" - string flavor = 5; // @gotags: copier:"flavor" - string image_id = 6; // @gotags: copier:"image_id" - string name = 7; // @gotags: copier:"name" - string pool_id = 8; // @gotags: copier:"pool_id" - VolumeReq volume = 9; // @gotags: copier:"volume" - string workspace_id = 10; // @gotags: copier:"workspace_id" - CustomHooks hooks = 11; // @gotags: copier:"hooks" - LeaseReq lease = 12; // @gotags: copier:"lease" + string description = 1; // @gotags: copier:"Description" + int64 duration = 2; // @gotags: copier:"Duration" + repeated EndpointsReq endpoints = 3; // @gotags: copier:"Endpoints" + string feature = 4; // @gotags: copier:"Feature" + string flavor = 5; // @gotags: copier:"Flavor" + string image_id = 6; // @gotags: copier:"ImageId" + string name = 7; // @gotags: copier:"Name" + string pool_id = 8; // @gotags: copier:"PoolId" + VolumeReq volume = 9; // @gotags: copier:"Volume" + string workspace_id = 10; // @gotags: copier:"WorkspaceId" + CustomHooks hooks = 11; // @gotags: copier:"Hooks" + LeaseReq lease = 12; // @gotags: copier:"Lease" } message StartNotebookReq{ - string id = 1; // @gotags: copier:"id" - string project_id = 2; // @gotags: copier:"project_id" - StartNotebookParam param = 3; // @gotags: copier:"param" + string id = 1; // @gotags: copier:"Id" + string project_id = 2; // @gotags: copier:"ProjectId" + StartNotebookParam param = 3; // @gotags: copier:"Param" } message StartNotebookResp{ - NotebookResp notebookResp = 1; // @gotags: copier:"notebookResp" + NotebookResp notebookResp = 1; // @gotags: copier:"NotebookResp" } message StartNotebookParam{ - int64 duration = 1; // @gotags: copier:"duration" - string type = 2; // @gotags: copier:"type_start_notebook" + int64 duration = 1; // @gotags: copier:"Duration" + string type = 2; // @gotags: copier:"TypeStartNotebook" } message StopNotebookReq{ - string id = 1; // @gotags: copier:"id" - string project_id = 2; // @gotags: copier:"project_id" + string id = 1; // @gotags: copier:"Id" + string project_id = 2; // @gotags: copier:"ProjectId" } message StopNotebookResp{ - NotebookResp notebookResp = 1; // @gotags: copier:"notebookResp" + NotebookResp notebookResp = 1; // @gotags: copier:"NotebookResp" } message GetNotebookStorageReq{ - string instance_id = 1; // @gotags: copier:"instance_id" - string project_id = 2; // @gotags: copier:"project_id" + string instance_id = 1; // @gotags: copier:"InstanceId" + string project_id = 2; // @gotags: copier:"ProjectId" } message GetNotebookStorageResp{ - int32 current = 1; // @gotags: copier:"current" - repeated DataVolumesRes data = 2; // @gotags: copier:"data" - int32 pages = 3; // @gotags: copier:"pages" - int32 size = 4; // @gotags: copier:"size" - int64 total = 5; // @gotags: copier:"total" + int32 current = 1; // @gotags: copier:"Current" + repeated DataVolumesRes data = 2; // @gotags: copier:"Data" + int32 pages = 3; // @gotags: copier:"Pages" + int32 size = 4; // @gotags: copier:"Size" + int64 total = 5; // @gotags: copier:"Total" } message MountNotebookStorageReq{ - string instance_id = 1; // @gotags: copier:"instance_id" - string project_id = 2; // @gotags: copier:"project_id" - MountNotebookStorageParam param = 3; // @gotags: copier:"param" + string instance_id = 1; // @gotags: copier:"InstanceId" + string project_id = 2; // @gotags: copier:"ProjectId" + MountNotebookStorageParam param = 3; // @gotags: copier:"Param" } message MountNotebookStorageResp{ - string category = 1; // @gotags: copier:"category" - string id = 2; // @gotags: copier:"id" - string mount_path = 3; // @gotags: copier:"mount_path" - string status = 4; // @gotags: copier:"status" - string uri = 5; // @gotags: copier:"uri" + string category = 1; // @gotags: copier:"Category" + string id = 2; // @gotags: copier:"Id" + string mount_path = 3; // @gotags: copier:"MountPath" + string status = 4; // @gotags: copier:"Status" + string uri = 5; // @gotags: copier:"Uri" } message MountNotebookStorageParam{ - string category = 1; // @gotags: copier:"category" - string mount_path = 2; // @gotags: copier:"mount_path" - string uri = 3; // @gotags: copier:"uri" + string category = 1; // @gotags: copier:"Category" + string mount_path = 2; // @gotags: copier:"MountPath" + string uri = 3; // @gotags: copier:"Uri" } message DataVolumesRes{ - string category = 1; // @gotags: copier:"category" - string id = 2; // @gotags: copier:"id" - string mount_path = 3; // @gotags: copier:"mount_path" - string status = 4; // @gotags: copier:"status" - string uri = 5; // @gotags: copier:"uri" + string category = 1; // @gotags: copier:"Category" + string id = 2; // @gotags: copier:"Id" + string mount_path = 3; // @gotags: copier:"MountPath" + string status = 4; // @gotags: copier:"Status" + string uri = 5; // @gotags: copier:"Uri" } message NotebookResp{ - repeated JobProgress action_progress = 1; // @gotags: copier:"action_progress" - string description = 2; // @gotags: copier:"description" - repeated EndpointsRes endpoints = 3; // @gotags: copier:"endpoints" - string fail_reason = 4; // @gotags: copier:"fail_reason" - string flavor = 5; // @gotags: copier:"flavor" - string id = 6; // @gotags: copier:"id" - Image image = 7; // @gotags: copier:"image" - Lease lease = 8; // @gotags: copier:"lease" - string name = 9; // @gotags: copier:"name" - Pool pool = 10; // @gotags: copier:"pool" - string status = 11; // @gotags: copier:"status" - string token = 12; // @gotags: copier:"token" - string url = 13; // @gotags: copier:"url" - VolumeRes volume = 14; // @gotags: copier:"volume" - string workspace_id = 15; // @gotags: copier:"workspace_id" - string feature = 16; // @gotags: copier:"feature" + repeated JobProgress action_progress = 1; // @gotags: copier:"ActionProgress" + string description = 2; // @gotags: copier:"Description" + repeated EndpointsRes endpoints = 3; // @gotags: copier:"Endpoints" + string fail_reason = 4; // @gotags: copier:"FailReason" + string flavor = 5; // @gotags: copier:"Flavor" + string id = 6; // @gotags: copier:"Id" + Image image = 7; // @gotags: copier:"Image" + Lease lease = 8; // @gotags: copier:"Lease" + string name = 9; // @gotags: copier:"Name" + Pool pool = 10; // @gotags: copier:"Pool" + string status = 11; // @gotags: copier:"Status" + string token = 12; // @gotags: copier:"Token" + string url = 13; // @gotags: copier:"Url" + VolumeRes volume = 14; // @gotags: copier:"Volume" + string workspace_id = 15; // @gotags: copier:"WorkspaceId" + string feature = 16; // @gotags: copier:"Feature" } message JobProgress{ - string notebook_id = 1; // @gotags: copier:"notebook_id" - string status = 2; // @gotags: copier:"status" - int32 step = 3; // @gotags: copier:"step" - string step_description = 4; // @gotags: copier:"step_description" + string notebook_id = 1; // @gotags: copier:"NotebookId" + string status = 2; // @gotags: copier:"Status" + int32 step = 3; // @gotags: copier:"Step" + string step_description = 4; // @gotags: copier:"StepDescription" } message EndpointsRes{ - repeated string allowed_access_ips = 1; // @gotags: copier:"allowed_access_ips" - string dev_service = 2; // @gotags: copier:"dev_service" - repeated string ssh_keys = 3; // @gotags: copier:"ssh_keys" + repeated string allowed_access_ips = 1; // @gotags: copier:"AllowedAccessIps" + string dev_service = 2; // @gotags: copier:"DevService" + repeated string ssh_keys = 3; // @gotags: copier:"SshKeys" } message Image{ - string arch = 1; // @gotags: copier:"arch" - int64 create_at = 2; // @gotags: copier:"create_at" - string description = 3; // @gotags: copier:"description" - repeated string dev_services = 4; // @gotags: copier:"dev_services" - string id = 5; // @gotags: copier:"id" - string name = 6; // @gotags: copier:"name" - string namespace = 7; // @gotags: copier:"namespace" - string origin = 8; // @gotags: copier:"origin" - repeated string resource_categories = 9; // @gotags: copier:"resource_categories" - string service_type = 10; // @gotags: copier:"service_type" - int64 size = 11; // @gotags: copier:"size" - string status = 12; // @gotags: copier:"status" - string status_message = 13; // @gotags: copier:"status_message" - repeated string support_res_categories = 14; // @gotags: copier:"support_res_categories" - string swr_path = 15; // @gotags: copier:"swr_path" - string tag = 16; // @gotags: copier:"tag" - string type = 17; // @gotags: copier:"type_image" - int64 update_at = 18; // @gotags: copier:"update_at" - string visibility = 19; // @gotags: copier:"visibility" - string workspace_id = 20; // @gotags: copier:"workspace_id" + string arch = 1; // @gotags: copier:"Arch" + int64 create_at = 2; // @gotags: copier:"CreateAt" + string description = 3; // @gotags: copier:"Description" + repeated string dev_services = 4; // @gotags: copier:"DevServices" + string id = 5; // @gotags: copier:"Id" + string name = 6; // @gotags: copier:"Name" + string namespace = 7; // @gotags: copier:"Namespace" + string origin = 8; // @gotags: copier:"Origin" + repeated string resource_categories = 9; // @gotags: copier:"ResourceCategories" + string service_type = 10; // @gotags: copier:"ServiceType" + int64 size = 11; // @gotags: copier:"Size" + string status = 12; // @gotags: copier:"Status" + string status_message = 13; // @gotags: copier:"StatusMessage" + repeated string support_res_categories = 14; // @gotags: copier:"SupportResCategories" + string swr_path = 15; // @gotags: copier:"SwrPath" + string tag = 16; // @gotags: copier:"Tag" + string type = 17; // @gotags: copier:"TypeImage" + int64 update_at = 18; // @gotags: copier:"UpdateAt" + string visibility = 19; // @gotags: copier:"Visibility" + string workspace_id = 20; // @gotags: copier:"WorkspaceId" } message Lease{ - int64 create_at = 1; // @gotags: copier:"create_at" - int64 duration = 2; // @gotags: copier:"duration" - bool enable = 3; // @gotags: copier:"enable" - string type = 4; // @gotags: copier:"type_lease" - int64 update_at = 5; // @gotags: copier:"update_at" + int64 create_at = 1; // @gotags: copier:"CreateAt" + int64 duration = 2; // @gotags: copier:"Duration" + bool enable = 3; // @gotags: copier:"Enable" + string type = 4; // @gotags: copier:"TypeLease" + int64 update_at = 5; // @gotags: copier:"UpdateAt" } message Pool{ - string id = 1; // @gotags: copier:"id" - string name = 2; // @gotags: copier:"name" + string id = 1; // @gotags: copier:"Id" + string name = 2; // @gotags: copier:"Name" } message VolumeRes{ - int64 capacity = 1; // @gotags: copier:"capacity" - string category = 2; // @gotags: copier:"category" - string mount_path = 3; // @gotags: copier:"mount_path" - string ownership = 4; // @gotags: copier:"ownership" - string status = 5; // @gotags: copier:"status" + int64 capacity = 1; // @gotags: copier:"Capacity" + string category = 2; // @gotags: copier:"Category" + string mount_path = 3; // @gotags: copier:"MountPath" + string ownership = 4; // @gotags: copier:"Ownership" + string status = 5; // @gotags: copier:"Status" } message EndpointsReq{ - repeated string allowed_access_ips = 1; // @gotags: copier:"allowed_access_ips" - string dev_service = 2; // @gotags: copier:"dev_service" - repeated string ssh_keys = 3; // @gotags: copier:"ssh_keys" + repeated string allowed_access_ips = 1; // @gotags: copier:"AllowedAccessIps" + string dev_service = 2; // @gotags: copier:"DevService" + repeated string ssh_keys = 3; // @gotags: copier:"SshKeys" } message VolumeReq{ - int64 capacity = 1; // @gotags: copier:"capacity" - string category = 2; // @gotags: copier:"category" - string ownership = 3; // @gotags: copier:"ownership" - string uri = 4; // @gotags: copier:"uri" + int64 capacity = 1; // @gotags: copier:"Capacity" + string category = 2; // @gotags: copier:"Category" + string ownership = 3; // @gotags: copier:"Ownership" + string uri = 4; // @gotags: copier:"Uri" } message CustomHooks{ - ContainerHooks container_hooks = 1; // @gotags: copier:"container_hooks" + ContainerHooks container_hooks = 1; // @gotags: copier:"ContainerHooks" } message ContainerHooks{ - Config post_start = 1; // @gotags: copier:"post_start" - Config pre_start = 2; // @gotags: copier:"pre_start" + Config post_start = 1; // @gotags: copier:"PostStart" + Config pre_start = 2; // @gotags: copier:"PreStart" } message Config{ - string script = 1; // @gotags: copier:"script" - string type = 2; // @gotags: copier:"type_config" + string script = 1; // @gotags: copier:"Script" + string type = 2; // @gotags: copier:"TypeConfig" } message LeaseReq{ - int64 duration = 1; // @gotags: copier:"duration" - string type = 2; // @gotags: copier:"type_lease_req" + int64 duration = 1; // @gotags: copier:"Duration" + string type = 2; // @gotags: copier:"TypeLeaseReq" } /******************Notebook End*************************/ diff --git a/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api b/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api index 3fc5039b..2a235d1a 100644 --- a/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api +++ b/adaptor/PCM-CORE/api/desc/ai/pcm-ai.api @@ -1047,198 +1047,198 @@ type ( Param ListNotebookParam `json:"param,optional" copier:"Param"` } ListNotebookResp { - Current int32 `json:"current"` - Data []NotebookResp `json:"data"` - Pages int32 `json:"pages"` - Size int32 `json:"size"` - Total int64 `json:"total"` + Current int32 `json:"current" copier:"Current"` + Data []NotebookResp `json:"data" copier:"Data"` + Pages int32 `json:"pages" copier:"Pages"` + Size int32 `json:"size" copier:"Size"` + Total int64 `json:"total" copier:"Total"` } ListNotebookParam { - Feature string `json:"feature,optional"` - Limit int32 `json:"limit,optional"` - Name string `json:"name,optional"` - Pool_id string `json:"pool_id,optional"` - Offset int32 `json:"offset,optional"` - Owner string `json:"owner,optional"` - Sort_dir string `json:"sort_dir,optional"` - Sort_key string `json:"sort_key,optional"` - Status string `json:"status,optional"` - WorkspaceId string `json:"workspaceId,optional"` + Feature string `json:"feature,optional" copier:"Feature"` + Limit int32 `json:"limit,optional" copier:"Limit"` + Name string `json:"name,optional" copier:"Name"` + PoolId string `json:"pool_id,optional" copier:"PoolId"` + Offset int32 `json:"offset,optional" copier:"Offset"` + Owner string `json:"owner,optional" copier:"Owner"` + SortDir string `json:"sort_dir,optional" copier:"SortDir"` + SortKey string `json:"sort_key,optional" copier:"SortKey"` + Status string `json:"status,optional" copier:"Status"` + WorkspaceId string `json:"workspaceId,optional" copier:"WorkspaceId"` } CreateNotebookReq { - Project_id string `json:"project_id"` - Param CreateNotebookParam `json:"param"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param CreateNotebookParam `json:"param" copier:"Param"` } CreateNotebookResp { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } CreateNotebookParam { - Description string `json:"description"` - Duration int64 `json:"duration"` - Endpoints []EndpointsReq `json:"endpoints"` - Feature string `json:"feature"` - Flavor string `json:"flavor"` - Image_id string `json:"image_id"` - Name string `json:"name"` - Pool_id string `json:"pool_id"` - Volume VolumeReq `json:"volume"` - Workspace_id string `json:"workspace_id"` - Hooks CustomHooks `json:"hooks"` - Lease LeaseReq `json:"lease"` + Description string `json:"description" copier:"Description"` + Duration int64 `json:"duration" copier:"Duration"` + Endpoints []EndpointsReq `json:"endpoints" copier:"Endpoints"` + Feature string `json:"feature" copier:"Feature"` + Flavor string `json:"flavor" copier:"Flavor"` + ImageId string `json:"image_id" copier:"ImageId"` + Name string `json:"name" copier:"Name"` + PoolId string `json:"pool_id" copier:"PoolId"` + Volume VolumeReq `json:"volume" copier:"Volume"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Hooks CustomHooks `json:"hooks" copier:"Hooks"` + Lease LeaseReq `json:"lease" copier:"Lease"` } StartNotebookReq { - Id string `json:"id"` - Project_id string `json:"project_id"` - Param StartNotebookParam `json:"param"` + Id string `json:"id" copier:"Id"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param StartNotebookParam `json:"param" copier:"Param"` } StartNotebookResp { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } StartNotebookParam { - Duration int64 `json:"duration"` - Type_start_notebook string `json:"type"` + Duration int64 `json:"duration" copier:"Duration"` + TypeStartNotebook string `json:"type" copier:"TypeStartNotebook"` } StopNotebookReq { - Id string `json:"id"` - Project_id string `json:"project_id"` + Id string `json:"id" copier:"Id"` + ProjectId string `json:"project_id" copier:"ProjectId"` } StopNotebookResp { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } GetNotebookStorageReq { - Instance_id string `json:"instance_id"` - Project_id string `json:"project_id"` + InstanceId string `json:"instance_id" copier:"InstanceId"` + ProjectId string `json:"project_id" copier:"ProjectId"` } GetNotebookStorageResp { - Current int32 `json:"current"` - Data []DataVolumesRes `json:"data"` - Pages int32 `json:"pages"` - Size int32 `json:"size"` - Total int64 `json:"total"` + Current int32 `json:"current" copier:"Current"` + Data []DataVolumesRes `json:"data" copier:"Data"` + Pages int32 `json:"pages" copier:"Pages"` + Size int32 `json:"size" copier:"Size"` + Total int64 `json:"total" copier:"Total"` } MountNotebookStorageReq { - Instance_id string `json:"instance_id"` - Project_id string `json:"project_id"` - Param MountNotebookStorageParam `json:"param"` + InstanceId string `json:"instance_id" copier:"InstanceId"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param MountNotebookStorageParam `json:"param" copier:"Param"` } MountNotebookStorageResp { - Category string `json:"category"` - Id string `json:"id"` - Mount_path string `json:"mount_path"` - Status string `json:"status"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + Id string `json:"id" copier:"Id"` + MountPath string `json:"mount_path" copier:"MountPath"` + Status string `json:"status" copier:"Status"` + Uri string `json:"uri" copier:"Uri"` } MountNotebookStorageParam { - Category string `json:"category"` - Mount_path string `json:"mount_path"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + MountPath string `json:"mount_path" copier:"MountPath"` + Uri string `json:"uri" copier:"Uri"` } DataVolumesRes { - Category string `json:"category"` - Id string `json:"id"` - Mount_path string `json:"mount_path"` - Status string `json:"status"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + Id string `json:"id" copier:"Id"` + MountPath string `json:"mount_path" copier:"MountPath"` + Status string `json:"status" copier:"Status"` + Uri string `json:"uri" copier:"Uri"` } NotebookResp { - Action_progress []JobProgress `json:"action_progress"` - Description string `json:"description"` - Endpoints []EndpointsRes `json:"endpoints"` - Fail_reason string `json:"fail_reason"` - Flavor string `json:"flavor"` - Id string `json:"id"` - Image Image `json:"image"` - Lease Lease `json:"lease"` - Name string `json:"name"` - Pool Pool `json:"pool"` - Status string `json:"status"` - Token string `json:"token"` - Url string `json:"url"` - Volume VolumeRes `json:"volume"` - Workspace_id string `json:"workspace_id"` - Feature string `json:"feature"` + ActionProgress []JobProgress `json:"action_progress" copier:"ActionProgress"` + Description string `json:"description" copier:"Description"` + Endpoints []EndpointsRes `json:"endpoints" copier:"Endpoints"` + FailReason string `json:"fail_reason" copier:"FailReason"` + Flavor string `json:"flavor" copier:"Flavor"` + Id string `json:"id" copier:"Id"` + Image Image `json:"image" copier:"Image"` + Lease Lease `json:"lease" copier:"Lease"` + Name string `json:"name" copier:"Name"` + Pool Pool `json:"pool" copier:"Pool"` + Status string `json:"status" copier:"Status"` + Token string `json:"token" copier:"Token"` + Url string `json:"url" copier:"Url"` + Volume VolumeRes `json:"volume" copier:"Volume"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Feature string `json:"feature" copier:"Feature"` } JobProgress { - Notebook_id string `json:"notebook_id"` - Status string `json:"status"` - Step int32 `json:"step"` - Step_description string `json:"step_description"` + NotebookId string `json:"notebook_id" copier:"NotebookId"` + Status string `json:"status" copier:"Status"` + Step int32 `json:"step" copier:"Step"` + StepDescription string `json:"step_description" copier:"StepDescription"` } EndpointsRes { - Allowed_access_ips []string `json:"allowed_access_ips"` - Dev_service string `json:"dev_service"` - Ssh_keys []string `json:"ssh_keys"` + AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` + DevService string `json:"dev_service" copier:"DevService"` + SshKeys []string `json:"ssh_keys" copier:"SshKeys"` } Image { - Arch string `json:"arch"` - Create_at int64 `json:"create_at"` - Description string `json:"description"` - Dev_services []string `json:"dev_services"` - Id string `json:"id"` - Name string `json:"name"` - Namespace string `json:"namespace"` - Origin string `json:"origin"` - Resource_categories []string `json:"resource_categories"` - Service_type string `json:"service_type"` - Size int64 `json:"size"` - Status string `json:"status"` - Status_message string `json:"status_message"` - Support_res_categories []string `json:"support_res_categories"` - Swr_path string `json:"swr_path"` - Tag string `json:"tag"` - Type_image string `json:"type"` - Update_at int64 `json:"update_at"` - Visibility string `json:"visibility"` - Workspace_id string `json:"workspace_id"` + Arch string `json:"arch" copier:"Arch"` + CreateAt int64 `json:"create_at" copier:"CreateAt"` + Description string `json:"description" copier:"Description"` + DevServices []string `json:"dev_services" copier:"DevServices"` + Id string `json:"id" copier:"Id"` + Name string `json:"name" copier:"Name"` + Namespace string `json:"namespace" copier:"Namespace"` + Origin string `json:"origin" copier:"Origin"` + ResourceCategories []string `json:"resource_categories" copier:"ResourceCategories"` + ServiceType string `json:"service_type" copier:"ServiceType"` + Size int64 `json:"size" copier:"Size"` + Status string `json:"status" copier:"Status"` + StatusMessage string `json:"status_message" copier:"StatusMessage"` + SupportResCategories []string `json:"support_res_categories" copier:"SupportResCategories"` + SwrPath string `json:"swr_path" copier:"SwrPath"` + Tag string `json:"tag" copier:"Tag"` + TypeImage string `json:"type" copier:"TypeImage"` + UpdateAt int64 `json:"update_at" copier:"UpdateAt"` + Visibility string `json:"visibility" copier:"Visibility"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` } Lease { - Create_at int64 `json:"create_at"` - Duration int64 `json:"duration"` - Enable bool `json:"enable"` - Type_lease string `json:"type"` - Update_at int64 `json:"update_at"` + CreateAt int64 `json:"create_at" copier:"CreateAt"` + Duration int64 `json:"duration" copier:"Duration"` + Enable bool `json:"enable" copier:"Enable"` + TypeLease string `json:"type" copier:"TypeLease"` + UpdateAt int64 `json:"update_at" copier:"UpdateAt"` } Pool { - Id string `json:"id"` - Name string `json:"name"` + Id string `json:"id" copier:"Id"` + Name string `json:"name" copier:"Name"` } VolumeRes { - Capacity int64 `json:"capacity"` - Category string `json:"category"` - Mount_path string `json:"mount_path"` - Ownership string `json:"ownership"` - Status string `json:"status"` + Capacity int64 `json:"capacity" copier:"Capacity"` + Category string `json:"category" copier:"Category"` + MountPath string `json:"mount_path" copier:"MountPath"` + Ownership string `json:"ownership" copier:"Ownership"` + Status string `json:"status" copier:"Status"` } EndpointsReq { - Allowed_access_ips []string `json:"allowed_access_ips"` - Dev_service string `json:"dev_service"` - Ssh_keys []string `json:"ssh_keys"` + AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` + DevService string `json:"dev_service" copier:"DevService"` + SshKeys []string `json:"ssh_keys" copier:"SshKeys"` } VolumeReq { - Capacity int64 `json:"capacity"` - Category string `json:"category"` - Ownership string `json:"ownership"` - Uri string `json:"uri"` + Capacity int64 `json:"capacity" copier:"Capacity"` + Category string `json:"category" copier:"Category"` + Ownership string `json:"ownership" copier:"Ownership"` + Uri string `json:"uri" copier:"Uri"` } CustomHooks { - Container_hooks ContainerHooks `json:"container_hooks"` + ContainerHooks ContainerHooks `json:"container_hooks" copier:"ContainerHooks"` } ContainerHooks { - Post_start Config `json:"post_start"` - Pre_start Config `json:"pre_start"` + PostStart Config `json:"post_start" copier:"PostStart"` + PreStart Config `json:"pre_start" copier:"PreStart"` } Config { - Script string `json:"script"` - Type_config string `json:"type"` + Script string `json:"script" copier:"Script"` + TypeConfig string `json:"type" copier:"TypeConfig"` } LeaseReq { - Duration int64 `json:"duration"` - Type_lease_req string `json:"type"` + Duration int64 `json:"duration" copier:"Duration"` + TypeLeaseReq string `json:"type" copier:"TypeLeaseReq"` } ) /******************Notebook Type end*************************/ diff --git a/adaptor/PCM-CORE/api/internal/types/types.go b/adaptor/PCM-CORE/api/internal/types/types.go index abedce0f..2e940a8b 100644 --- a/adaptor/PCM-CORE/api/internal/types/types.go +++ b/adaptor/PCM-CORE/api/internal/types/types.go @@ -1432,221 +1432,221 @@ type ListNotebookReq struct { } type ListNotebookResp struct { - Current int32 `json:"current"` - Data []NotebookResp `json:"data"` - Pages int32 `json:"pages"` - Size int32 `json:"size"` - Total int64 `json:"total"` + Current int32 `json:"current" copier:"Current"` + Data []NotebookResp `json:"data" copier:"Data"` + Pages int32 `json:"pages" copier:"Pages"` + Size int32 `json:"size" copier:"Size"` + Total int64 `json:"total" copier:"Total"` } type ListNotebookParam struct { - Feature string `json:"feature,optional"` - Limit int32 `json:"limit,optional"` - Name string `json:"name,optional"` - Pool_id string `json:"pool_id,optional"` - Offset int32 `json:"offset,optional"` - Owner string `json:"owner,optional"` - Sort_dir string `json:"sort_dir,optional"` - Sort_key string `json:"sort_key,optional"` - Status string `json:"status,optional"` - WorkspaceId string `json:"workspaceId,optional"` + Feature string `json:"feature,optional" copier:"Feature"` + Limit int32 `json:"limit,optional" copier:"Limit"` + Name string `json:"name,optional" copier:"Name"` + PoolId string `json:"pool_id,optional" copier:"PoolId"` + Offset int32 `json:"offset,optional" copier:"Offset"` + Owner string `json:"owner,optional" copier:"Owner"` + SortDir string `json:"sort_dir,optional" copier:"SortDir"` + SortKey string `json:"sort_key,optional" copier:"SortKey"` + Status string `json:"status,optional" copier:"Status"` + WorkspaceId string `json:"workspaceId,optional" copier:"WorkspaceId"` } type CreateNotebookReq struct { - Project_id string `json:"project_id"` - Param CreateNotebookParam `json:"param"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param CreateNotebookParam `json:"param" copier:"Param"` } type CreateNotebookResp struct { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } type CreateNotebookParam struct { - Description string `json:"description"` - Duration int64 `json:"duration"` - Endpoints []EndpointsReq `json:"endpoints"` - Feature string `json:"feature"` - Flavor string `json:"flavor"` - Image_id string `json:"image_id"` - Name string `json:"name"` - Pool_id string `json:"pool_id"` - Volume VolumeReq `json:"volume"` - Workspace_id string `json:"workspace_id"` - Hooks CustomHooks `json:"hooks"` - Lease LeaseReq `json:"lease"` + Description string `json:"description" copier:"Description"` + Duration int64 `json:"duration" copier:"Duration"` + Endpoints []EndpointsReq `json:"endpoints" copier:"Endpoints"` + Feature string `json:"feature" copier:"Feature"` + Flavor string `json:"flavor" copier:"Flavor"` + ImageId string `json:"image_id" copier:"ImageId"` + Name string `json:"name" copier:"Name"` + PoolId string `json:"pool_id" copier:"PoolId"` + Volume VolumeReq `json:"volume" copier:"Volume"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Hooks CustomHooks `json:"hooks" copier:"Hooks"` + Lease LeaseReq `json:"lease" copier:"Lease"` } type StartNotebookReq struct { - Id string `json:"id"` - Project_id string `json:"project_id"` - Param StartNotebookParam `json:"param"` + Id string `json:"id" copier:"Id"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param StartNotebookParam `json:"param" copier:"Param"` } type StartNotebookResp struct { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } type StartNotebookParam struct { - Duration int64 `json:"duration"` - Type_start_notebook string `json:"type"` + Duration int64 `json:"duration" copier:"Duration"` + TypeStartNotebook string `json:"type" copier:"TypeStartNotebook"` } type StopNotebookReq struct { - Id string `json:"id"` - Project_id string `json:"project_id"` + Id string `json:"id" copier:"Id"` + ProjectId string `json:"project_id" copier:"ProjectId"` } type StopNotebookResp struct { - NotebookResp NotebookResp `json:"notebookResp"` + NotebookResp NotebookResp `json:"notebookResp" copier:"NotebookResp"` } type GetNotebookStorageReq struct { - Instance_id string `json:"instance_id"` - Project_id string `json:"project_id"` + InstanceId string `json:"instance_id" copier:"InstanceId"` + ProjectId string `json:"project_id" copier:"ProjectId"` } type GetNotebookStorageResp struct { - Current int32 `json:"current"` - Data []DataVolumesRes `json:"data"` - Pages int32 `json:"pages"` - Size int32 `json:"size"` - Total int64 `json:"total"` + Current int32 `json:"current" copier:"Current"` + Data []DataVolumesRes `json:"data" copier:"Data"` + Pages int32 `json:"pages" copier:"Pages"` + Size int32 `json:"size" copier:"Size"` + Total int64 `json:"total" copier:"Total"` } type MountNotebookStorageReq struct { - Instance_id string `json:"instance_id"` - Project_id string `json:"project_id"` - Param MountNotebookStorageParam `json:"param"` + InstanceId string `json:"instance_id" copier:"InstanceId"` + ProjectId string `json:"project_id" copier:"ProjectId"` + Param MountNotebookStorageParam `json:"param" copier:"Param"` } type MountNotebookStorageResp struct { - Category string `json:"category"` - Id string `json:"id"` - Mount_path string `json:"mount_path"` - Status string `json:"status"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + Id string `json:"id" copier:"Id"` + MountPath string `json:"mount_path" copier:"MountPath"` + Status string `json:"status" copier:"Status"` + Uri string `json:"uri" copier:"Uri"` } type MountNotebookStorageParam struct { - Category string `json:"category"` - Mount_path string `json:"mount_path"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + MountPath string `json:"mount_path" copier:"MountPath"` + Uri string `json:"uri" copier:"Uri"` } type DataVolumesRes struct { - Category string `json:"category"` - Id string `json:"id"` - Mount_path string `json:"mount_path"` - Status string `json:"status"` - Uri string `json:"uri"` + Category string `json:"category" copier:"Category"` + Id string `json:"id" copier:"Id"` + MountPath string `json:"mount_path" copier:"MountPath"` + Status string `json:"status" copier:"Status"` + Uri string `json:"uri" copier:"Uri"` } type NotebookResp struct { - Action_progress []JobProgress `json:"action_progress"` - Description string `json:"description"` - Endpoints []EndpointsRes `json:"endpoints"` - Fail_reason string `json:"fail_reason"` - Flavor string `json:"flavor"` - Id string `json:"id"` - Image Image `json:"image"` - Lease Lease `json:"lease"` - Name string `json:"name"` - Pool Pool `json:"pool"` - Status string `json:"status"` - Token string `json:"token"` - Url string `json:"url"` - Volume VolumeRes `json:"volume"` - Workspace_id string `json:"workspace_id"` - Feature string `json:"feature"` + ActionProgress []JobProgress `json:"action_progress" copier:"ActionProgress"` + Description string `json:"description" copier:"Description"` + Endpoints []EndpointsRes `json:"endpoints" copier:"Endpoints"` + FailReason string `json:"fail_reason" copier:"FailReason"` + Flavor string `json:"flavor" copier:"Flavor"` + Id string `json:"id" copier:"Id"` + Image Image `json:"image" copier:"Image"` + Lease Lease `json:"lease" copier:"Lease"` + Name string `json:"name" copier:"Name"` + Pool Pool `json:"pool" copier:"Pool"` + Status string `json:"status" copier:"Status"` + Token string `json:"token" copier:"Token"` + Url string `json:"url" copier:"Url"` + Volume VolumeRes `json:"volume" copier:"Volume"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` + Feature string `json:"feature" copier:"Feature"` } type JobProgress struct { - Notebook_id string `json:"notebook_id"` - Status string `json:"status"` - Step int32 `json:"step"` - Step_description string `json:"step_description"` + NotebookId string `json:"notebook_id" copier:"NotebookId"` + Status string `json:"status" copier:"Status"` + Step int32 `json:"step" copier:"Step"` + StepDescription string `json:"step_description" copier:"StepDescription"` } type EndpointsRes struct { - Allowed_access_ips []string `json:"allowed_access_ips"` - Dev_service string `json:"dev_service"` - Ssh_keys []string `json:"ssh_keys"` + AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` + DevService string `json:"dev_service" copier:"DevService"` + SshKeys []string `json:"ssh_keys" copier:"SshKeys"` } type Image struct { - Arch string `json:"arch"` - Create_at int64 `json:"create_at"` - Description string `json:"description"` - Dev_services []string `json:"dev_services"` - Id string `json:"id"` - Name string `json:"name"` - Namespace string `json:"namespace"` - Origin string `json:"origin"` - Resource_categories []string `json:"resource_categories"` - Service_type string `json:"service_type"` - Size int64 `json:"size"` - Status string `json:"status"` - Status_message string `json:"status_message"` - Support_res_categories []string `json:"support_res_categories"` - Swr_path string `json:"swr_path"` - Tag string `json:"tag"` - Type_image string `json:"type"` - Update_at int64 `json:"update_at"` - Visibility string `json:"visibility"` - Workspace_id string `json:"workspace_id"` + Arch string `json:"arch" copier:"Arch"` + CreateAt int64 `json:"create_at" copier:"CreateAt"` + Description string `json:"description" copier:"Description"` + DevServices []string `json:"dev_services" copier:"DevServices"` + Id string `json:"id" copier:"Id"` + Name string `json:"name" copier:"Name"` + Namespace string `json:"namespace" copier:"Namespace"` + Origin string `json:"origin" copier:"Origin"` + ResourceCategories []string `json:"resource_categories" copier:"ResourceCategories"` + ServiceType string `json:"service_type" copier:"ServiceType"` + Size int64 `json:"size" copier:"Size"` + Status string `json:"status" copier:"Status"` + StatusMessage string `json:"status_message" copier:"StatusMessage"` + SupportResCategories []string `json:"support_res_categories" copier:"SupportResCategories"` + SwrPath string `json:"swr_path" copier:"SwrPath"` + Tag string `json:"tag" copier:"Tag"` + TypeImage string `json:"type" copier:"TypeImage"` + UpdateAt int64 `json:"update_at" copier:"UpdateAt"` + Visibility string `json:"visibility" copier:"Visibility"` + WorkspaceId string `json:"workspace_id" copier:"WorkspaceId"` } type Lease struct { - Create_at int64 `json:"create_at"` - Duration int64 `json:"duration"` - Enable bool `json:"enable"` - Type_lease string `json:"type"` - Update_at int64 `json:"update_at"` + CreateAt int64 `json:"create_at" copier:"CreateAt"` + Duration int64 `json:"duration" copier:"Duration"` + Enable bool `json:"enable" copier:"Enable"` + TypeLease string `json:"type" copier:"TypeLease"` + UpdateAt int64 `json:"update_at" copier:"UpdateAt"` } type Pool struct { - Id string `json:"id"` - Name string `json:"name"` + Id string `json:"id" copier:"Id"` + Name string `json:"name" copier:"Name"` } type VolumeRes struct { - Capacity int64 `json:"capacity"` - Category string `json:"category"` - Mount_path string `json:"mount_path"` - Ownership string `json:"ownership"` - Status string `json:"status"` + Capacity int64 `json:"capacity" copier:"Capacity"` + Category string `json:"category" copier:"Category"` + MountPath string `json:"mount_path" copier:"MountPath"` + Ownership string `json:"ownership" copier:"Ownership"` + Status string `json:"status" copier:"Status"` } type EndpointsReq struct { - Allowed_access_ips []string `json:"allowed_access_ips"` - Dev_service string `json:"dev_service"` - Ssh_keys []string `json:"ssh_keys"` + AllowedAccessIps []string `json:"allowed_access_ips" copier:"AllowedAccessIps"` + DevService string `json:"dev_service" copier:"DevService"` + SshKeys []string `json:"ssh_keys" copier:"SshKeys"` } type VolumeReq struct { - Capacity int64 `json:"capacity"` - Category string `json:"category"` - Ownership string `json:"ownership"` - Uri string `json:"uri"` + Capacity int64 `json:"capacity" copier:"Capacity"` + Category string `json:"category" copier:"Category"` + Ownership string `json:"ownership" copier:"Ownership"` + Uri string `json:"uri" copier:"Uri"` } type CustomHooks struct { - Container_hooks ContainerHooks `json:"container_hooks"` + ContainerHooks ContainerHooks `json:"container_hooks" copier:"ContainerHooks"` } type ContainerHooks struct { - Post_start Config `json:"post_start"` - Pre_start Config `json:"pre_start"` + PostStart Config `json:"post_start" copier:"PostStart"` + PreStart Config `json:"pre_start" copier:"PreStart"` } type Config struct { - Script string `json:"script"` - Type_config string `json:"type"` + Script string `json:"script" copier:"Script"` + TypeConfig string `json:"type" copier:"TypeConfig"` } type LeaseReq struct { - Duration int64 `json:"duration"` - Type_lease_req string `json:"type"` + Duration int64 `json:"duration" copier:"Duration"` + TypeLeaseReq string `json:"type" copier:"TypeLeaseReq"` } type GetVisualizationJobReq struct { diff --git a/common/tool/convert.go b/common/tool/convert.go index 743e1d1e..8ebef2cb 100644 --- a/common/tool/convert.go +++ b/common/tool/convert.go @@ -4,6 +4,7 @@ import ( "PCM/adaptor/PCM-CORE/model" "bytes" "encoding/json" + "fmt" "github.com/robfig/cron/v3" "io" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -117,3 +118,16 @@ func RemoveDuplication_map(arr []string) []string { } return arr[:j] } + +func ConvertStructToMap(in interface{}) map[string]string { + out := make(map[string]string) + + b, _ := json.Marshal(&in) + var m map[string]interface{} + _ = json.Unmarshal(b, &m) + + for k, v := range m { + out[k] = fmt.Sprintf("%v", v) + } + return out +}