blob: 5f3348a025386d2772401176780dd72d4a8ecbb3 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.32.0
// protoc v3.21.12
// source: service.proto
// Working in progress protobuf and service definition.
//
package pinpointpb
import (
reflect "reflect"
sync "sync"
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// The direct mirror of the existing bisect request in catapult.
// https://chromium.googlesource.com/catapult.git/+/09398d/
// dashboard/dashboard/pinpoint/models/job.py#339
//
// Note, some fields are only for backward-compatibility only.
type ScheduleBisectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ComparisonMode string `protobuf:"bytes,1,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
StartGitHash string `protobuf:"bytes,2,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,3,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
// The builder/bot configuration name, this usually specifies the builder that can trigger
// the build.
Configuration string `protobuf:"bytes,4,opt,name=configuration,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
// All the targets are generated from here:
// https://chromium.googlesource.com/chromium/src/+/52c8723/tools/perf/core/perf_data_generator.py
Benchmark string `protobuf:"bytes,5,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
Story string `protobuf:"bytes,6,opt,name=story,proto3" json:"story,omitempty"`
Chart string `protobuf:"bytes,7,opt,name=chart,proto3" json:"chart,omitempty"`
Statistic string `protobuf:"bytes,8,opt,name=statistic,proto3" json:"statistic,omitempty"`
// Comparison Magnitude is the expected absolute difference of a potential regression.
ComparisonMagnitude string `protobuf:"bytes,9,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
// The Change (Commits + Patch) to apply to every change for all the subsequence runs.
Pin string `protobuf:"bytes,10,opt,name=pin,proto3" json:"pin,omitempty"`
// The Monorail project ID.
Project string `protobuf:"bytes,11,opt,name=project,proto3" json:"project,omitempty"`
// The monorail issue id number to post updates to.
BugId string `protobuf:"bytes,12,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
// The user email who triggers the job.
User string `protobuf:"bytes,13,opt,name=user,proto3" json:"user,omitempty"`
// The mechanism in which benchmark measurements are aggregated by.
// One of sum, mean, min, max count, and std.
AggregationMethod string `protobuf:"bytes,14,opt,name=aggregation_method,json=aggregationMethod,proto3" json:"aggregation_method,omitempty"`
// StoryTags is a comma delimited string of tags to pass for the story.
// For example, "all", "representative_win_desktop" or "2019,2018".
StoryTags string `protobuf:"bytes,15,opt,name=story_tags,json=storyTags,proto3" json:"story_tags,omitempty"`
// The minimum number of test iterations run.
InitialAttemptCount string `protobuf:"bytes,16,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
// A JSON string encoded key-value pairs used to filter the Jobs listings.
Tags string `protobuf:"bytes,17,opt,name=tags,proto3" json:"tags,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,18,opt,name=improvement_direction,json=improvementDirection,proto3" json:"improvement_direction,omitempty"`
}
func (x *ScheduleBisectRequest) Reset() {
*x = ScheduleBisectRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleBisectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleBisectRequest) ProtoMessage() {}
func (x *ScheduleBisectRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduleBisectRequest.ProtoReflect.Descriptor instead.
func (*ScheduleBisectRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{0}
}
func (x *ScheduleBisectRequest) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *ScheduleBisectRequest) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *ScheduleBisectRequest) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *ScheduleBisectRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *ScheduleBisectRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *ScheduleBisectRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *ScheduleBisectRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *ScheduleBisectRequest) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *ScheduleBisectRequest) GetComparisonMagnitude() string {
if x != nil {
return x.ComparisonMagnitude
}
return ""
}
func (x *ScheduleBisectRequest) GetPin() string {
if x != nil {
return x.Pin
}
return ""
}
func (x *ScheduleBisectRequest) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *ScheduleBisectRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *ScheduleBisectRequest) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *ScheduleBisectRequest) GetAggregationMethod() string {
if x != nil {
return x.AggregationMethod
}
return ""
}
func (x *ScheduleBisectRequest) GetStoryTags() string {
if x != nil {
return x.StoryTags
}
return ""
}
func (x *ScheduleBisectRequest) GetInitialAttemptCount() string {
if x != nil {
return x.InitialAttemptCount
}
return ""
}
func (x *ScheduleBisectRequest) GetTags() string {
if x != nil {
return x.Tags
}
return ""
}
func (x *ScheduleBisectRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
type QueryBisectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
}
func (x *QueryBisectRequest) Reset() {
*x = QueryBisectRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryBisectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryBisectRequest) ProtoMessage() {}
func (x *QueryBisectRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryBisectRequest.ProtoReflect.Descriptor instead.
func (*QueryBisectRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{1}
}
func (x *QueryBisectRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
type CancelJobRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
}
func (x *CancelJobRequest) Reset() {
*x = CancelJobRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CancelJobRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelJobRequest) ProtoMessage() {}
func (x *CancelJobRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead.
func (*CancelJobRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{2}
}
func (x *CancelJobRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *CancelJobRequest) GetReason() string {
if x != nil {
return x.Reason
}
return ""
}
type CancelJobResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
}
func (x *CancelJobResponse) Reset() {
*x = CancelJobResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CancelJobResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelJobResponse) ProtoMessage() {}
func (x *CancelJobResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelJobResponse.ProtoReflect.Descriptor instead.
func (*CancelJobResponse) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{3}
}
func (x *CancelJobResponse) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *CancelJobResponse) GetState() string {
if x != nil {
return x.State
}
return ""
}
type Commit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GitHash string `protobuf:"bytes,1,opt,name=git_hash,json=gitHash,proto3" json:"git_hash,omitempty"`
Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"`
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
Author string `protobuf:"bytes,4,opt,name=author,proto3" json:"author,omitempty"`
Created *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"`
Subject string `protobuf:"bytes,6,opt,name=subject,proto3" json:"subject,omitempty"`
Message string `protobuf:"bytes,7,opt,name=message,proto3" json:"message,omitempty"`
CommitBranch string `protobuf:"bytes,8,opt,name=commit_branch,json=commitBranch,proto3" json:"commit_branch,omitempty"`
CommitPosition int32 `protobuf:"varint,9,opt,name=commit_position,json=commitPosition,proto3" json:"commit_position,omitempty"`
ReviewUrl string `protobuf:"bytes,10,opt,name=review_url,json=reviewUrl,proto3" json:"review_url,omitempty"`
ChangeId string `protobuf:"bytes,11,opt,name=change_id,json=changeId,proto3" json:"change_id,omitempty"`
}
func (x *Commit) Reset() {
*x = Commit{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Commit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Commit) ProtoMessage() {}
func (x *Commit) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Commit.ProtoReflect.Descriptor instead.
func (*Commit) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{4}
}
func (x *Commit) GetGitHash() string {
if x != nil {
return x.GitHash
}
return ""
}
func (x *Commit) GetRepository() string {
if x != nil {
return x.Repository
}
return ""
}
func (x *Commit) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
func (x *Commit) GetAuthor() string {
if x != nil {
return x.Author
}
return ""
}
func (x *Commit) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *Commit) GetSubject() string {
if x != nil {
return x.Subject
}
return ""
}
func (x *Commit) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *Commit) GetCommitBranch() string {
if x != nil {
return x.CommitBranch
}
return ""
}
func (x *Commit) GetCommitPosition() int32 {
if x != nil {
return x.CommitPosition
}
return 0
}
func (x *Commit) GetReviewUrl() string {
if x != nil {
return x.ReviewUrl
}
return ""
}
func (x *Commit) GetChangeId() string {
if x != nil {
return x.ChangeId
}
return ""
}
type CombinedCommit struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Main *Commit `protobuf:"bytes,1,opt,name=main,proto3" json:"main,omitempty"`
ModifiedDeps []*Commit `protobuf:"bytes,2,rep,name=modified_deps,json=modifiedDeps,proto3" json:"modified_deps,omitempty"`
}
func (x *CombinedCommit) Reset() {
*x = CombinedCommit{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CombinedCommit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CombinedCommit) ProtoMessage() {}
func (x *CombinedCommit) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CombinedCommit.ProtoReflect.Descriptor instead.
func (*CombinedCommit) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{5}
}
func (x *CombinedCommit) GetMain() *Commit {
if x != nil {
return x.Main
}
return nil
}
func (x *CombinedCommit) GetModifiedDeps() []*Commit {
if x != nil {
return x.ModifiedDeps
}
return nil
}
type BisectExecution struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Culprits []*CombinedCommit `protobuf:"bytes,2,rep,name=culprits,proto3" json:"culprits,omitempty"`
}
func (x *BisectExecution) Reset() {
*x = BisectExecution{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *BisectExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*BisectExecution) ProtoMessage() {}
func (x *BisectExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use BisectExecution.ProtoReflect.Descriptor instead.
func (*BisectExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{6}
}
func (x *BisectExecution) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *BisectExecution) GetCulprits() []*CombinedCommit {
if x != nil {
return x.Culprits
}
return nil
}
// SchedulePairwiseRequest contains the input to schedule a pairwise job used
// in regression and culprit verification. This request uses a subset of the params
// used in Pinpoint try jobs.
//
// The params used are defined here:
// https://source.chromium.org/chromium/chromium/src/+/main:third_party/catapult/dashboard/
// dashboard/services/workflow_service.py;drc=2b42d43ff4989182d28de40ad4ed0dc82356c0f7;l=35
// The params are defined based off of the keys used in catapult.
// TODO(sunxiaodi@): Add user-facing try job request params to this request.
// i.e. extra-browser-args
type SchedulePairwiseRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartGitHash string `protobuf:"bytes,1,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,2,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
// The builder/bot configuration name, this usually specifies the builder that can trigger
// the build.
Configuration string `protobuf:"bytes,3,opt,name=configuration,json=bot_name,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
Benchmark string `protobuf:"bytes,4,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
Story string `protobuf:"bytes,5,opt,name=story,proto3" json:"story,omitempty"`
Chart string `protobuf:"bytes,6,opt,name=chart,json=measurement,proto3" json:"chart,omitempty"`
Statistic string `protobuf:"bytes,7,opt,name=statistic,proto3" json:"statistic,omitempty"` // not included in the catapult request, which might be a mistake
Target string `protobuf:"bytes,8,opt,name=target,proto3" json:"target,omitempty"` // probably unnecessary, we can infer this
// The Monorail project ID.
Project string `protobuf:"bytes,9,opt,name=project,proto3" json:"project,omitempty"`
// The buganizer issue id number to post updates to.
BugId string `protobuf:"bytes,10,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
// The minimum number of test iterations run. Default is 30
InitialAttemptCount string `protobuf:"bytes,11,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,12,opt,name=improvement_direction,json=improvement_dir,proto3" json:"improvement_direction,omitempty"`
}
func (x *SchedulePairwiseRequest) Reset() {
*x = SchedulePairwiseRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SchedulePairwiseRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SchedulePairwiseRequest) ProtoMessage() {}
func (x *SchedulePairwiseRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SchedulePairwiseRequest.ProtoReflect.Descriptor instead.
func (*SchedulePairwiseRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{7}
}
func (x *SchedulePairwiseRequest) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *SchedulePairwiseRequest) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *SchedulePairwiseRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *SchedulePairwiseRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *SchedulePairwiseRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *SchedulePairwiseRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *SchedulePairwiseRequest) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *SchedulePairwiseRequest) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *SchedulePairwiseRequest) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *SchedulePairwiseRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *SchedulePairwiseRequest) GetInitialAttemptCount() string {
if x != nil {
return x.InitialAttemptCount
}
return ""
}
func (x *SchedulePairwiseRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
type PairwiseExecution struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// significant regression / culprit if true
Significant bool `protobuf:"varint,1,opt,name=significant,proto3" json:"significant,omitempty"`
JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Statistic *PairwiseExecution_WilcoxonResult `protobuf:"bytes,3,opt,name=statistic,proto3" json:"statistic,omitempty"`
// The culprit is only populated on culprit verification workflows
// and if the result is significant
Culprit *CombinedCommit `protobuf:"bytes,4,opt,name=culprit,proto3" json:"culprit,omitempty"`
}
func (x *PairwiseExecution) Reset() {
*x = PairwiseExecution{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PairwiseExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PairwiseExecution) ProtoMessage() {}
func (x *PairwiseExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PairwiseExecution.ProtoReflect.Descriptor instead.
func (*PairwiseExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{8}
}
func (x *PairwiseExecution) GetSignificant() bool {
if x != nil {
return x.Significant
}
return false
}
func (x *PairwiseExecution) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *PairwiseExecution) GetStatistic() *PairwiseExecution_WilcoxonResult {
if x != nil {
return x.Statistic
}
return nil
}
func (x *PairwiseExecution) GetCulprit() *CombinedCommit {
if x != nil {
return x.Culprit
}
return nil
}
// ScheduleCulpritFinderRequest contains the input to schedule an E2E anomaly to culprits
// workflow. This workflow consists of a regression verification step, a bisection to find
// culprits, and a culprit verification step.
// This workflow is also known as the sandwich verification workflow.
type ScheduleCulpritFinderRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
StartGitHash string `protobuf:"bytes,1,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,2,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
// The builder/bot configuration name.
Configuration string `protobuf:"bytes,3,opt,name=configuration,json=bot_name,proto3" json:"configuration,omitempty"`
// The Chrome perf benchmark test target.
Benchmark string `protobuf:"bytes,4,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// https://chromium.googlesource.com/catapult.git/+/e8367e6/telemetry
// The story is usually a test case that runs a set of actions in a certain scenario, and
// collects performance histogram data to analyze.
Story string `protobuf:"bytes,5,opt,name=story,proto3" json:"story,omitempty"`
Chart string `protobuf:"bytes,6,opt,name=chart,json=measurement,proto3" json:"chart,omitempty"`
// The statistic, if there is one, aggregates measurement values into a single data point.
Statistic string `protobuf:"bytes,7,opt,name=statistic,proto3" json:"statistic,omitempty"`
// The improvement direction of the measurement.
// Is either Up, Down, or Unknown.
ImprovementDirection string `protobuf:"bytes,8,opt,name=improvement_direction,json=improvement_dir,proto3" json:"improvement_direction,omitempty"`
// The comparison magnitude is the expected absolute difference of a potential regression.
// This parameter is used in bisection.
ComparisonMagnitude string `protobuf:"bytes,9,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
// The buganizer issue id number to post updates to. This is a legacy feature.
BugId string `protobuf:"bytes,10,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
}
func (x *ScheduleCulpritFinderRequest) Reset() {
*x = ScheduleCulpritFinderRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ScheduleCulpritFinderRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ScheduleCulpritFinderRequest) ProtoMessage() {}
func (x *ScheduleCulpritFinderRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ScheduleCulpritFinderRequest.ProtoReflect.Descriptor instead.
func (*ScheduleCulpritFinderRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{9}
}
func (x *ScheduleCulpritFinderRequest) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetComparisonMagnitude() string {
if x != nil {
return x.ComparisonMagnitude
}
return ""
}
func (x *ScheduleCulpritFinderRequest) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
type CulpritFinderExecution struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// If true, regression_verified means there is a regression
RegressionVerified bool `protobuf:"varint,1,opt,name=regression_verified,json=regressionVerified,proto3" json:"regression_verified,omitempty"`
Culprits []*CombinedCommit `protobuf:"bytes,2,rep,name=culprits,proto3" json:"culprits,omitempty"`
}
func (x *CulpritFinderExecution) Reset() {
*x = CulpritFinderExecution{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CulpritFinderExecution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CulpritFinderExecution) ProtoMessage() {}
func (x *CulpritFinderExecution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CulpritFinderExecution.ProtoReflect.Descriptor instead.
func (*CulpritFinderExecution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{10}
}
func (x *CulpritFinderExecution) GetRegressionVerified() bool {
if x != nil {
return x.RegressionVerified
}
return false
}
func (x *CulpritFinderExecution) GetCulprits() []*CombinedCommit {
if x != nil {
return x.Culprits
}
return nil
}
// See LegacyJobResponse below
type LegacyJobRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
}
func (x *LegacyJobRequest) Reset() {
*x = LegacyJobRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobRequest) ProtoMessage() {}
func (x *LegacyJobRequest) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobRequest.ProtoReflect.Descriptor instead.
func (*LegacyJobRequest) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{11}
}
func (x *LegacyJobRequest) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
// This is a direct mapping from /api/job in catapult.
//
// This is backward compatible support before the service in catapult is completely shut down.
// Note that there is not schema definition so the output structure is more or less
// a guess from the response. Example output:
// https://pinpoint-dot-chromeperf.appspot.com/api/job/102beaa5ee0000?o=STATE&?o=ESTIMATE
type LegacyJobResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"`
Configuration string `protobuf:"bytes,2,opt,name=configuration,proto3" json:"configuration,omitempty"`
ResultsUrl string `protobuf:"bytes,3,opt,name=results_url,json=resultsUrl,proto3" json:"results_url,omitempty"`
ImprovementDirection int32 `protobuf:"varint,4,opt,name=improvement_direction,json=improvementDirection,proto3" json:"improvement_direction,omitempty"`
Arguments *LegacyJobResponse_Argument `protobuf:"bytes,5,opt,name=arguments,proto3" json:"arguments,omitempty"`
BugId string `protobuf:"bytes,6,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
Project string `protobuf:"bytes,7,opt,name=project,proto3" json:"project,omitempty"`
ComparisonMode string `protobuf:"bytes,8,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
User string `protobuf:"bytes,10,opt,name=user,proto3" json:"user,omitempty"`
Created *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created,proto3" json:"created,omitempty"`
Updated *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated,proto3" json:"updated,omitempty"`
StartedTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"`
DifferenceCount int32 `protobuf:"varint,14,opt,name=difference_count,json=differenceCount,proto3" json:"difference_count,omitempty"`
Exception string `protobuf:"bytes,15,opt,name=exception,proto3" json:"exception,omitempty"`
Status string `protobuf:"bytes,16,opt,name=status,proto3" json:"status,omitempty"`
CancelReason string `protobuf:"bytes,17,opt,name=cancel_reason,json=cancelReason,proto3" json:"cancel_reason,omitempty"`
BatchId string `protobuf:"bytes,18,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
Bots []string `protobuf:"bytes,19,rep,name=bots,proto3" json:"bots,omitempty"`
Metric string `protobuf:"bytes,20,opt,name=metric,proto3" json:"metric,omitempty"`
Quests []string `protobuf:"bytes,21,rep,name=quests,proto3" json:"quests,omitempty"`
State []*LegacyJobResponse_State `protobuf:"bytes,22,rep,name=state,proto3" json:"state,omitempty"`
SkiaWorkflowUrl string `protobuf:"bytes,23,opt,name=skia_workflow_url,json=skiaWorkflowUrl,proto3" json:"skia_workflow_url,omitempty"`
}
func (x *LegacyJobResponse) Reset() {
*x = LegacyJobResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse) ProtoMessage() {}
func (x *LegacyJobResponse) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12}
}
func (x *LegacyJobResponse) GetJobId() string {
if x != nil {
return x.JobId
}
return ""
}
func (x *LegacyJobResponse) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *LegacyJobResponse) GetResultsUrl() string {
if x != nil {
return x.ResultsUrl
}
return ""
}
func (x *LegacyJobResponse) GetImprovementDirection() int32 {
if x != nil {
return x.ImprovementDirection
}
return 0
}
func (x *LegacyJobResponse) GetArguments() *LegacyJobResponse_Argument {
if x != nil {
return x.Arguments
}
return nil
}
func (x *LegacyJobResponse) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *LegacyJobResponse) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *LegacyJobResponse) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *LegacyJobResponse) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *LegacyJobResponse) GetUser() string {
if x != nil {
return x.User
}
return ""
}
func (x *LegacyJobResponse) GetCreated() *timestamppb.Timestamp {
if x != nil {
return x.Created
}
return nil
}
func (x *LegacyJobResponse) GetUpdated() *timestamppb.Timestamp {
if x != nil {
return x.Updated
}
return nil
}
func (x *LegacyJobResponse) GetStartedTime() *timestamppb.Timestamp {
if x != nil {
return x.StartedTime
}
return nil
}
func (x *LegacyJobResponse) GetDifferenceCount() int32 {
if x != nil {
return x.DifferenceCount
}
return 0
}
func (x *LegacyJobResponse) GetException() string {
if x != nil {
return x.Exception
}
return ""
}
func (x *LegacyJobResponse) GetStatus() string {
if x != nil {
return x.Status
}
return ""
}
func (x *LegacyJobResponse) GetCancelReason() string {
if x != nil {
return x.CancelReason
}
return ""
}
func (x *LegacyJobResponse) GetBatchId() string {
if x != nil {
return x.BatchId
}
return ""
}
func (x *LegacyJobResponse) GetBots() []string {
if x != nil {
return x.Bots
}
return nil
}
func (x *LegacyJobResponse) GetMetric() string {
if x != nil {
return x.Metric
}
return ""
}
func (x *LegacyJobResponse) GetQuests() []string {
if x != nil {
return x.Quests
}
return nil
}
func (x *LegacyJobResponse) GetState() []*LegacyJobResponse_State {
if x != nil {
return x.State
}
return nil
}
func (x *LegacyJobResponse) GetSkiaWorkflowUrl() string {
if x != nil {
return x.SkiaWorkflowUrl
}
return ""
}
type PairwiseExecution_WilcoxonResult struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PValue float64 `protobuf:"fixed64,1,opt,name=p_value,json=pValue,proto3" json:"p_value,omitempty"`
ConfidenceIntervalLower float64 `protobuf:"fixed64,2,opt,name=confidence_interval_lower,json=confidenceIntervalLower,proto3" json:"confidence_interval_lower,omitempty"`
ConfidenceIntervalHigher float64 `protobuf:"fixed64,3,opt,name=confidence_interval_higher,json=confidenceIntervalHigher,proto3" json:"confidence_interval_higher,omitempty"`
ControlMedian float64 `protobuf:"fixed64,4,opt,name=control_median,json=controlMedian,proto3" json:"control_median,omitempty"`
TreatmentMedian float64 `protobuf:"fixed64,5,opt,name=treatment_median,json=treatmentMedian,proto3" json:"treatment_median,omitempty"`
}
func (x *PairwiseExecution_WilcoxonResult) Reset() {
*x = PairwiseExecution_WilcoxonResult{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PairwiseExecution_WilcoxonResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PairwiseExecution_WilcoxonResult) ProtoMessage() {}
func (x *PairwiseExecution_WilcoxonResult) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PairwiseExecution_WilcoxonResult.ProtoReflect.Descriptor instead.
func (*PairwiseExecution_WilcoxonResult) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{8, 0}
}
func (x *PairwiseExecution_WilcoxonResult) GetPValue() float64 {
if x != nil {
return x.PValue
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetConfidenceIntervalLower() float64 {
if x != nil {
return x.ConfidenceIntervalLower
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetConfidenceIntervalHigher() float64 {
if x != nil {
return x.ConfidenceIntervalHigher
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetControlMedian() float64 {
if x != nil {
return x.ControlMedian
}
return 0
}
func (x *PairwiseExecution_WilcoxonResult) GetTreatmentMedian() float64 {
if x != nil {
return x.TreatmentMedian
}
return 0
}
type LegacyJobResponse_Argument struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ComparisonMode string `protobuf:"bytes,1,opt,name=comparison_mode,json=comparisonMode,proto3" json:"comparison_mode,omitempty"`
Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
StartGitHash string `protobuf:"bytes,3,opt,name=start_git_hash,json=startGitHash,proto3" json:"start_git_hash,omitempty"`
EndGitHash string `protobuf:"bytes,4,opt,name=end_git_hash,json=endGitHash,proto3" json:"end_git_hash,omitempty"`
Trace string `protobuf:"bytes,5,opt,name=trace,proto3" json:"trace,omitempty"`
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
InitialAttemptCount int32 `protobuf:"varint,7,opt,name=initial_attempt_count,json=initialAttemptCount,proto3" json:"initial_attempt_count,omitempty"`
Configuration string `protobuf:"bytes,8,opt,name=configuration,proto3" json:"configuration,omitempty"`
Benchmark string `protobuf:"bytes,9,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
Story string `protobuf:"bytes,10,opt,name=story,proto3" json:"story,omitempty"`
StoryTags string `protobuf:"bytes,11,opt,name=story_tags,json=storyTags,proto3" json:"story_tags,omitempty"`
Chart string `protobuf:"bytes,12,opt,name=chart,proto3" json:"chart,omitempty"`
Statistic string `protobuf:"bytes,13,opt,name=statistic,proto3" json:"statistic,omitempty"`
ComparisonMagnitude float64 `protobuf:"fixed64,14,opt,name=comparison_magnitude,json=comparisonMagnitude,proto3" json:"comparison_magnitude,omitempty"`
ExtraTestArgs string `protobuf:"bytes,15,opt,name=extra_test_args,json=extraTestArgs,proto3" json:"extra_test_args,omitempty"`
Pin string `protobuf:"bytes,16,opt,name=pin,proto3" json:"pin,omitempty"`
Project string `protobuf:"bytes,17,opt,name=project,proto3" json:"project,omitempty"`
BugId string `protobuf:"bytes,18,opt,name=bug_id,json=bugId,proto3" json:"bug_id,omitempty"`
BatchId string `protobuf:"bytes,19,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"`
}
func (x *LegacyJobResponse_Argument) Reset() {
*x = LegacyJobResponse_Argument{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_Argument) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_Argument) ProtoMessage() {}
func (x *LegacyJobResponse_Argument) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_Argument.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_Argument) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 0}
}
func (x *LegacyJobResponse_Argument) GetComparisonMode() string {
if x != nil {
return x.ComparisonMode
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTarget() string {
if x != nil {
return x.Target
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStartGitHash() string {
if x != nil {
return x.StartGitHash
}
return ""
}
func (x *LegacyJobResponse_Argument) GetEndGitHash() string {
if x != nil {
return x.EndGitHash
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTrace() string {
if x != nil {
return x.Trace
}
return ""
}
func (x *LegacyJobResponse_Argument) GetTags() map[string]string {
if x != nil {
return x.Tags
}
return nil
}
func (x *LegacyJobResponse_Argument) GetInitialAttemptCount() int32 {
if x != nil {
return x.InitialAttemptCount
}
return 0
}
func (x *LegacyJobResponse_Argument) GetConfiguration() string {
if x != nil {
return x.Configuration
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStory() string {
if x != nil {
return x.Story
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStoryTags() string {
if x != nil {
return x.StoryTags
}
return ""
}
func (x *LegacyJobResponse_Argument) GetChart() string {
if x != nil {
return x.Chart
}
return ""
}
func (x *LegacyJobResponse_Argument) GetStatistic() string {
if x != nil {
return x.Statistic
}
return ""
}
func (x *LegacyJobResponse_Argument) GetComparisonMagnitude() float64 {
if x != nil {
return x.ComparisonMagnitude
}
return 0
}
func (x *LegacyJobResponse_Argument) GetExtraTestArgs() string {
if x != nil {
return x.ExtraTestArgs
}
return ""
}
func (x *LegacyJobResponse_Argument) GetPin() string {
if x != nil {
return x.Pin
}
return ""
}
func (x *LegacyJobResponse_Argument) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBugId() string {
if x != nil {
return x.BugId
}
return ""
}
func (x *LegacyJobResponse_Argument) GetBatchId() string {
if x != nil {
return x.BatchId
}
return ""
}
type LegacyJobResponse_State struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Change *LegacyJobResponse_State_Change `protobuf:"bytes,1,opt,name=change,proto3" json:"change,omitempty"`
Attempts []*LegacyJobResponse_State_Attempt `protobuf:"bytes,2,rep,name=attempts,proto3" json:"attempts,omitempty"`
Comparisons *LegacyJobResponse_State_Comparison `protobuf:"bytes,3,opt,name=comparisons,proto3" json:"comparisons,omitempty"`
Values []float64 `protobuf:"fixed64,4,rep,packed,name=values,proto3" json:"values,omitempty"`
}
func (x *LegacyJobResponse_State) Reset() {
*x = LegacyJobResponse_State{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State) ProtoMessage() {}
func (x *LegacyJobResponse_State) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1}
}
func (x *LegacyJobResponse_State) GetChange() *LegacyJobResponse_State_Change {
if x != nil {
return x.Change
}
return nil
}
func (x *LegacyJobResponse_State) GetAttempts() []*LegacyJobResponse_State_Attempt {
if x != nil {
return x.Attempts
}
return nil
}
func (x *LegacyJobResponse_State) GetComparisons() *LegacyJobResponse_State_Comparison {
if x != nil {
return x.Comparisons
}
return nil
}
func (x *LegacyJobResponse_State) GetValues() []float64 {
if x != nil {
return x.Values
}
return nil
}
type LegacyJobResponse_State_Change struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Commits []*Commit `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"`
}
func (x *LegacyJobResponse_State_Change) Reset() {
*x = LegacyJobResponse_State_Change{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State_Change) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Change) ProtoMessage() {}
func (x *LegacyJobResponse_State_Change) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Change.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Change) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1, 0}
}
func (x *LegacyJobResponse_State_Change) GetCommits() []*Commit {
if x != nil {
return x.Commits
}
return nil
}
type LegacyJobResponse_State_Attempt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Executions []*LegacyJobResponse_State_Attempt_Execution `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"`
// This key is not actually supported by Catapult's response here, but
// the values of each attempt is needed to populate data back on the UI.
ResultValues []float64 `protobuf:"fixed64,2,rep,packed,name=result_values,json=resultValues,proto3" json:"result_values,omitempty"`
}
func (x *LegacyJobResponse_State_Attempt) Reset() {
*x = LegacyJobResponse_State_Attempt{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State_Attempt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1, 1}
}
func (x *LegacyJobResponse_State_Attempt) GetExecutions() []*LegacyJobResponse_State_Attempt_Execution {
if x != nil {
return x.Executions
}
return nil
}
func (x *LegacyJobResponse_State_Attempt) GetResultValues() []float64 {
if x != nil {
return x.ResultValues
}
return nil
}
type LegacyJobResponse_State_Comparison struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Next string `protobuf:"bytes,1,opt,name=next,proto3" json:"next,omitempty"`
Prev string `protobuf:"bytes,2,opt,name=prev,proto3" json:"prev,omitempty"`
}
func (x *LegacyJobResponse_State_Comparison) Reset() {
*x = LegacyJobResponse_State_Comparison{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State_Comparison) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Comparison) ProtoMessage() {}
func (x *LegacyJobResponse_State_Comparison) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Comparison.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Comparison) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1, 2}
}
func (x *LegacyJobResponse_State_Comparison) GetNext() string {
if x != nil {
return x.Next
}
return ""
}
func (x *LegacyJobResponse_State_Comparison) GetPrev() string {
if x != nil {
return x.Prev
}
return ""
}
type LegacyJobResponse_State_Attempt_Execution struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Completed bool `protobuf:"varint,1,opt,name=completed,proto3" json:"completed,omitempty"`
Exception string `protobuf:"bytes,2,opt,name=exception,proto3" json:"exception,omitempty"`
Details []*LegacyJobResponse_State_Attempt_Execution_Detail `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
}
func (x *LegacyJobResponse_State_Attempt_Execution) Reset() {
*x = LegacyJobResponse_State_Attempt_Execution{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State_Attempt_Execution) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt_Execution) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt_Execution) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt_Execution.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt_Execution) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1, 1, 0}
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetCompleted() bool {
if x != nil {
return x.Completed
}
return false
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetException() string {
if x != nil {
return x.Exception
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution) GetDetails() []*LegacyJobResponse_State_Attempt_Execution_Detail {
if x != nil {
return x.Details
}
return nil
}
type LegacyJobResponse_State_Attempt_Execution_Detail struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) Reset() {
*x = LegacyJobResponse_State_Attempt_Execution_Detail{}
if protoimpl.UnsafeEnabled {
mi := &file_service_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LegacyJobResponse_State_Attempt_Execution_Detail) ProtoMessage() {}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) ProtoReflect() protoreflect.Message {
mi := &file_service_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LegacyJobResponse_State_Attempt_Execution_Detail.ProtoReflect.Descriptor instead.
func (*LegacyJobResponse_State_Attempt_Execution_Detail) Descriptor() ([]byte, []int) {
return file_service_proto_rawDescGZIP(), []int{12, 1, 1, 0, 0}
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetKey() string {
if x != nil {
return x.Key
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetValue() string {
if x != nil {
return x.Value
}
return ""
}
func (x *LegacyJobResponse_State_Attempt_Execution_Detail) GetUrl() string {
if x != nil {
return x.Url
}
return ""
}
var File_service_proto protoreflect.FileDescriptor
var file_service_proto_rawDesc = []byte{
0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
0x0b, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x04, 0x0a, 0x15,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69,
0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x24,
0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x47, 0x69, 0x74,
0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f,
0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x47,
0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
0x74, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69,
0x73, 0x74, 0x69, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73,
0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x61,
0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x6e, 0x18, 0x0a,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f,
0x6a, 0x65, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a,
0x65, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x67, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73,
0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x2d,
0x0a, 0x12, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x67, 0x67, 0x72,
0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1d, 0x0a,
0x0a, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28,
0x09, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15,
0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x69,
0x74, 0x69, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
0x74, 0x61, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x12, 0x20,
0x01, 0x28, 0x09, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74,
0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2b, 0x0a, 0x12, 0x51, 0x75, 0x65,
0x72, 0x79, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f,
0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49,
0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x40, 0x0a, 0x11, 0x43, 0x61, 0x6e,
0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15,
0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xe1, 0x02, 0x0a, 0x06,
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x69, 0x74, 0x48, 0x61, 0x73,
0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72,
0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x04, 0x20,
0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x07, 0x63,
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f,
0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x75, 0x72,
0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x55,
0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x22,
0x73, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
0x74, 0x12, 0x27, 0x0a, 0x04, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f,
0x6d, 0x6d, 0x69, 0x74, 0x52, 0x04, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x6f,
0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x13, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64,
0x44, 0x65, 0x70, 0x73, 0x22, 0x61, 0x0a, 0x0f, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x45, 0x78,
0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x37,
0x0a, 0x08, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43,
0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x63,
0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x73, 0x22, 0x9d, 0x03, 0x0a, 0x17, 0x53, 0x63, 0x68, 0x65,
0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x69, 0x74,
0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61,
0x72, 0x74, 0x47, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64,
0x5f, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0d, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79,
0x12, 0x1a, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61,
0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67,
0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06,
0x62, 0x75, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75,
0x67, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61,
0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d,
0x70, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x72, 0x6f,
0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d,
0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x22, 0xc8, 0x03, 0x0a, 0x11, 0x50, 0x61, 0x69, 0x72,
0x77, 0x69, 0x73, 0x65, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a,
0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6e, 0x74, 0x12,
0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
0x74, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x69, 0x6e, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65,
0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x57, 0x69, 0x6c, 0x63, 0x6f, 0x78,
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73,
0x74, 0x69, 0x63, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e,
0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
0x74, 0x52, 0x07, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x1a, 0xf5, 0x01, 0x0a, 0x0e, 0x57,
0x69, 0x6c, 0x63, 0x6f, 0x78, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 0x0a,
0x07, 0x70, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06,
0x70, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64,
0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6c, 0x6f,
0x77, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x64, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4c, 0x6f, 0x77,
0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65,
0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72,
0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e,
0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x48, 0x69, 0x67, 0x68, 0x65, 0x72,
0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x6d, 0x65, 0x64, 0x69,
0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
0x6c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x72, 0x65, 0x61, 0x74,
0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
0x01, 0x52, 0x0f, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69,
0x61, 0x6e, 0x22, 0xef, 0x02, 0x0a, 0x1c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43,
0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x69, 0x74,
0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61,
0x72, 0x74, 0x47, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64,
0x5f, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0a, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1f, 0x0a, 0x0d, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09,
0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79,
0x12, 0x1a, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x12, 0x2e, 0x0a, 0x15, 0x69, 0x6d,
0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x72, 0x6f,
0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f,
0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75,
0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72,
0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x15, 0x0a,
0x06, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62,
0x75, 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x16, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74,
0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x2f, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65,
0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65,
0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64,
0x12, 0x37, 0x0a, 0x08, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52,
0x08, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x73, 0x22, 0x29, 0x0a, 0x10, 0x4c, 0x65, 0x67,
0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a,
0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a,
0x6f, 0x62, 0x49, 0x64, 0x22, 0x90, 0x12, 0x0a, 0x11, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a,
0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f,
0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49,
0x64, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x73, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x69, 0x6d, 0x70, 0x72,
0x6f, 0x76, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65,
0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a,
0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x27, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d,
0x65, 0x6e, 0x74, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x70,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72,
0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69,
0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e,
0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09,
0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x07,
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d,
0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f,
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x69, 0x66,
0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09,
0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74,
0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68,
0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68,
0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09,
0x52, 0x04, 0x62, 0x6f, 0x74, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16,
0x0a, 0x06, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06,
0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61,
0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6b, 0x69, 0x61, 0x5f, 0x77, 0x6f, 0x72, 0x6b, 0x66,
0x6c, 0x6f, 0x77, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73,
0x6b, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x55, 0x72, 0x6c, 0x1a, 0xc3,
0x05, 0x0a, 0x08, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63,
0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x47, 0x69, 0x74, 0x48, 0x61,
0x73, 0x68, 0x12, 0x20, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x74,
0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x61,
0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e,
0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67,
0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x74,
0x65, 0x6d, 0x70, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x62,
0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12,
0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x61, 0x67, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x68, 0x61, 0x72, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63,
0x68, 0x61, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69,
0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
0x69, 0x63, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e,
0x5f, 0x6d, 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01,
0x52, 0x13, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x4d, 0x61, 0x67, 0x6e,
0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x74,
0x65, 0x73, 0x74, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x65, 0x78, 0x74, 0x72, 0x61, 0x54, 0x65, 0x73, 0x74, 0x41, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a,
0x03, 0x70, 0x69, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x6e, 0x12,
0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09,
0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x75, 0x67,
0x5f, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x67, 0x49, 0x64,
0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01,
0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x54,
0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe0, 0x05, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43,
0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b,
0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67,
0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53,
0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61,
0x6e, 0x67, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x65,
0x6d, 0x70, 0x74, 0x52, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x51, 0x0a,
0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69,
0x73, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x73,
0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x01,
0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x37, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x6e,
0x67, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76,
0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74,
0x73, 0x1a, 0xed, 0x02, 0x0a, 0x07, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x56, 0x0a,
0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x36, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e,
0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e,
0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0c, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0xe4, 0x01, 0x0a, 0x09, 0x45,
0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70,
0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d,
0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74,
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x63, 0x65, 0x70,
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74,
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x65,
0x6d, 0x70, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x42, 0x0a,
0x06, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12,
0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72,
0x6c, 0x1a, 0x34, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x69, 0x73, 0x6f, 0x6e, 0x12,
0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x65, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x04, 0x70, 0x72, 0x65, 0x76, 0x32, 0xeb, 0x05, 0x0a, 0x08, 0x50, 0x69, 0x6e, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x2e, 0x70, 0x69, 0x6e,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
0x65, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x73,
0x65, 0x63, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x31, 0x5a, 0x17, 0x22, 0x15, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e,
0x74, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x16, 0x2f,
0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x69, 0x73, 0x65,
0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x09, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a,
0x6f, 0x62, 0x12, 0x1d, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e,
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x70, 0x69, 0x6e, 0x70,
0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x6b,
0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
0x12, 0x1f, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e,
0x42, 0x69, 0x73, 0x65, 0x63, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x70, 0x0a, 0x0e, 0x4c,
0x65, 0x67, 0x61, 0x63, 0x79, 0x4a, 0x6f, 0x62, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x2e,
0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61,
0x63, 0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70,
0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x67, 0x61, 0x63,
0x79, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3,
0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f,
0x76, 0x31, 0x2f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x2d, 0x6a, 0x6f, 0x62, 0x12, 0x77, 0x0a,
0x10, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73,
0x65, 0x12, 0x24, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e,
0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69,
0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x45, 0x78,
0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x22,
0x15, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x61,
0x69, 0x72, 0x77, 0x69, 0x73, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x15, 0x53, 0x63, 0x68, 0x65, 0x64,
0x75, 0x6c, 0x65, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72,
0x12, 0x29, 0x2e, 0x70, 0x69, 0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x53,
0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x46, 0x69,
0x6e, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x69,
0x6e, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x6c, 0x70, 0x72, 0x69,
0x74, 0x46, 0x69, 0x6e, 0x64, 0x65, 0x72, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x1b, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x75, 0x6c, 0x70, 0x72, 0x69, 0x74, 0x2d, 0x66,
0x69, 0x6e, 0x64, 0x65, 0x72, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x6f, 0x2e, 0x73, 0x6b, 0x69, 0x61,
0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x70, 0x69, 0x6e, 0x70, 0x6f,
0x69, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x69, 0x6e,
0x70, 0x6f, 0x69, 0x6e, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_service_proto_rawDescOnce sync.Once
file_service_proto_rawDescData = file_service_proto_rawDesc
)
func file_service_proto_rawDescGZIP() []byte {
file_service_proto_rawDescOnce.Do(func() {
file_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_proto_rawDescData)
})
return file_service_proto_rawDescData
}
var file_service_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_service_proto_goTypes = []interface{}{
(*ScheduleBisectRequest)(nil), // 0: pinpoint.v1.ScheduleBisectRequest
(*QueryBisectRequest)(nil), // 1: pinpoint.v1.QueryBisectRequest
(*CancelJobRequest)(nil), // 2: pinpoint.v1.CancelJobRequest
(*CancelJobResponse)(nil), // 3: pinpoint.v1.CancelJobResponse
(*Commit)(nil), // 4: pinpoint.v1.Commit
(*CombinedCommit)(nil), // 5: pinpoint.v1.CombinedCommit
(*BisectExecution)(nil), // 6: pinpoint.v1.BisectExecution
(*SchedulePairwiseRequest)(nil), // 7: pinpoint.v1.SchedulePairwiseRequest
(*PairwiseExecution)(nil), // 8: pinpoint.v1.PairwiseExecution
(*ScheduleCulpritFinderRequest)(nil), // 9: pinpoint.v1.ScheduleCulpritFinderRequest
(*CulpritFinderExecution)(nil), // 10: pinpoint.v1.CulpritFinderExecution
(*LegacyJobRequest)(nil), // 11: pinpoint.v1.LegacyJobRequest
(*LegacyJobResponse)(nil), // 12: pinpoint.v1.LegacyJobResponse
(*PairwiseExecution_WilcoxonResult)(nil), // 13: pinpoint.v1.PairwiseExecution.WilcoxonResult
(*LegacyJobResponse_Argument)(nil), // 14: pinpoint.v1.LegacyJobResponse.Argument
(*LegacyJobResponse_State)(nil), // 15: pinpoint.v1.LegacyJobResponse.State
nil, // 16: pinpoint.v1.LegacyJobResponse.Argument.TagsEntry
(*LegacyJobResponse_State_Change)(nil), // 17: pinpoint.v1.LegacyJobResponse.State.Change
(*LegacyJobResponse_State_Attempt)(nil), // 18: pinpoint.v1.LegacyJobResponse.State.Attempt
(*LegacyJobResponse_State_Comparison)(nil), // 19: pinpoint.v1.LegacyJobResponse.State.Comparison
(*LegacyJobResponse_State_Attempt_Execution)(nil), // 20: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution
(*LegacyJobResponse_State_Attempt_Execution_Detail)(nil), // 21: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.Detail
(*timestamppb.Timestamp)(nil), // 22: google.protobuf.Timestamp
}
var file_service_proto_depIdxs = []int32{
22, // 0: pinpoint.v1.Commit.created:type_name -> google.protobuf.Timestamp
4, // 1: pinpoint.v1.CombinedCommit.main:type_name -> pinpoint.v1.Commit
4, // 2: pinpoint.v1.CombinedCommit.modified_deps:type_name -> pinpoint.v1.Commit
5, // 3: pinpoint.v1.BisectExecution.culprits:type_name -> pinpoint.v1.CombinedCommit
13, // 4: pinpoint.v1.PairwiseExecution.statistic:type_name -> pinpoint.v1.PairwiseExecution.WilcoxonResult
5, // 5: pinpoint.v1.PairwiseExecution.culprit:type_name -> pinpoint.v1.CombinedCommit
5, // 6: pinpoint.v1.CulpritFinderExecution.culprits:type_name -> pinpoint.v1.CombinedCommit
14, // 7: pinpoint.v1.LegacyJobResponse.arguments:type_name -> pinpoint.v1.LegacyJobResponse.Argument
22, // 8: pinpoint.v1.LegacyJobResponse.created:type_name -> google.protobuf.Timestamp
22, // 9: pinpoint.v1.LegacyJobResponse.updated:type_name -> google.protobuf.Timestamp
22, // 10: pinpoint.v1.LegacyJobResponse.started_time:type_name -> google.protobuf.Timestamp
15, // 11: pinpoint.v1.LegacyJobResponse.state:type_name -> pinpoint.v1.LegacyJobResponse.State
16, // 12: pinpoint.v1.LegacyJobResponse.Argument.tags:type_name -> pinpoint.v1.LegacyJobResponse.Argument.TagsEntry
17, // 13: pinpoint.v1.LegacyJobResponse.State.change:type_name -> pinpoint.v1.LegacyJobResponse.State.Change
18, // 14: pinpoint.v1.LegacyJobResponse.State.attempts:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt
19, // 15: pinpoint.v1.LegacyJobResponse.State.comparisons:type_name -> pinpoint.v1.LegacyJobResponse.State.Comparison
4, // 16: pinpoint.v1.LegacyJobResponse.State.Change.commits:type_name -> pinpoint.v1.Commit
20, // 17: pinpoint.v1.LegacyJobResponse.State.Attempt.executions:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt.Execution
21, // 18: pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.details:type_name -> pinpoint.v1.LegacyJobResponse.State.Attempt.Execution.Detail
0, // 19: pinpoint.v1.Pinpoint.ScheduleBisection:input_type -> pinpoint.v1.ScheduleBisectRequest
2, // 20: pinpoint.v1.Pinpoint.CancelJob:input_type -> pinpoint.v1.CancelJobRequest
1, // 21: pinpoint.v1.Pinpoint.QueryBisection:input_type -> pinpoint.v1.QueryBisectRequest
11, // 22: pinpoint.v1.Pinpoint.LegacyJobQuery:input_type -> pinpoint.v1.LegacyJobRequest
7, // 23: pinpoint.v1.Pinpoint.SchedulePairwise:input_type -> pinpoint.v1.SchedulePairwiseRequest
9, // 24: pinpoint.v1.Pinpoint.ScheduleCulpritFinder:input_type -> pinpoint.v1.ScheduleCulpritFinderRequest
6, // 25: pinpoint.v1.Pinpoint.ScheduleBisection:output_type -> pinpoint.v1.BisectExecution
3, // 26: pinpoint.v1.Pinpoint.CancelJob:output_type -> pinpoint.v1.CancelJobResponse
6, // 27: pinpoint.v1.Pinpoint.QueryBisection:output_type -> pinpoint.v1.BisectExecution
12, // 28: pinpoint.v1.Pinpoint.LegacyJobQuery:output_type -> pinpoint.v1.LegacyJobResponse
8, // 29: pinpoint.v1.Pinpoint.SchedulePairwise:output_type -> pinpoint.v1.PairwiseExecution
10, // 30: pinpoint.v1.Pinpoint.ScheduleCulpritFinder:output_type -> pinpoint.v1.CulpritFinderExecution
25, // [25:31] is the sub-list for method output_type
19, // [19:25] is the sub-list for method input_type
19, // [19:19] is the sub-list for extension type_name
19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
}
func init() { file_service_proto_init() }
func file_service_proto_init() {
if File_service_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleBisectRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryBisectRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CancelJobRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CancelJobResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Commit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CombinedCommit); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BisectExecution); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SchedulePairwiseRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PairwiseExecution); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ScheduleCulpritFinderRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CulpritFinderExecution); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PairwiseExecution_WilcoxonResult); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_Argument); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State_Change); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State_Attempt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State_Comparison); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State_Attempt_Execution); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_service_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LegacyJobResponse_State_Attempt_Execution_Detail); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_service_proto_rawDesc,
NumEnums: 0,
NumMessages: 22,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_service_proto_goTypes,
DependencyIndexes: file_service_proto_depIdxs,
MessageInfos: file_service_proto_msgTypes,
}.Build()
File_service_proto = out.File
file_service_proto_rawDesc = nil
file_service_proto_goTypes = nil
file_service_proto_depIdxs = nil
}