diff --git a/horizon/internal/externalcall/gcs_client.go b/horizon/internal/externalcall/gcs_client.go
index 2eed96a3..344fa972 100644
--- a/horizon/internal/externalcall/gcs_client.go
+++ b/horizon/internal/externalcall/gcs_client.go
@@ -9,14 +9,15 @@ import (
"os"
"path"
"path/filepath"
- "regexp"
"strings"
"sync"
"time"
"cloud.google.com/go/storage"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
"github.com/rs/zerolog/log"
"google.golang.org/api/iterator"
+ "google.golang.org/protobuf/encoding/prototext"
)
type GCSClientInterface interface {
@@ -269,7 +270,10 @@ func (g *GCSClient) transferSingleConfigFile(objAttrs storage.ObjectAttrs, srcBu
// Replace model name
log.Info().Msgf("Processing config.pbtxt file: %s -> %s", objAttrs.Name, destObjectPath)
- modified := replaceModelNameInConfig(content, destModelName)
+ modified, err := ReplaceModelNameInConfig(content, destModelName)
+ if err != nil {
+ return fmt.Errorf("failed to replace model name: %w", err)
+ }
// Upload modified content
destWriter := g.client.Bucket(destBucket).Object(destObjectPath).NewWriter(g.ctx)
@@ -465,49 +469,36 @@ func (g *GCSClient) TransferAndDeleteFolder(srcBucket, srcPath, srcModelName, de
// replaceModelNameInConfig modifies only the top-level `name:` field in config.pbtxt content
// It replaces only the first occurrence to avoid modifying nested names in inputs/outputs/instance_groups
-func replaceModelNameInConfig(data []byte, destModelName string) []byte {
- content := string(data)
- lines := strings.Split(content, "\n")
-
- for i, line := range lines {
- trimmed := strings.TrimSpace(line)
- // Match top-level "name:" field - should be at the start of line (or minimal indentation)
- // Skip nested names which are typically indented with 2+ spaces
- if strings.HasPrefix(trimmed, "name:") {
- // Check indentation: top-level fields have minimal/no indentation
- leadingWhitespace := len(line) - len(strings.TrimLeft(line, " \t"))
- // Skip if heavily indented (nested field)
- if leadingWhitespace >= 2 {
- continue
- }
+func ReplaceModelNameInConfig(data []byte, destModelName string) ([]byte, error) {
+ if destModelName == "" {
+ return nil, fmt.Errorf("destination model name cannot be empty")
+ }
- // Match the first occurrence of name: "value" pattern
- namePattern := regexp.MustCompile(`name\s*:\s*"([^"]+)"`)
- matches := namePattern.FindStringSubmatch(line)
- if len(matches) > 1 {
- oldModelName := matches[1]
- // Replace only the FIRST occurrence to avoid replacing nested names
- loc := namePattern.FindStringIndex(line)
- if loc != nil {
- // Replace only the matched portion (first occurrence)
- before := line[:loc[0]]
- matched := line[loc[0]:loc[1]]
- after := line[loc[1]:]
- // Replace the value inside quotes while preserving the "name:" format
- valuePattern := regexp.MustCompile(`"([^"]+)"`)
- valueReplaced := valuePattern.ReplaceAllString(matched, fmt.Sprintf(`"%s"`, destModelName))
- lines[i] = before + valueReplaced + after
- } else {
- // Fallback: replace all (shouldn't happen with valid input)
- lines[i] = namePattern.ReplaceAllString(line, fmt.Sprintf(`name: "%s"`, destModelName))
- }
- log.Info().Msgf("Replacing top-level model name in config.pbtxt: '%s' -> '%s'", oldModelName, destModelName)
- break
- }
- }
+ var modelConfig protogen.ModelConfig
+
+ if err := prototext.Unmarshal(data, &modelConfig); err != nil {
+ return nil, fmt.Errorf("failed to parse config.pbtxt: %w", err)
}
- return []byte(strings.Join(lines, "\n"))
+ oldModelName := modelConfig.Name
+ modelConfig.Name = destModelName
+
+ opts := prototext.MarshalOptions{
+ Multiline: true,
+ Indent: " ",
+ }
+
+ out, err := opts.Marshal(&modelConfig)
+ if err != nil {
+ return nil, fmt.Errorf("failed to marshal updated config.pbtxt: %w", err)
+ }
+
+ log.Info().
+ Str("old_model_name", oldModelName).
+ Str("new_model_name", destModelName).
+ Msg("replaced top-level model name in config.pbtxt")
+
+ return out, nil
}
func (g *GCSClient) ListFolders(bucket, prefix string) ([]string, error) {
diff --git a/horizon/internal/externalcall/gcs_client_test.go b/horizon/internal/externalcall/gcs_client_test.go
index f92ed913..b1c4a662 100644
--- a/horizon/internal/externalcall/gcs_client_test.go
+++ b/horizon/internal/externalcall/gcs_client_test.go
@@ -10,50 +10,60 @@ import (
func TestReplaceModelNameInConfig(t *testing.T) {
tests := []struct {
- name string
- data []byte
- destModelName string
- expectContains string
+ name string
+ data []byte
+ destModelName string
+ wantTopLevel string
+ wantNested string
+ expectError bool
}{
{
name: "replaces top-level name only",
- data: []byte(`name: "old_model"
+ data: []byte(`
+name: "old_model"
instance_group {
- name: "old_model"
+ name: "nested_model"
}
`),
- destModelName: "new_model",
- expectContains: `name: "new_model"`,
+ destModelName: "new_model",
+ wantTopLevel: `"new_model"`,
+ wantNested: "nested_model",
},
{
- name: "preserves nested name with indentation",
- data: []byte(`name: "top_level"
- instance_group {
- name: "nested_name"
- }
-`),
- destModelName: "replaced",
- expectContains: `name: "replaced"`,
+ name: "single line config",
+ data: []byte(`name: "single_model"` + "\n"),
+ destModelName: "replaced_model",
+ wantTopLevel: `"replaced_model"`,
},
{
- name: "single line config",
- data: []byte(`name: "single_model"` + "\n"),
- destModelName: "replaced_model",
- expectContains: `name: "replaced_model"`,
+ name: "empty dest model name returns error",
+ data: []byte(`name: "some_model"`),
+ destModelName: "",
+ expectError: true,
},
{
- name: "no name field returns unchanged",
- data: []byte(`platform: "tensorflow"
-version: 1
-`),
+ name: "malformed pbtxt returns error",
+ data: []byte(`name: "unclosed`),
destModelName: "any",
- expectContains: `platform: "tensorflow"`,
+ expectError: true,
},
}
+
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
- got := replaceModelNameInConfig(tt.data, tt.destModelName)
- assert.Contains(t, string(got), tt.expectContains)
+ got, err := ReplaceModelNameInConfig(tt.data, tt.destModelName)
+
+ if tt.expectError {
+ require.Error(t, err)
+ return
+ }
+
+ require.NoError(t, err)
+ assert.Contains(t, string(got), tt.wantTopLevel)
+
+ if tt.wantNested != "" {
+ assert.Contains(t, string(got), tt.wantNested)
+ }
})
}
}
diff --git a/horizon/internal/predator/handler/model.go b/horizon/internal/predator/handler/model.go
index 5d750423..bab79875 100644
--- a/horizon/internal/predator/handler/model.go
+++ b/horizon/internal/predator/handler/model.go
@@ -3,6 +3,8 @@ package handler
import (
"encoding/json"
"time"
+
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
)
type Payload struct {
@@ -169,7 +171,7 @@ type ModelParamsResponse struct {
Backend string `json:"backend"`
DynamicBatchingEnabled bool `json:"dynamic_batching_enabled"`
Platform string `json:"platform"`
- EnsembleScheduling *ModelEnsembling `json:"ensemble_scheduling,omitempty"`
+ EnsembleScheduling *protogen.ModelEnsembling `json:"ensemble_scheduling,omitempty"`
}
type RequestGenerationRequest struct {
diff --git a/horizon/internal/predator/handler/predator.go b/horizon/internal/predator/handler/predator.go
index a2459cdf..73870b84 100644
--- a/horizon/internal/predator/handler/predator.go
+++ b/horizon/internal/predator/handler/predator.go
@@ -36,6 +36,7 @@ import (
"github.com/Meesho/BharatMLStack/horizon/pkg/random"
"github.com/Meesho/BharatMLStack/horizon/pkg/serializer"
"github.com/rs/zerolog/log"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
)
type Predator struct {
@@ -353,7 +354,7 @@ func (p *Predator) FetchModelConfig(req FetchModelConfigRequest) (ModelParamsRes
}
}
- var modelConfig ModelConfig
+ var modelConfig protogen.ModelConfig
if err := prototext.Unmarshal(configData, &modelConfig); err != nil {
return ModelParamsResponse{}, http.StatusInternalServerError, fmt.Errorf(errUnmarshalProtoFormat, err)
}
@@ -391,7 +392,7 @@ func parseModelPath(modelPath string) (bucket, objectPath string) {
return parts[0], parts[1]
}
-func validateModelConfig(cfg *ModelConfig) error {
+func validateModelConfig(cfg *protogen.ModelConfig) error {
switch {
case cfg.Name == constant.EmptyString:
return errors.New(errModelNameMissing)
@@ -423,7 +424,7 @@ func convertFields(name string, dims []int64, dataType string) (IO, bool) {
}, true
}
-func convertInputWithFeatures(fields []*ModelInput, featureMap map[string][]string) []IO {
+func convertInputWithFeatures(fields []*protogen.ModelInput, featureMap map[string][]string) []IO {
ios := make([]IO, 0, len(fields))
for _, f := range fields {
if io, ok := convertFields(f.Name, f.Dims, f.DataType.String()); ok {
@@ -437,7 +438,7 @@ func convertInputWithFeatures(fields []*ModelInput, featureMap map[string][]stri
return ios
}
-func convertOutput(fields []*ModelOutput) []IO {
+func convertOutput(fields []*protogen.ModelOutput) []IO {
ios := make([]IO, 0, len(fields))
for _, f := range fields {
if io, ok := convertFields(f.Name, f.Dims, f.DataType.String()); ok {
@@ -447,7 +448,7 @@ func convertOutput(fields []*ModelOutput) []IO {
return ios
}
-func createModelParamsResponse(modelConfig *ModelConfig, objectPath string, inputs, outputs []IO) ModelParamsResponse {
+func createModelParamsResponse(modelConfig *protogen.ModelConfig, objectPath string, inputs, outputs []IO) ModelParamsResponse {
var resp ModelParamsResponse
if len(modelConfig.InstanceGroup) > 0 {
diff --git a/horizon/internal/predator/handler/predator_approval.go b/horizon/internal/predator/handler/predator_approval.go
index fce8ab0a..623fb7d4 100644
--- a/horizon/internal/predator/handler/predator_approval.go
+++ b/horizon/internal/predator/handler/predator_approval.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
+ "path"
"strings"
"time"
@@ -13,7 +14,9 @@ import (
"github.com/Meesho/BharatMLStack/horizon/internal/repositories/sql/predatorconfig"
"github.com/Meesho/BharatMLStack/horizon/internal/repositories/sql/predatorrequest"
"github.com/rs/zerolog/log"
+ "google.golang.org/protobuf/encoding/prototext"
"gorm.io/gorm"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
)
func (p *Predator) processRequest(requestIdPayloadMap map[uint]*Payload, predatorRequestList []predatorrequest.PredatorRequest, req ApproveRequest) {
@@ -179,6 +182,10 @@ func (p *Predator) processEditGCSCopyStage(requestIdPayloadMap map[uint]*Payload
// Extract model folder name from source path and copy to target with the same model name
pathSegments := strings.Split(strings.TrimSuffix(sourcePath, "/"), "/")
sourceModelName := pathSegments[len(pathSegments)-1]
+ if sourceModelName == "" {
+ log.Error().Msgf("Source model name is empty for request ID %d (path: %s)", requestModel.RequestID, normalizedModelSource)
+ return transferredGcsModelData, fmt.Errorf("source model name is empty for request ID %d", requestModel.RequestID)
+ }
sourceBasePath := strings.TrimSuffix(sourcePath, "/"+sourceModelName)
if isNotProd {
@@ -191,6 +198,12 @@ func (p *Predator) processEditGCSCopyStage(requestIdPayloadMap map[uint]*Payload
} else {
configBucket := pred.GcsConfigBucket
configPath := pred.GcsConfigBasePath
+ if configBucket != "" && configPath != "" && payload.MetaData.InstanceCount > 0 {
+ if err := p.updateInstanceCountInConfigSource(configBucket, configPath, sourceModelName, payload.MetaData.InstanceCount); err != nil {
+ log.Error().Err(err).Msgf("Failed to update instance count in config-source for model %s", sourceModelName)
+ return transferredGcsModelData, err
+ }
+ }
if err := p.GcsClient.TransferFolderWithSplitSources(
sourceBucket, sourceBasePath, configBucket, configPath,
sourceModelName, targetBucket, targetPath, modelName,
@@ -212,6 +225,53 @@ func (p *Predator) processEditGCSCopyStage(requestIdPayloadMap map[uint]*Payload
return transferredGcsModelData, nil
}
+func (p *Predator) updateInstanceCountInConfigSource(bucket, basePath, modelName string, instanceCount int) error {
+ if modelName == "" {
+ return fmt.Errorf("model name is empty, required to update instance count in config-source")
+ }
+
+ configPath := path.Join(basePath, modelName, configFile)
+ configData, err := p.GcsClient.ReadFile(bucket, configPath)
+ if err != nil {
+ return fmt.Errorf("failed to read config.pbtxt from config-source for model %s: %w", modelName, err)
+ }
+
+ var modelConfig protogen.ModelConfig
+ if err := prototext.Unmarshal(configData, &modelConfig); err != nil {
+ return fmt.Errorf("failed to parse config.pbtxt from config-source for model %s: %w", modelName, err)
+ }
+ if len(modelConfig.InstanceGroup) == 0 {
+ return fmt.Errorf("%s (model %s)", errNoInstanceGroup, modelName)
+ }
+
+ currentCount := modelConfig.InstanceGroup[0].Count
+ if currentCount == int32(instanceCount) {
+ log.Info().
+ Str("model", modelName).
+ Int("instance_count", instanceCount).
+ Msg("instance_count unchanged, skipping config update")
+ return nil
+ }
+
+ modelConfig.InstanceGroup[0].Count = int32(instanceCount)
+
+ opts := prototext.MarshalOptions{
+ Multiline: true,
+ Indent: " ",
+ }
+
+ newConfigData, err := opts.Marshal(&modelConfig)
+ if err != nil {
+ return fmt.Errorf("failed to marshal config.pbtxt for model %s: %w", modelName, err)
+ }
+ if err := p.GcsClient.UploadFile(bucket, configPath, newConfigData); err != nil {
+ return fmt.Errorf("failed to upload config.pbtxt to config-source for model %s: %w", modelName, err)
+ }
+
+ log.Info().Msgf("Updated instance_count to %d in config-source for model %s", instanceCount, modelName)
+ return nil
+}
+
// processEditDBUpdateStage updates predator config for edit approval
// This updates the existing predator config with new config.pbtxt and metadata.json changes
func (p *Predator) processEditDBUpdateStage(requestIdPayloadMap map[uint]*Payload, predatorRequestList []predatorrequest.PredatorRequest, approvedBy string) error {
@@ -498,6 +558,19 @@ func (p *Predator) processGCSCloneStage(requestIdPayloadMap map[uint]*Payload, p
return transferredGcsModelData, err
}
} else {
+ payload := requestIdPayloadMap[requestModel.RequestID]
+ if payload == nil {
+ log.Error().Msgf("Payload not found for request ID %d", requestModel.RequestID)
+ return transferredGcsModelData, fmt.Errorf("payload not found for request ID %d", requestModel.RequestID)
+ }
+ if requestModel.RequestType == PromoteRequestType &&
+ pred.GcsConfigBucket != "" && pred.GcsConfigBasePath != "" &&
+ payload.MetaData.InstanceCount > 0 {
+ if err := p.updateInstanceCountInConfigSource(pred.GcsConfigBucket, pred.GcsConfigBasePath, srcModelName, payload.MetaData.InstanceCount); err != nil {
+ log.Error().Err(err).Msgf("Failed to update instance count in config-source for model %s", srcModelName)
+ return transferredGcsModelData, err
+ }
+ }
if err := p.GcsClient.TransferFolderWithSplitSources(
srcBucket, srcPath, pred.GcsConfigBucket, pred.GcsConfigBasePath,
srcModelName, destBucket, destPath, destModelName,
diff --git a/horizon/internal/predator/handler/predator_approval_test.go b/horizon/internal/predator/handler/predator_approval_test.go
new file mode 100644
index 00000000..e8d9871a
--- /dev/null
+++ b/horizon/internal/predator/handler/predator_approval_test.go
@@ -0,0 +1,344 @@
+package handler
+
+import (
+ "encoding/json"
+ "fmt"
+ "path"
+ "sync"
+ "testing"
+
+ "github.com/Meesho/BharatMLStack/horizon/internal/externalcall"
+ pred "github.com/Meesho/BharatMLStack/horizon/internal/predator"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
+ "github.com/Meesho/BharatMLStack/horizon/internal/repositories/sql/predatorrequest"
+ "github.com/Meesho/BharatMLStack/horizon/internal/repositories/sql/servicedeployableconfig"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "google.golang.org/protobuf/encoding/prototext"
+ "gorm.io/gorm"
+)
+
+// approvalMockGCSClient records ReadFile/UploadFile for instance-count update tests.
+type approvalMockGCSClient struct {
+ readFileFunc func(bucket, objectPath string) ([]byte, error)
+ uploadFileFunc func(bucket, objectPath string, data []byte) error
+ // uploadCalls records (bucket, path) and uploaded data for assertions
+ uploadCalls []uploadCall
+ mu sync.Mutex
+}
+
+type uploadCall struct {
+ Bucket string
+ Path string
+ Data []byte
+}
+
+func (m *approvalMockGCSClient) ReadFile(bucket, objectPath string) ([]byte, error) {
+ if m.readFileFunc != nil {
+ return m.readFileFunc(bucket, objectPath)
+ }
+ return nil, fmt.Errorf("ReadFile not mocked")
+}
+
+func (m *approvalMockGCSClient) UploadFile(bucket, objectPath string, data []byte) error {
+ m.mu.Lock()
+ m.uploadCalls = append(m.uploadCalls, uploadCall{Bucket: bucket, Path: objectPath, Data: data})
+ m.mu.Unlock()
+ if m.uploadFileFunc != nil {
+ return m.uploadFileFunc(bucket, objectPath, data)
+ }
+ return nil
+}
+
+func (m *approvalMockGCSClient) TransferFolder(_, _, _, _, _, _ string) error { return nil }
+func (m *approvalMockGCSClient) TransferAndDeleteFolder(_, _, _, _, _, _ string) error { return nil }
+func (m *approvalMockGCSClient) TransferFolderWithSplitSources(_, _, _, _, _, _, _, _ string) error {
+ return nil
+}
+func (m *approvalMockGCSClient) DeleteFolder(_, _, _ string) error { return nil }
+func (m *approvalMockGCSClient) ListFolders(_, _ string) ([]string, error) { return nil, nil }
+func (m *approvalMockGCSClient) CheckFileExists(_, _ string) (bool, error) { return false, nil }
+func (m *approvalMockGCSClient) CheckFolderExists(_, _ string) (bool, error) { return false, nil }
+func (m *approvalMockGCSClient) UploadFolderFromLocal(_, _, _ string) error { return nil }
+func (m *approvalMockGCSClient) GetFolderInfo(_, _ string) (*externalcall.GCSFolderInfo, error) {
+ return nil, nil
+}
+func (m *approvalMockGCSClient) ListFoldersWithTimestamp(_, _ string) ([]externalcall.GCSFolderInfo, error) {
+ return nil, nil
+}
+func (m *approvalMockGCSClient) FindFileWithSuffix(_, _, _ string) (bool, string, error) {
+ return false, "", nil
+}
+func (m *approvalMockGCSClient) ListFilesWithSuffix(_, _, _ string) ([]string, error) { return nil, nil }
+
+// validConfigPbtxt returns protobuf text for ModelConfig with one instance group count.
+func validConfigPbtxt(count int32) []byte {
+ cfg := &protogen.ModelConfig{
+ InstanceGroup: []*protogen.ModelInstanceGroup{
+ {Count: count},
+ },
+ }
+ data, err := prototext.Marshal(cfg)
+ if err != nil {
+ panic(err)
+ }
+ return data
+}
+
+func TestPredator_UpdateInstanceCountInConfigSource(t *testing.T) {
+ const bucket, basePath, modelName = "cfg-bucket", "cfg/base", "my_model"
+ const newCount = 2
+
+ readFileCalls := 0
+ mock := &approvalMockGCSClient{
+ readFileFunc: func(b, p string) ([]byte, error) {
+ readFileCalls++
+ expectPath := path.Join(basePath, modelName, configFile)
+ assert.Equal(t, bucket, b)
+ assert.Equal(t, expectPath, p)
+ return validConfigPbtxt(1), nil
+ },
+ }
+
+ p := &Predator{GcsClient: mock}
+ err := p.updateInstanceCountInConfigSource(bucket, basePath, modelName, newCount)
+ require.NoError(t, err)
+
+ require.Len(t, mock.uploadCalls, 1)
+ uc := mock.uploadCalls[0]
+ assert.Equal(t, bucket, uc.Bucket)
+ assert.Equal(t, path.Join(basePath, modelName, configFile), uc.Path)
+
+ var uploaded protogen.ModelConfig
+ err = prototext.Unmarshal(uc.Data, &uploaded)
+ require.NoError(t, err)
+ require.Len(t, uploaded.InstanceGroup, 1)
+ assert.Equal(t, int32(newCount), uploaded.InstanceGroup[0].Count)
+ assert.Equal(t, 1, readFileCalls)
+}
+
+func TestPredator_UpdateInstanceCountInConfigSource_UnchangedSkipsUpload(t *testing.T) {
+ const bucket, basePath, modelName = "b", "p", "m"
+ const count = 1
+
+ mock := &approvalMockGCSClient{
+ readFileFunc: func(_, _ string) ([]byte, error) {
+ return validConfigPbtxt(count), nil
+ },
+ }
+
+ p := &Predator{GcsClient: mock}
+ err := p.updateInstanceCountInConfigSource(bucket, basePath, modelName, count)
+ require.NoError(t, err)
+
+ // Count unchanged -> no upload
+ assert.Len(t, mock.uploadCalls, 0)
+}
+
+func TestPredator_ProcessGCSCloneStage_Promote_Production_UpdatesInstanceCount(t *testing.T) {
+ // Set production and config-source so the Promote instance-count path runs
+ saveAppEnv := pred.AppEnv
+ saveGcsConfigBucket := pred.GcsConfigBucket
+ saveGcsConfigBasePath := pred.GcsConfigBasePath
+ saveGcsModelBucket := pred.GcsModelBucket
+ saveGcsModelBasePath := pred.GcsModelBasePath
+ defer func() {
+ pred.AppEnv = saveAppEnv
+ pred.GcsConfigBucket = saveGcsConfigBucket
+ pred.GcsConfigBasePath = saveGcsConfigBasePath
+ pred.GcsModelBucket = saveGcsModelBucket
+ pred.GcsModelBasePath = saveGcsModelBasePath
+ }()
+
+ pred.AppEnv = "prd"
+ pred.GcsConfigBucket = "cfg-bucket"
+ pred.GcsConfigBasePath = "cfg-path"
+ pred.GcsModelBucket = "model-bucket"
+ pred.GcsModelBasePath = "model-path"
+
+ const requestID uint = 1
+ const deployableID = 42
+ const instanceCount = 2
+ payload := Payload{
+ ModelName: "promoted_model",
+ ModelSource: "gs://model-bucket/model-path/source_model",
+ MetaData: MetaData{InstanceCount: instanceCount},
+ ConfigMapping: ConfigMapping{ServiceDeployableID: uint(deployableID)},
+ }
+ payloadBytes, _ := json.Marshal(payload)
+
+ deployableConfig := PredatorDeployableConfig{GCSBucketPath: "gs://dest-bucket/dest-path/"}
+ deployableConfigBytes, _ := json.Marshal(deployableConfig)
+
+ mockGCS := &approvalMockGCSClient{
+ readFileFunc: func(bucket, objectPath string) ([]byte, error) {
+ // Config-source read for updateInstanceCountInConfigSource
+ return validConfigPbtxt(1), nil
+ },
+ }
+
+ mockDeployableRepo := &predatorMockServiceDeployableRepo{
+ getById: func(id int) (*servicedeployableconfig.ServiceDeployableConfig, error) {
+ if id != deployableID {
+ return nil, fmt.Errorf("unexpected id %d", id)
+ }
+ return &servicedeployableconfig.ServiceDeployableConfig{
+ ID: id,
+ Config: deployableConfigBytes,
+ }, nil
+ },
+ }
+
+ requestIdPayloadMap := map[uint]*Payload{requestID: &payload}
+ predatorRequestList := []predatorrequest.PredatorRequest{
+ {
+ RequestID: requestID,
+ ModelName: payload.ModelName,
+ RequestType: PromoteRequestType,
+ Payload: string(payloadBytes),
+ RequestStage: predatorStagePending,
+ },
+ }
+ req := ApproveRequest{ApprovedBy: "test@test.com"}
+
+ // Mock repo so updateRequestStatusAndStage does not panic
+ mockRequestRepo := &approvalMockRequestRepo{updateMany: func(_ []predatorrequest.PredatorRequest) error { return nil }}
+
+ p := &Predator{
+ GcsClient: mockGCS,
+ ServiceDeployableRepo: mockDeployableRepo,
+ Repo: mockRequestRepo,
+ }
+
+ transferred, err := p.processGCSCloneStage(requestIdPayloadMap, predatorRequestList, req)
+ require.NoError(t, err)
+
+ // Instance count update should have written to config-source (UploadFile called)
+ require.GreaterOrEqual(t, len(mockGCS.uploadCalls), 1, "expected at least one UploadFile call for instance count update")
+ var found bool
+ for _, uc := range mockGCS.uploadCalls {
+ var cfg protogen.ModelConfig
+ if err := prototext.Unmarshal(uc.Data, &cfg); err != nil || len(cfg.InstanceGroup) == 0 {
+ continue
+ }
+ if cfg.InstanceGroup[0].Count == int32(instanceCount) {
+ found = true
+ break
+ }
+ }
+ assert.True(t, found, "expected UploadFile with instance_count %d", instanceCount)
+ assert.Len(t, transferred, 1)
+ assert.Equal(t, "dest-bucket", transferred[0].Bucket)
+ assert.True(t, transferred[0].Path == "dest-path" || transferred[0].Path == "dest-path/", "Path: %s", transferred[0].Path)
+ assert.Equal(t, payload.ModelName, transferred[0].Name)
+}
+
+func TestPredator_ProcessGCSCloneStage_Onboard_Production_DoesNotUpdateInstanceCount(t *testing.T) {
+ saveAppEnv := pred.AppEnv
+ saveGcsConfigBucket := pred.GcsConfigBucket
+ saveGcsConfigBasePath := pred.GcsConfigBasePath
+ saveGcsModelBucket := pred.GcsModelBucket
+ saveGcsModelBasePath := pred.GcsModelBasePath
+ defer func() {
+ pred.AppEnv = saveAppEnv
+ pred.GcsConfigBucket = saveGcsConfigBucket
+ pred.GcsConfigBasePath = saveGcsConfigBasePath
+ pred.GcsModelBucket = saveGcsModelBucket
+ pred.GcsModelBasePath = saveGcsModelBasePath
+ }()
+
+ pred.AppEnv = "prd"
+ pred.GcsConfigBucket = "cfg-bucket"
+ pred.GcsConfigBasePath = "cfg-path"
+ pred.GcsModelBucket = "model-bucket"
+ pred.GcsModelBasePath = "model-path"
+
+ const requestID uint = 1
+ const deployableID = 42
+ payload := Payload{
+ ModelName: "onboard_model",
+ ModelSource: "gs://model-bucket/model-path/onboard_model",
+ MetaData: MetaData{InstanceCount: 1},
+ ConfigMapping: ConfigMapping{ServiceDeployableID: uint(deployableID)},
+ }
+ payloadBytes, _ := json.Marshal(payload)
+
+ deployableConfig := PredatorDeployableConfig{GCSBucketPath: "gs://dest-bucket/dest-path/"}
+ deployableConfigBytes, _ := json.Marshal(deployableConfig)
+
+ mockGCS := &approvalMockGCSClient{
+ readFileFunc: func(_, _ string) ([]byte, error) {
+ t.Error("ReadFile should not be called for Onboard (no instance count update)")
+ return nil, fmt.Errorf("unexpected ReadFile")
+ },
+ }
+
+ mockDeployableRepo := &predatorMockServiceDeployableRepo{
+ getById: func(id int) (*servicedeployableconfig.ServiceDeployableConfig, error) {
+ if id != deployableID {
+ return nil, fmt.Errorf("unexpected id %d", id)
+ }
+ return &servicedeployableconfig.ServiceDeployableConfig{
+ ID: id,
+ Config: deployableConfigBytes,
+ }, nil
+ },
+ }
+
+ requestIdPayloadMap := map[uint]*Payload{requestID: &payload}
+ predatorRequestList := []predatorrequest.PredatorRequest{
+ {
+ RequestID: requestID,
+ ModelName: payload.ModelName,
+ RequestType: OnboardRequestType,
+ Payload: string(payloadBytes),
+ RequestStage: predatorStagePending,
+ },
+ }
+ req := ApproveRequest{ApprovedBy: "test@test.com"}
+
+ mockRequestRepo := &approvalMockRequestRepo{updateMany: func(_ []predatorrequest.PredatorRequest) error { return nil }}
+
+ p := &Predator{
+ GcsClient: mockGCS,
+ ServiceDeployableRepo: mockDeployableRepo,
+ Repo: mockRequestRepo,
+ }
+
+ _, err := p.processGCSCloneStage(requestIdPayloadMap, predatorRequestList, req)
+ require.NoError(t, err)
+
+ // Onboard in production does not call updateInstanceCountInConfigSource, so no config UploadFile
+ assert.Len(t, mockGCS.uploadCalls, 0, "Onboard should not update instance count in config-source")
+}
+
+// approvalMockRequestRepo implements predatorrequest.PredatorRequestRepository for processGCSCloneStage tests.
+type approvalMockRequestRepo struct {
+ updateMany func([]predatorrequest.PredatorRequest) error
+}
+
+func (m *approvalMockRequestRepo) UpdateMany(reqs []predatorrequest.PredatorRequest) error {
+ if m.updateMany != nil {
+ return m.updateMany(reqs)
+ }
+ return nil
+}
+
+func (m *approvalMockRequestRepo) GetAll() ([]predatorrequest.PredatorRequest, error) { return nil, nil }
+func (m *approvalMockRequestRepo) GetByID(uint) (*predatorrequest.PredatorRequest, error) { return nil, nil }
+func (m *approvalMockRequestRepo) GetAllByEmail(string) ([]predatorrequest.PredatorRequest, error) { return nil, nil }
+func (m *approvalMockRequestRepo) Create(*predatorrequest.PredatorRequest) error { return nil }
+func (m *approvalMockRequestRepo) Update(*predatorrequest.PredatorRequest) error { return nil }
+func (m *approvalMockRequestRepo) Delete(uint) error { return nil }
+func (m *approvalMockRequestRepo) DB() *gorm.DB { return nil }
+func (m *approvalMockRequestRepo) UpdateStatusAndStage(*gorm.DB, *predatorrequest.PredatorRequest) error {
+ return nil
+}
+func (m *approvalMockRequestRepo) ActiveModelRequestExistForRequestType([]string, string) (bool, error) {
+ return false, nil
+}
+func (m *approvalMockRequestRepo) WithTx(*gorm.DB) predatorrequest.PredatorRequestRepository { return m }
+func (m *approvalMockRequestRepo) CreateMany([]predatorrequest.PredatorRequest) error { return nil }
+func (m *approvalMockRequestRepo) GetAllByGroupID(uint) ([]predatorrequest.PredatorRequest, error) {
+ return nil, nil
+}
diff --git a/horizon/internal/predator/handler/predator_upload.go b/horizon/internal/predator/handler/predator_upload.go
index c6b1160b..aab81630 100644
--- a/horizon/internal/predator/handler/predator_upload.go
+++ b/horizon/internal/predator/handler/predator_upload.go
@@ -11,6 +11,7 @@ import (
"github.com/Meesho/BharatMLStack/horizon/internal/externalcall"
pred "github.com/Meesho/BharatMLStack/horizon/internal/predator"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
"github.com/rs/zerolog/log"
"google.golang.org/protobuf/encoding/prototext"
)
@@ -89,8 +90,10 @@ func (p *Predator) copyConfigToProdConfigSource(gcsPath, modelName string) error
return fmt.Errorf("failed to read config.pbtxt from source: %w", err)
}
- updatedConfigData := p.replaceModelNameInConfigPreservingFormat(configData, modelName)
-
+ updatedConfigData, err := externalcall.ReplaceModelNameInConfig(configData, modelName)
+ if err != nil {
+ return fmt.Errorf("failed to replace model name in config: %w", err)
+ }
destConfigPath := path.Join(pred.GcsConfigBasePath, modelName, configFile)
if err := p.GcsClient.UploadFile(pred.GcsConfigBucket, destConfigPath, updatedConfigData); err != nil {
return fmt.Errorf("failed to upload config.pbtxt to config source: %w", err)
@@ -448,7 +451,7 @@ func (p *Predator) validateModelConfiguration(gcsPath string) error {
return fmt.Errorf("failed to read config.pbtxt from %s/%s: %w", srcBucket, configPath, err)
}
- var modelConfig ModelConfig
+ var modelConfig protogen.ModelConfig
if err := prototext.Unmarshal(configData, &modelConfig); err != nil {
return fmt.Errorf("failed to parse config.pbtxt as proto: %w", err)
}
@@ -502,8 +505,10 @@ func (p *Predator) copyConfigToNewNameInConfigSource(oldModelName, newModelName
return fmt.Errorf("failed to read config.pbtxt from %s: %w", srcConfigPath, err)
}
- updatedConfigData := p.replaceModelNameInConfigPreservingFormat(configData, newModelName)
-
+ updatedConfigData, err := externalcall.ReplaceModelNameInConfig(configData, newModelName)
+ if err != nil {
+ return fmt.Errorf("failed to replace model name in config: %w", err)
+ }
if err := p.GcsClient.UploadFile(pred.GcsConfigBucket, destConfigPath, updatedConfigData); err != nil {
return fmt.Errorf("failed to upload config.pbtxt to %s: %w", destConfigPath, err)
}
@@ -566,7 +571,7 @@ func (p *Predator) validateNoLoggerOrPrintStatements(gcsPath string) error {
return fmt.Errorf("failed to read config.pbtxt for logger/print check: %w", err)
}
- var modelConfig ModelConfig
+ var modelConfig protogen.ModelConfig
if err := prototext.Unmarshal(configData, &modelConfig); err != nil {
return fmt.Errorf("failed to parse config.pbtxt for logger/print check: %w", err)
}
@@ -771,7 +776,7 @@ func stripInlineComment(line string) string {
}
// isEnsembleModel checks if the model configuration represents a Triton ensemble model.
-func isEnsembleModel(config *ModelConfig) bool {
+func isEnsembleModel(config *protogen.ModelConfig) bool {
if config.GetBackend() == ensembleBackend {
return true
}
@@ -786,6 +791,6 @@ func isEnsembleModel(config *ModelConfig) bool {
}
// isPythonBackendModel checks if the model config specifies "python" as its backend.
-func isPythonBackendModel(config *ModelConfig) bool {
+func isPythonBackendModel(config *protogen.ModelConfig) bool {
return config.GetBackend() == pythonBackend
}
diff --git a/horizon/internal/predator/handler/predator_upload_test.go b/horizon/internal/predator/handler/predator_upload_test.go
index 1cf36efe..c2dac7ea 100644
--- a/horizon/internal/predator/handler/predator_upload_test.go
+++ b/horizon/internal/predator/handler/predator_upload_test.go
@@ -6,6 +6,7 @@ import (
"testing"
"github.com/Meesho/BharatMLStack/horizon/internal/externalcall"
+ "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -57,42 +58,42 @@ func (m *mockGCSClient) FindFileWithSuffix(_, _, _ string) (bool, string, error)
func TestIsEnsembleModel(t *testing.T) {
tests := []struct {
name string
- config *ModelConfig
+ config *protogen.ModelConfig
want bool
}{
{
name: "backend is ensemble",
- config: &ModelConfig{Backend: "ensemble"},
+ config: &protogen.ModelConfig{Backend: "ensemble"},
want: true,
},
{
name: "platform is ensemble",
- config: &ModelConfig{Platform: "ensemble"},
+ config: &protogen.ModelConfig{Platform: "ensemble"},
want: true,
},
{
name: "ensemble_scheduling is set",
- config: &ModelConfig{
+ config: &protogen.ModelConfig{
Backend: "python",
- SchedulingChoice: &ModelConfig_EnsembleScheduling{
- EnsembleScheduling: &ModelEnsembling{},
+ SchedulingChoice: &protogen.ModelConfig_EnsembleScheduling{
+ EnsembleScheduling: &protogen.ModelEnsembling{},
},
},
want: true,
},
{
name: "python backend - not ensemble",
- config: &ModelConfig{Backend: "python"},
+ config: &protogen.ModelConfig{Backend: "python"},
want: false,
},
{
name: "onnxruntime backend - not ensemble",
- config: &ModelConfig{Backend: "onnxruntime"},
+ config: &protogen.ModelConfig{Backend: "onnxruntime"},
want: false,
},
{
name: "empty config - not ensemble",
- config: &ModelConfig{},
+ config: &protogen.ModelConfig{},
want: false,
},
}
@@ -109,32 +110,32 @@ func TestIsEnsembleModel(t *testing.T) {
func TestIsPythonBackendModel(t *testing.T) {
tests := []struct {
name string
- config *ModelConfig
+ config *protogen.ModelConfig
want bool
}{
{
name: "python backend",
- config: &ModelConfig{Backend: "python"},
+ config: &protogen.ModelConfig{Backend: "python"},
want: true,
},
{
name: "onnxruntime backend",
- config: &ModelConfig{Backend: "onnxruntime"},
+ config: &protogen.ModelConfig{Backend: "onnxruntime"},
want: false,
},
{
name: "tensorrt_llm backend",
- config: &ModelConfig{Backend: "tensorrt_llm"},
+ config: &protogen.ModelConfig{Backend: "tensorrt_llm"},
want: false,
},
{
name: "ensemble backend",
- config: &ModelConfig{Backend: "ensemble"},
+ config: &protogen.ModelConfig{Backend: "ensemble"},
want: false,
},
{
name: "empty backend",
- config: &ModelConfig{},
+ config: &protogen.ModelConfig{},
want: false,
},
}
diff --git a/horizon/internal/predator/proto/model_config.proto b/horizon/internal/predator/proto/model_config.proto
index f6ef8944..f9149096 100644
--- a/horizon/internal/predator/proto/model_config.proto
+++ b/horizon/internal/predator/proto/model_config.proto
@@ -2,7 +2,7 @@ syntax = "proto3";
package proto;
-option go_package = "horizon/internal/predator";
+option go_package = "github.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogen";
enum DataType {
TYPE_INVALID = 0;
diff --git a/horizon/internal/predator/handler/model_config.pb.go b/horizon/internal/predator/proto/protogen/model_config.pb.go
similarity index 60%
rename from horizon/internal/predator/handler/model_config.pb.go
rename to horizon/internal/predator/proto/protogen/model_config.pb.go
index 8d3f485f..c8c48024 100644
--- a/horizon/internal/predator/handler/model_config.pb.go
+++ b/horizon/internal/predator/proto/protogen/model_config.pb.go
@@ -1,16 +1,17 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.36.1
-// protoc v5.29.3
-// source: proto/model_config.proto
+// protoc-gen-go v1.36.11
+// protoc v6.33.4
+// source: internal/predator/proto/model_config.proto
-package handler
+package protogen
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
+ unsafe "unsafe"
)
const (
@@ -89,11 +90,11 @@ func (x DataType) String() string {
}
func (DataType) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[0].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[0].Descriptor()
}
func (DataType) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[0]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[0]
}
func (x DataType) Number() protoreflect.EnumNumber {
@@ -102,7 +103,7 @@ func (x DataType) Number() protoreflect.EnumNumber {
// Deprecated: Use DataType.Descriptor instead.
func (DataType) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{0}
}
type ModelInstanceGroup_Kind int32
@@ -141,11 +142,11 @@ func (x ModelInstanceGroup_Kind) String() string {
}
func (ModelInstanceGroup_Kind) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[1].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[1].Descriptor()
}
func (ModelInstanceGroup_Kind) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[1]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[1]
}
func (x ModelInstanceGroup_Kind) Number() protoreflect.EnumNumber {
@@ -154,7 +155,7 @@ func (x ModelInstanceGroup_Kind) Number() protoreflect.EnumNumber {
// Deprecated: Use ModelInstanceGroup_Kind.Descriptor instead.
func (ModelInstanceGroup_Kind) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{1, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{1, 0}
}
type ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind int32
@@ -184,11 +185,11 @@ func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) String() string
}
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[2].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[2].Descriptor()
}
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[2]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[2]
}
func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Number() protoreflect.EnumNumber {
@@ -197,7 +198,7 @@ func (x ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) Number() protore
// Deprecated: Use ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind.Descriptor instead.
func (ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{1, 0, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{1, 0, 0}
}
type ModelInput_Format int32
@@ -233,11 +234,11 @@ func (x ModelInput_Format) String() string {
}
func (ModelInput_Format) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[3].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[3].Descriptor()
}
func (ModelInput_Format) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[3]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[3]
}
func (x ModelInput_Format) Number() protoreflect.EnumNumber {
@@ -246,7 +247,7 @@ func (x ModelInput_Format) Number() protoreflect.EnumNumber {
// Deprecated: Use ModelInput_Format.Descriptor instead.
func (ModelInput_Format) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{3, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{3, 0}
}
type BatchInput_Kind int32
@@ -291,11 +292,11 @@ func (x BatchInput_Kind) String() string {
}
func (BatchInput_Kind) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[4].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[4].Descriptor()
}
func (BatchInput_Kind) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[4]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[4]
}
func (x BatchInput_Kind) Number() protoreflect.EnumNumber {
@@ -304,7 +305,7 @@ func (x BatchInput_Kind) Number() protoreflect.EnumNumber {
// Deprecated: Use BatchInput_Kind.Descriptor instead.
func (BatchInput_Kind) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{5, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{5, 0}
}
type BatchOutput_Kind int32
@@ -334,11 +335,11 @@ func (x BatchOutput_Kind) String() string {
}
func (BatchOutput_Kind) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[5].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[5].Descriptor()
}
func (BatchOutput_Kind) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[5]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[5]
}
func (x BatchOutput_Kind) Number() protoreflect.EnumNumber {
@@ -347,7 +348,7 @@ func (x BatchOutput_Kind) Number() protoreflect.EnumNumber {
// Deprecated: Use BatchOutput_Kind.Descriptor instead.
func (BatchOutput_Kind) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{6, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{6, 0}
}
type ModelOptimizationPolicy_ModelPriority int32
@@ -383,11 +384,11 @@ func (x ModelOptimizationPolicy_ModelPriority) String() string {
}
func (ModelOptimizationPolicy_ModelPriority) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[6].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[6].Descriptor()
}
func (ModelOptimizationPolicy_ModelPriority) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[6]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[6]
}
func (x ModelOptimizationPolicy_ModelPriority) Number() protoreflect.EnumNumber {
@@ -396,7 +397,7 @@ func (x ModelOptimizationPolicy_ModelPriority) Number() protoreflect.EnumNumber
// Deprecated: Use ModelOptimizationPolicy_ModelPriority.Descriptor instead.
func (ModelOptimizationPolicy_ModelPriority) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 0}
}
type ModelQueuePolicy_TimeoutAction int32
@@ -429,11 +430,11 @@ func (x ModelQueuePolicy_TimeoutAction) String() string {
}
func (ModelQueuePolicy_TimeoutAction) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[7].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[7].Descriptor()
}
func (ModelQueuePolicy_TimeoutAction) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[7]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[7]
}
func (x ModelQueuePolicy_TimeoutAction) Number() protoreflect.EnumNumber {
@@ -442,7 +443,7 @@ func (x ModelQueuePolicy_TimeoutAction) Number() protoreflect.EnumNumber {
// Deprecated: Use ModelQueuePolicy_TimeoutAction.Descriptor instead.
func (ModelQueuePolicy_TimeoutAction) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{9, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{9, 0}
}
type ModelSequenceBatching_Control_Kind int32
@@ -481,11 +482,11 @@ func (x ModelSequenceBatching_Control_Kind) String() string {
}
func (ModelSequenceBatching_Control_Kind) Descriptor() protoreflect.EnumDescriptor {
- return file_proto_model_config_proto_enumTypes[8].Descriptor()
+ return file_internal_predator_proto_model_config_proto_enumTypes[8].Descriptor()
}
func (ModelSequenceBatching_Control_Kind) Type() protoreflect.EnumType {
- return &file_proto_model_config_proto_enumTypes[8]
+ return &file_internal_predator_proto_model_config_proto_enumTypes[8]
}
func (x ModelSequenceBatching_Control_Kind) Number() protoreflect.EnumNumber {
@@ -494,7 +495,7 @@ func (x ModelSequenceBatching_Control_Kind) Number() protoreflect.EnumNumber {
// Deprecated: Use ModelSequenceBatching_Control_Kind.Descriptor instead.
func (ModelSequenceBatching_Control_Kind) EnumDescriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 0, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 0, 0}
}
type ModelRateLimiter struct {
@@ -507,7 +508,7 @@ type ModelRateLimiter struct {
func (x *ModelRateLimiter) Reset() {
*x = ModelRateLimiter{}
- mi := &file_proto_model_config_proto_msgTypes[0]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -519,7 +520,7 @@ func (x *ModelRateLimiter) String() string {
func (*ModelRateLimiter) ProtoMessage() {}
func (x *ModelRateLimiter) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[0]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -532,7 +533,7 @@ func (x *ModelRateLimiter) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelRateLimiter.ProtoReflect.Descriptor instead.
func (*ModelRateLimiter) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{0}
}
func (x *ModelRateLimiter) GetResources() []*ModelRateLimiter_Resource {
@@ -566,7 +567,7 @@ type ModelInstanceGroup struct {
func (x *ModelInstanceGroup) Reset() {
*x = ModelInstanceGroup{}
- mi := &file_proto_model_config_proto_msgTypes[1]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -578,7 +579,7 @@ func (x *ModelInstanceGroup) String() string {
func (*ModelInstanceGroup) ProtoMessage() {}
func (x *ModelInstanceGroup) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[1]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -591,7 +592,7 @@ func (x *ModelInstanceGroup) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelInstanceGroup.ProtoReflect.Descriptor instead.
func (*ModelInstanceGroup) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{1}
}
func (x *ModelInstanceGroup) GetName() string {
@@ -666,7 +667,7 @@ type ModelTensorReshape struct {
func (x *ModelTensorReshape) Reset() {
*x = ModelTensorReshape{}
- mi := &file_proto_model_config_proto_msgTypes[2]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -678,7 +679,7 @@ func (x *ModelTensorReshape) String() string {
func (*ModelTensorReshape) ProtoMessage() {}
func (x *ModelTensorReshape) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[2]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -691,7 +692,7 @@ func (x *ModelTensorReshape) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelTensorReshape.ProtoReflect.Descriptor instead.
func (*ModelTensorReshape) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{2}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{2}
}
func (x *ModelTensorReshape) GetShape() []int64 {
@@ -718,7 +719,7 @@ type ModelInput struct {
func (x *ModelInput) Reset() {
*x = ModelInput{}
- mi := &file_proto_model_config_proto_msgTypes[3]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -730,7 +731,7 @@ func (x *ModelInput) String() string {
func (*ModelInput) ProtoMessage() {}
func (x *ModelInput) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[3]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -743,7 +744,7 @@ func (x *ModelInput) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelInput.ProtoReflect.Descriptor instead.
func (*ModelInput) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{3}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{3}
}
func (x *ModelInput) GetName() string {
@@ -824,7 +825,7 @@ type ModelOutput struct {
func (x *ModelOutput) Reset() {
*x = ModelOutput{}
- mi := &file_proto_model_config_proto_msgTypes[4]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -836,7 +837,7 @@ func (x *ModelOutput) String() string {
func (*ModelOutput) ProtoMessage() {}
func (x *ModelOutput) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[4]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -849,7 +850,7 @@ func (x *ModelOutput) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelOutput.ProtoReflect.Descriptor instead.
func (*ModelOutput) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{4}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{4}
}
func (x *ModelOutput) GetName() string {
@@ -913,7 +914,7 @@ type BatchInput struct {
func (x *BatchInput) Reset() {
*x = BatchInput{}
- mi := &file_proto_model_config_proto_msgTypes[5]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -925,7 +926,7 @@ func (x *BatchInput) String() string {
func (*BatchInput) ProtoMessage() {}
func (x *BatchInput) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[5]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -938,7 +939,7 @@ func (x *BatchInput) ProtoReflect() protoreflect.Message {
// Deprecated: Use BatchInput.ProtoReflect.Descriptor instead.
func (*BatchInput) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{5}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{5}
}
func (x *BatchInput) GetKind() BatchInput_Kind {
@@ -980,7 +981,7 @@ type BatchOutput struct {
func (x *BatchOutput) Reset() {
*x = BatchOutput{}
- mi := &file_proto_model_config_proto_msgTypes[6]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -992,7 +993,7 @@ func (x *BatchOutput) String() string {
func (*BatchOutput) ProtoMessage() {}
func (x *BatchOutput) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[6]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1005,7 +1006,7 @@ func (x *BatchOutput) ProtoReflect() protoreflect.Message {
// Deprecated: Use BatchOutput.ProtoReflect.Descriptor instead.
func (*BatchOutput) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{6}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{6}
}
func (x *BatchOutput) GetTargetName() []string {
@@ -1043,7 +1044,7 @@ type ModelVersionPolicy struct {
func (x *ModelVersionPolicy) Reset() {
*x = ModelVersionPolicy{}
- mi := &file_proto_model_config_proto_msgTypes[7]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1055,7 +1056,7 @@ func (x *ModelVersionPolicy) String() string {
func (*ModelVersionPolicy) ProtoMessage() {}
func (x *ModelVersionPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[7]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1068,7 +1069,7 @@ func (x *ModelVersionPolicy) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelVersionPolicy.ProtoReflect.Descriptor instead.
func (*ModelVersionPolicy) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{7}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{7}
}
func (x *ModelVersionPolicy) GetPolicyChoice() isModelVersionPolicy_PolicyChoice {
@@ -1143,7 +1144,7 @@ type ModelOptimizationPolicy struct {
func (x *ModelOptimizationPolicy) Reset() {
*x = ModelOptimizationPolicy{}
- mi := &file_proto_model_config_proto_msgTypes[8]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1155,7 +1156,7 @@ func (x *ModelOptimizationPolicy) String() string {
func (*ModelOptimizationPolicy) ProtoMessage() {}
func (x *ModelOptimizationPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[8]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1168,7 +1169,7 @@ func (x *ModelOptimizationPolicy) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelOptimizationPolicy.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8}
}
func (x *ModelOptimizationPolicy) GetGraph() *ModelOptimizationPolicy_Graph {
@@ -1239,7 +1240,7 @@ type ModelQueuePolicy struct {
func (x *ModelQueuePolicy) Reset() {
*x = ModelQueuePolicy{}
- mi := &file_proto_model_config_proto_msgTypes[9]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1251,7 +1252,7 @@ func (x *ModelQueuePolicy) String() string {
func (*ModelQueuePolicy) ProtoMessage() {}
func (x *ModelQueuePolicy) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[9]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1264,7 +1265,7 @@ func (x *ModelQueuePolicy) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelQueuePolicy.ProtoReflect.Descriptor instead.
func (*ModelQueuePolicy) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{9}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{9}
}
func (x *ModelQueuePolicy) GetTimeoutAction() ModelQueuePolicy_TimeoutAction {
@@ -1310,7 +1311,7 @@ type ModelDynamicBatching struct {
func (x *ModelDynamicBatching) Reset() {
*x = ModelDynamicBatching{}
- mi := &file_proto_model_config_proto_msgTypes[10]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1322,7 +1323,7 @@ func (x *ModelDynamicBatching) String() string {
func (*ModelDynamicBatching) ProtoMessage() {}
func (x *ModelDynamicBatching) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[10]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1335,7 +1336,7 @@ func (x *ModelDynamicBatching) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelDynamicBatching.ProtoReflect.Descriptor instead.
func (*ModelDynamicBatching) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{10}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{10}
}
func (x *ModelDynamicBatching) GetPreferredBatchSize() []int32 {
@@ -1404,7 +1405,7 @@ type ModelSequenceBatching struct {
func (x *ModelSequenceBatching) Reset() {
*x = ModelSequenceBatching{}
- mi := &file_proto_model_config_proto_msgTypes[11]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1416,7 +1417,7 @@ func (x *ModelSequenceBatching) String() string {
func (*ModelSequenceBatching) ProtoMessage() {}
func (x *ModelSequenceBatching) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[11]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1429,7 +1430,7 @@ func (x *ModelSequenceBatching) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelSequenceBatching.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11}
}
func (x *ModelSequenceBatching) GetStrategyChoice() isModelSequenceBatching_StrategyChoice {
@@ -1510,7 +1511,7 @@ type ModelEnsembling struct {
func (x *ModelEnsembling) Reset() {
*x = ModelEnsembling{}
- mi := &file_proto_model_config_proto_msgTypes[12]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1522,7 +1523,7 @@ func (x *ModelEnsembling) String() string {
func (*ModelEnsembling) ProtoMessage() {}
func (x *ModelEnsembling) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[12]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1535,7 +1536,7 @@ func (x *ModelEnsembling) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelEnsembling.ProtoReflect.Descriptor instead.
func (*ModelEnsembling) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{12}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{12}
}
func (x *ModelEnsembling) GetStep() []*ModelEnsembling_Step {
@@ -1554,7 +1555,7 @@ type ModelParameter struct {
func (x *ModelParameter) Reset() {
*x = ModelParameter{}
- mi := &file_proto_model_config_proto_msgTypes[13]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1566,7 +1567,7 @@ func (x *ModelParameter) String() string {
func (*ModelParameter) ProtoMessage() {}
func (x *ModelParameter) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[13]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1579,7 +1580,7 @@ func (x *ModelParameter) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelParameter.ProtoReflect.Descriptor instead.
func (*ModelParameter) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{13}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{13}
}
func (x *ModelParameter) GetStringValue() string {
@@ -1601,7 +1602,7 @@ type ModelWarmup struct {
func (x *ModelWarmup) Reset() {
*x = ModelWarmup{}
- mi := &file_proto_model_config_proto_msgTypes[14]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1613,7 +1614,7 @@ func (x *ModelWarmup) String() string {
func (*ModelWarmup) ProtoMessage() {}
func (x *ModelWarmup) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[14]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1626,7 +1627,7 @@ func (x *ModelWarmup) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelWarmup.ProtoReflect.Descriptor instead.
func (*ModelWarmup) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{14}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{14}
}
func (x *ModelWarmup) GetName() string {
@@ -1666,7 +1667,7 @@ type ModelOperations struct {
func (x *ModelOperations) Reset() {
*x = ModelOperations{}
- mi := &file_proto_model_config_proto_msgTypes[15]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1678,7 +1679,7 @@ func (x *ModelOperations) String() string {
func (*ModelOperations) ProtoMessage() {}
func (x *ModelOperations) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[15]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1691,7 +1692,7 @@ func (x *ModelOperations) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelOperations.ProtoReflect.Descriptor instead.
func (*ModelOperations) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{15}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{15}
}
func (x *ModelOperations) GetOpLibraryFilename() []string {
@@ -1710,7 +1711,7 @@ type ModelTransactionPolicy struct {
func (x *ModelTransactionPolicy) Reset() {
*x = ModelTransactionPolicy{}
- mi := &file_proto_model_config_proto_msgTypes[16]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1722,7 +1723,7 @@ func (x *ModelTransactionPolicy) String() string {
func (*ModelTransactionPolicy) ProtoMessage() {}
func (x *ModelTransactionPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[16]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1735,7 +1736,7 @@ func (x *ModelTransactionPolicy) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelTransactionPolicy.ProtoReflect.Descriptor instead.
func (*ModelTransactionPolicy) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{16}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{16}
}
func (x *ModelTransactionPolicy) GetDecoupled() bool {
@@ -1754,7 +1755,7 @@ type ModelRepositoryAgents struct {
func (x *ModelRepositoryAgents) Reset() {
*x = ModelRepositoryAgents{}
- mi := &file_proto_model_config_proto_msgTypes[17]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1766,7 +1767,7 @@ func (x *ModelRepositoryAgents) String() string {
func (*ModelRepositoryAgents) ProtoMessage() {}
func (x *ModelRepositoryAgents) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[17]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1779,7 +1780,7 @@ func (x *ModelRepositoryAgents) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelRepositoryAgents.ProtoReflect.Descriptor instead.
func (*ModelRepositoryAgents) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{17}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{17}
}
func (x *ModelRepositoryAgents) GetAgents() []*ModelRepositoryAgents_Agent {
@@ -1798,7 +1799,7 @@ type ModelResponseCache struct {
func (x *ModelResponseCache) Reset() {
*x = ModelResponseCache{}
- mi := &file_proto_model_config_proto_msgTypes[18]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1810,7 +1811,7 @@ func (x *ModelResponseCache) String() string {
func (*ModelResponseCache) ProtoMessage() {}
func (x *ModelResponseCache) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[18]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1823,7 +1824,7 @@ func (x *ModelResponseCache) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelResponseCache.ProtoReflect.Descriptor instead.
func (*ModelResponseCache) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{18}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{18}
}
func (x *ModelResponseCache) GetEnable() bool {
@@ -1842,7 +1843,7 @@ type ModelMetrics struct {
func (x *ModelMetrics) Reset() {
*x = ModelMetrics{}
- mi := &file_proto_model_config_proto_msgTypes[19]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1854,7 +1855,7 @@ func (x *ModelMetrics) String() string {
func (*ModelMetrics) ProtoMessage() {}
func (x *ModelMetrics) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[19]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1867,7 +1868,7 @@ func (x *ModelMetrics) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelMetrics.ProtoReflect.Descriptor instead.
func (*ModelMetrics) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{19}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{19}
}
func (x *ModelMetrics) GetMetricControl() []*ModelMetrics_MetricControl {
@@ -1913,7 +1914,7 @@ type ModelConfig struct {
func (x *ModelConfig) Reset() {
*x = ModelConfig{}
- mi := &file_proto_model_config_proto_msgTypes[20]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1925,7 +1926,7 @@ func (x *ModelConfig) String() string {
func (*ModelConfig) ProtoMessage() {}
func (x *ModelConfig) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[20]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1938,7 +1939,7 @@ func (x *ModelConfig) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelConfig.ProtoReflect.Descriptor instead.
func (*ModelConfig) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{20}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{20}
}
func (x *ModelConfig) GetName() string {
@@ -2162,7 +2163,7 @@ type ModelRateLimiter_Resource struct {
func (x *ModelRateLimiter_Resource) Reset() {
*x = ModelRateLimiter_Resource{}
- mi := &file_proto_model_config_proto_msgTypes[21]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2174,7 +2175,7 @@ func (x *ModelRateLimiter_Resource) String() string {
func (*ModelRateLimiter_Resource) ProtoMessage() {}
func (x *ModelRateLimiter_Resource) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[21]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2187,7 +2188,7 @@ func (x *ModelRateLimiter_Resource) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelRateLimiter_Resource.ProtoReflect.Descriptor instead.
func (*ModelRateLimiter_Resource) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{0, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{0, 0}
}
func (x *ModelRateLimiter_Resource) GetName() string {
@@ -2221,7 +2222,7 @@ type ModelInstanceGroup_SecondaryDevice struct {
func (x *ModelInstanceGroup_SecondaryDevice) Reset() {
*x = ModelInstanceGroup_SecondaryDevice{}
- mi := &file_proto_model_config_proto_msgTypes[22]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2233,7 +2234,7 @@ func (x *ModelInstanceGroup_SecondaryDevice) String() string {
func (*ModelInstanceGroup_SecondaryDevice) ProtoMessage() {}
func (x *ModelInstanceGroup_SecondaryDevice) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[22]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2246,7 +2247,7 @@ func (x *ModelInstanceGroup_SecondaryDevice) ProtoReflect() protoreflect.Message
// Deprecated: Use ModelInstanceGroup_SecondaryDevice.ProtoReflect.Descriptor instead.
func (*ModelInstanceGroup_SecondaryDevice) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{1, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{1, 0}
}
func (x *ModelInstanceGroup_SecondaryDevice) GetKind() ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind {
@@ -2272,7 +2273,7 @@ type ModelVersionPolicy_Latest struct {
func (x *ModelVersionPolicy_Latest) Reset() {
*x = ModelVersionPolicy_Latest{}
- mi := &file_proto_model_config_proto_msgTypes[23]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2284,7 +2285,7 @@ func (x *ModelVersionPolicy_Latest) String() string {
func (*ModelVersionPolicy_Latest) ProtoMessage() {}
func (x *ModelVersionPolicy_Latest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[23]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2297,7 +2298,7 @@ func (x *ModelVersionPolicy_Latest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelVersionPolicy_Latest.ProtoReflect.Descriptor instead.
func (*ModelVersionPolicy_Latest) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{7, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{7, 0}
}
func (x *ModelVersionPolicy_Latest) GetNumVersions() uint32 {
@@ -2315,7 +2316,7 @@ type ModelVersionPolicy_All struct {
func (x *ModelVersionPolicy_All) Reset() {
*x = ModelVersionPolicy_All{}
- mi := &file_proto_model_config_proto_msgTypes[24]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2327,7 +2328,7 @@ func (x *ModelVersionPolicy_All) String() string {
func (*ModelVersionPolicy_All) ProtoMessage() {}
func (x *ModelVersionPolicy_All) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[24]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2340,7 +2341,7 @@ func (x *ModelVersionPolicy_All) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelVersionPolicy_All.ProtoReflect.Descriptor instead.
func (*ModelVersionPolicy_All) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{7, 1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{7, 1}
}
type ModelVersionPolicy_Specific struct {
@@ -2352,7 +2353,7 @@ type ModelVersionPolicy_Specific struct {
func (x *ModelVersionPolicy_Specific) Reset() {
*x = ModelVersionPolicy_Specific{}
- mi := &file_proto_model_config_proto_msgTypes[25]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2364,7 +2365,7 @@ func (x *ModelVersionPolicy_Specific) String() string {
func (*ModelVersionPolicy_Specific) ProtoMessage() {}
func (x *ModelVersionPolicy_Specific) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[25]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[25]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2377,7 +2378,7 @@ func (x *ModelVersionPolicy_Specific) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelVersionPolicy_Specific.ProtoReflect.Descriptor instead.
func (*ModelVersionPolicy_Specific) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{7, 2}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{7, 2}
}
func (x *ModelVersionPolicy_Specific) GetVersions() []int64 {
@@ -2396,7 +2397,7 @@ type ModelOptimizationPolicy_Graph struct {
func (x *ModelOptimizationPolicy_Graph) Reset() {
*x = ModelOptimizationPolicy_Graph{}
- mi := &file_proto_model_config_proto_msgTypes[26]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2408,7 +2409,7 @@ func (x *ModelOptimizationPolicy_Graph) String() string {
func (*ModelOptimizationPolicy_Graph) ProtoMessage() {}
func (x *ModelOptimizationPolicy_Graph) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[26]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[26]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2421,7 +2422,7 @@ func (x *ModelOptimizationPolicy_Graph) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelOptimizationPolicy_Graph.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_Graph) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 0}
}
func (x *ModelOptimizationPolicy_Graph) GetLevel() int32 {
@@ -2443,7 +2444,7 @@ type ModelOptimizationPolicy_Cuda struct {
func (x *ModelOptimizationPolicy_Cuda) Reset() {
*x = ModelOptimizationPolicy_Cuda{}
- mi := &file_proto_model_config_proto_msgTypes[27]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2455,7 +2456,7 @@ func (x *ModelOptimizationPolicy_Cuda) String() string {
func (*ModelOptimizationPolicy_Cuda) ProtoMessage() {}
func (x *ModelOptimizationPolicy_Cuda) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[27]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[27]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2468,7 +2469,7 @@ func (x *ModelOptimizationPolicy_Cuda) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelOptimizationPolicy_Cuda.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_Cuda) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 1}
}
func (x *ModelOptimizationPolicy_Cuda) GetGraphs() bool {
@@ -2509,7 +2510,7 @@ type ModelOptimizationPolicy_ExecutionAccelerators struct {
func (x *ModelOptimizationPolicy_ExecutionAccelerators) Reset() {
*x = ModelOptimizationPolicy_ExecutionAccelerators{}
- mi := &file_proto_model_config_proto_msgTypes[28]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2521,7 +2522,7 @@ func (x *ModelOptimizationPolicy_ExecutionAccelerators) String() string {
func (*ModelOptimizationPolicy_ExecutionAccelerators) ProtoMessage() {}
func (x *ModelOptimizationPolicy_ExecutionAccelerators) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[28]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[28]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2534,7 +2535,7 @@ func (x *ModelOptimizationPolicy_ExecutionAccelerators) ProtoReflect() protorefl
// Deprecated: Use ModelOptimizationPolicy_ExecutionAccelerators.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_ExecutionAccelerators) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 2}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 2}
}
func (x *ModelOptimizationPolicy_ExecutionAccelerators) GetGpuExecutionAccelerator() []*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator {
@@ -2560,7 +2561,7 @@ type ModelOptimizationPolicy_PinnedMemoryBuffer struct {
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) Reset() {
*x = ModelOptimizationPolicy_PinnedMemoryBuffer{}
- mi := &file_proto_model_config_proto_msgTypes[29]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2572,7 +2573,7 @@ func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) String() string {
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoMessage() {}
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[29]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[29]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2585,7 +2586,7 @@ func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) ProtoReflect() protoreflect
// Deprecated: Use ModelOptimizationPolicy_PinnedMemoryBuffer.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_PinnedMemoryBuffer) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 3}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 3}
}
func (x *ModelOptimizationPolicy_PinnedMemoryBuffer) GetEnable() bool {
@@ -2606,7 +2607,7 @@ type ModelOptimizationPolicy_Cuda_GraphSpec struct {
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) Reset() {
*x = ModelOptimizationPolicy_Cuda_GraphSpec{}
- mi := &file_proto_model_config_proto_msgTypes[30]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2618,7 +2619,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec) String() string {
func (*ModelOptimizationPolicy_Cuda_GraphSpec) ProtoMessage() {}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[30]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2631,7 +2632,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec) ProtoReflect() protoreflect.Mes
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_Cuda_GraphSpec) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0}
}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec) GetBatchSize() int32 {
@@ -2664,7 +2665,7 @@ type ModelOptimizationPolicy_Cuda_GraphSpec_Shape struct {
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Reset() {
*x = ModelOptimizationPolicy_Cuda_GraphSpec_Shape{}
- mi := &file_proto_model_config_proto_msgTypes[31]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2676,7 +2677,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) String() string {
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoMessage() {}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[31]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2689,7 +2690,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) ProtoReflect() protorefle
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec_Shape.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_Cuda_GraphSpec_Shape) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 0}
}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_Shape) GetDim() []int64 {
@@ -2709,7 +2710,7 @@ type ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound struct {
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Reset() {
*x = ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound{}
- mi := &file_proto_model_config_proto_msgTypes[32]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2721,7 +2722,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) String() string {
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoMessage() {}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[32]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2734,7 +2735,7 @@ func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) ProtoReflect() proto
// Deprecated: Use ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 1, 0, 1}
}
func (x *ModelOptimizationPolicy_Cuda_GraphSpec_LowerBound) GetBatchSize() int32 {
@@ -2761,7 +2762,7 @@ type ModelOptimizationPolicy_ExecutionAccelerators_Accelerator struct {
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Reset() {
*x = ModelOptimizationPolicy_ExecutionAccelerators_Accelerator{}
- mi := &file_proto_model_config_proto_msgTypes[35]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2773,7 +2774,7 @@ func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) String() str
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoMessage() {}
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[35]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2786,7 +2787,7 @@ func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) ProtoReflect
// Deprecated: Use ModelOptimizationPolicy_ExecutionAccelerators_Accelerator.ProtoReflect.Descriptor instead.
func (*ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{8, 2, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{8, 2, 0}
}
func (x *ModelOptimizationPolicy_ExecutionAccelerators_Accelerator) GetName() string {
@@ -2816,7 +2817,7 @@ type ModelSequenceBatching_Control struct {
func (x *ModelSequenceBatching_Control) Reset() {
*x = ModelSequenceBatching_Control{}
- mi := &file_proto_model_config_proto_msgTypes[38]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[38]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2828,7 +2829,7 @@ func (x *ModelSequenceBatching_Control) String() string {
func (*ModelSequenceBatching_Control) ProtoMessage() {}
func (x *ModelSequenceBatching_Control) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[38]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[38]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2841,7 +2842,7 @@ func (x *ModelSequenceBatching_Control) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelSequenceBatching_Control.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_Control) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 0}
}
func (x *ModelSequenceBatching_Control) GetKind() ModelSequenceBatching_Control_Kind {
@@ -2889,7 +2890,7 @@ type ModelSequenceBatching_ControlInput struct {
func (x *ModelSequenceBatching_ControlInput) Reset() {
*x = ModelSequenceBatching_ControlInput{}
- mi := &file_proto_model_config_proto_msgTypes[39]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[39]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2901,7 +2902,7 @@ func (x *ModelSequenceBatching_ControlInput) String() string {
func (*ModelSequenceBatching_ControlInput) ProtoMessage() {}
func (x *ModelSequenceBatching_ControlInput) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[39]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[39]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2914,7 +2915,7 @@ func (x *ModelSequenceBatching_ControlInput) ProtoReflect() protoreflect.Message
// Deprecated: Use ModelSequenceBatching_ControlInput.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_ControlInput) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 1}
}
func (x *ModelSequenceBatching_ControlInput) GetName() string {
@@ -2947,7 +2948,7 @@ type ModelSequenceBatching_InitialState struct {
func (x *ModelSequenceBatching_InitialState) Reset() {
*x = ModelSequenceBatching_InitialState{}
- mi := &file_proto_model_config_proto_msgTypes[40]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2959,7 +2960,7 @@ func (x *ModelSequenceBatching_InitialState) String() string {
func (*ModelSequenceBatching_InitialState) ProtoMessage() {}
func (x *ModelSequenceBatching_InitialState) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[40]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[40]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2972,7 +2973,7 @@ func (x *ModelSequenceBatching_InitialState) ProtoReflect() protoreflect.Message
// Deprecated: Use ModelSequenceBatching_InitialState.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_InitialState) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 2}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 2}
}
func (x *ModelSequenceBatching_InitialState) GetDataType() DataType {
@@ -3054,7 +3055,7 @@ type ModelSequenceBatching_State struct {
func (x *ModelSequenceBatching_State) Reset() {
*x = ModelSequenceBatching_State{}
- mi := &file_proto_model_config_proto_msgTypes[41]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[41]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3066,7 +3067,7 @@ func (x *ModelSequenceBatching_State) String() string {
func (*ModelSequenceBatching_State) ProtoMessage() {}
func (x *ModelSequenceBatching_State) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[41]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[41]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3079,7 +3080,7 @@ func (x *ModelSequenceBatching_State) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelSequenceBatching_State.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_State) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 3}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 3}
}
func (x *ModelSequenceBatching_State) GetInputName() string {
@@ -3141,7 +3142,7 @@ type ModelSequenceBatching_StrategyDirect struct {
func (x *ModelSequenceBatching_StrategyDirect) Reset() {
*x = ModelSequenceBatching_StrategyDirect{}
- mi := &file_proto_model_config_proto_msgTypes[42]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3153,7 +3154,7 @@ func (x *ModelSequenceBatching_StrategyDirect) String() string {
func (*ModelSequenceBatching_StrategyDirect) ProtoMessage() {}
func (x *ModelSequenceBatching_StrategyDirect) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[42]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[42]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3166,7 +3167,7 @@ func (x *ModelSequenceBatching_StrategyDirect) ProtoReflect() protoreflect.Messa
// Deprecated: Use ModelSequenceBatching_StrategyDirect.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_StrategyDirect) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 4}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 4}
}
func (x *ModelSequenceBatching_StrategyDirect) GetMaxQueueDelayMicroseconds() uint64 {
@@ -3195,7 +3196,7 @@ type ModelSequenceBatching_StrategyOldest struct {
func (x *ModelSequenceBatching_StrategyOldest) Reset() {
*x = ModelSequenceBatching_StrategyOldest{}
- mi := &file_proto_model_config_proto_msgTypes[43]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[43]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3207,7 +3208,7 @@ func (x *ModelSequenceBatching_StrategyOldest) String() string {
func (*ModelSequenceBatching_StrategyOldest) ProtoMessage() {}
func (x *ModelSequenceBatching_StrategyOldest) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[43]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[43]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3220,7 +3221,7 @@ func (x *ModelSequenceBatching_StrategyOldest) ProtoReflect() protoreflect.Messa
// Deprecated: Use ModelSequenceBatching_StrategyOldest.ProtoReflect.Descriptor instead.
func (*ModelSequenceBatching_StrategyOldest) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{11, 5}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{11, 5}
}
func (x *ModelSequenceBatching_StrategyOldest) GetMaxCandidateSequences() int32 {
@@ -3264,7 +3265,7 @@ type ModelEnsembling_Step struct {
func (x *ModelEnsembling_Step) Reset() {
*x = ModelEnsembling_Step{}
- mi := &file_proto_model_config_proto_msgTypes[44]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[44]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3276,7 +3277,7 @@ func (x *ModelEnsembling_Step) String() string {
func (*ModelEnsembling_Step) ProtoMessage() {}
func (x *ModelEnsembling_Step) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[44]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[44]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3289,7 +3290,7 @@ func (x *ModelEnsembling_Step) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelEnsembling_Step.ProtoReflect.Descriptor instead.
func (*ModelEnsembling_Step) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{12, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{12, 0}
}
func (x *ModelEnsembling_Step) GetModelName() string {
@@ -3343,7 +3344,7 @@ type ModelWarmup_Input struct {
func (x *ModelWarmup_Input) Reset() {
*x = ModelWarmup_Input{}
- mi := &file_proto_model_config_proto_msgTypes[47]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3355,7 +3356,7 @@ func (x *ModelWarmup_Input) String() string {
func (*ModelWarmup_Input) ProtoMessage() {}
func (x *ModelWarmup_Input) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[47]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[47]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3368,7 +3369,7 @@ func (x *ModelWarmup_Input) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelWarmup_Input.ProtoReflect.Descriptor instead.
func (*ModelWarmup_Input) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{14, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{14, 0}
}
func (x *ModelWarmup_Input) GetDataType() DataType {
@@ -3451,7 +3452,7 @@ type ModelRepositoryAgents_Agent struct {
func (x *ModelRepositoryAgents_Agent) Reset() {
*x = ModelRepositoryAgents_Agent{}
- mi := &file_proto_model_config_proto_msgTypes[49]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3463,7 +3464,7 @@ func (x *ModelRepositoryAgents_Agent) String() string {
func (*ModelRepositoryAgents_Agent) ProtoMessage() {}
func (x *ModelRepositoryAgents_Agent) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[49]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[49]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3476,7 +3477,7 @@ func (x *ModelRepositoryAgents_Agent) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelRepositoryAgents_Agent.ProtoReflect.Descriptor instead.
func (*ModelRepositoryAgents_Agent) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{17, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{17, 0}
}
func (x *ModelRepositoryAgents_Agent) GetName() string {
@@ -3506,7 +3507,7 @@ type ModelMetrics_MetricControl struct {
func (x *ModelMetrics_MetricControl) Reset() {
*x = ModelMetrics_MetricControl{}
- mi := &file_proto_model_config_proto_msgTypes[51]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3518,7 +3519,7 @@ func (x *ModelMetrics_MetricControl) String() string {
func (*ModelMetrics_MetricControl) ProtoMessage() {}
func (x *ModelMetrics_MetricControl) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[51]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[51]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3531,7 +3532,7 @@ func (x *ModelMetrics_MetricControl) ProtoReflect() protoreflect.Message {
// Deprecated: Use ModelMetrics_MetricControl.ProtoReflect.Descriptor instead.
func (*ModelMetrics_MetricControl) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{19, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{19, 0}
}
func (x *ModelMetrics_MetricControl) GetMetricIdentifier() *ModelMetrics_MetricControl_MetricIdentifier {
@@ -3576,7 +3577,7 @@ type ModelMetrics_MetricControl_MetricIdentifier struct {
func (x *ModelMetrics_MetricControl_MetricIdentifier) Reset() {
*x = ModelMetrics_MetricControl_MetricIdentifier{}
- mi := &file_proto_model_config_proto_msgTypes[52]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3588,7 +3589,7 @@ func (x *ModelMetrics_MetricControl_MetricIdentifier) String() string {
func (*ModelMetrics_MetricControl_MetricIdentifier) ProtoMessage() {}
func (x *ModelMetrics_MetricControl_MetricIdentifier) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[52]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[52]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3601,7 +3602,7 @@ func (x *ModelMetrics_MetricControl_MetricIdentifier) ProtoReflect() protoreflec
// Deprecated: Use ModelMetrics_MetricControl_MetricIdentifier.ProtoReflect.Descriptor instead.
func (*ModelMetrics_MetricControl_MetricIdentifier) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{19, 0, 0}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{19, 0, 0}
}
func (x *ModelMetrics_MetricControl_MetricIdentifier) GetFamily() string {
@@ -3620,7 +3621,7 @@ type ModelMetrics_MetricControl_HistogramOptions struct {
func (x *ModelMetrics_MetricControl_HistogramOptions) Reset() {
*x = ModelMetrics_MetricControl_HistogramOptions{}
- mi := &file_proto_model_config_proto_msgTypes[53]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3632,7 +3633,7 @@ func (x *ModelMetrics_MetricControl_HistogramOptions) String() string {
func (*ModelMetrics_MetricControl_HistogramOptions) ProtoMessage() {}
func (x *ModelMetrics_MetricControl_HistogramOptions) ProtoReflect() protoreflect.Message {
- mi := &file_proto_model_config_proto_msgTypes[53]
+ mi := &file_internal_predator_proto_model_config_proto_msgTypes[53]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3645,7 +3646,7 @@ func (x *ModelMetrics_MetricControl_HistogramOptions) ProtoReflect() protoreflec
// Deprecated: Use ModelMetrics_MetricControl_HistogramOptions.ProtoReflect.Descriptor instead.
func (*ModelMetrics_MetricControl_HistogramOptions) Descriptor() ([]byte, []int) {
- return file_proto_model_config_proto_rawDescGZIP(), []int{19, 0, 1}
+ return file_internal_predator_proto_model_config_proto_rawDescGZIP(), []int{19, 0, 1}
}
func (x *ModelMetrics_MetricControl_HistogramOptions) GetBuckets() []float64 {
@@ -3655,714 +3656,358 @@ func (x *ModelMetrics_MetricControl_HistogramOptions) GetBuckets() []float64 {
return nil
}
-var File_proto_model_config_proto protoreflect.FileDescriptor
-
-var file_proto_model_config_proto_rawDesc = []byte{
- 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x63, 0x6f,
- 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0xbc, 0x01, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c,
- 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
- 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
- 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
- 0x74, 0x79, 0x1a, 0x4c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x22, 0xdd, 0x04, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
- 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6b,
- 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47,
- 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12,
- 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69,
- 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
- 0x69, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65,
- 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x70, 0x75, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52,
- 0x04, 0x67, 0x70, 0x75, 0x73, 0x12, 0x56, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61,
- 0x72, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e,
- 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x53, 0x65, 0x63, 0x6f,
- 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x10, 0x73, 0x65, 0x63,
- 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a,
- 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07,
- 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69,
- 0x76, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76,
- 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x1a, 0xa8, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79,
- 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e,
- 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2e,
- 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b,
- 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76,
- 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65,
- 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
- 0x61, 0x72, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0e, 0x0a,
- 0x0a, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4e, 0x56, 0x44, 0x4c, 0x41, 0x10, 0x00, 0x22, 0x41, 0x0a,
- 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0d, 0x0a, 0x09, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x41, 0x55,
- 0x54, 0x4f, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x47, 0x50, 0x55,
- 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x10, 0x02,
- 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x03,
- 0x22, 0x2a, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52,
- 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x73, 0x68, 0x61, 0x70, 0x65, 0x22, 0xae, 0x03, 0x0a,
- 0x0a, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e,
- 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54,
- 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a,
- 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74,
- 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12,
- 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64,
- 0x69, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52,
- 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73,
- 0x68, 0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70, 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72,
- 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x61, 0x67, 0x67, 0x65, 0x64,
- 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c,
- 0x6c, 0x6f, 0x77, 0x52, 0x61, 0x67, 0x67, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a,
- 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x17, 0x69, 0x73,
- 0x5f, 0x6e, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d,
- 0x61, 0x74, 0x5f, 0x69, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4e,
- 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x49, 0x6f,
- 0x22, 0x3b, 0x0a, 0x06, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f,
- 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46,
- 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x48, 0x57, 0x43, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
- 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x4e, 0x43, 0x48, 0x57, 0x10, 0x02, 0x22, 0x9d, 0x02,
- 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74,
- 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12,
- 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64,
- 0x69, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0x05,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x52,
- 0x07, 0x72, 0x65, 0x73, 0x68, 0x61, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x62, 0x65,
- 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x0d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12,
- 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x5f, 0x74, 0x65, 0x6e, 0x73,
- 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x53, 0x68, 0x61, 0x70,
- 0x65, 0x54, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x6e, 0x6f,
- 0x6e, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f,
- 0x69, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x4e, 0x6f, 0x6e, 0x4c,
- 0x69, 0x6e, 0x65, 0x61, 0x72, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x49, 0x6f, 0x22, 0xfa, 0x02,
- 0x0a, 0x0a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x04,
- 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69,
- 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74,
- 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64,
- 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63,
- 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x04, 0x4b,
- 0x69, 0x6e, 0x64, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x4c, 0x45,
- 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f,
- 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x45,
- 0x44, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
- 0x01, 0x12, 0x2d, 0x0a, 0x29, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x43, 0x43, 0x55, 0x4d,
- 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43,
- 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x02,
- 0x12, 0x24, 0x0a, 0x20, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x45, 0x4c,
- 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x41, 0x53, 0x5f, 0x53,
- 0x48, 0x41, 0x50, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f,
- 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18,
- 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45,
- 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x10, 0x05, 0x22, 0xaa, 0x01, 0x0a, 0x0b, 0x42,
- 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52,
- 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6b,
- 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x4b, 0x69,
- 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72,
- 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x4b,
- 0x69, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x42, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x53, 0x43, 0x41,
- 0x54, 0x54, 0x45, 0x52, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f,
- 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x00, 0x22, 0xb2, 0x02, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a,
- 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73,
- 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74,
- 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x61, 0x6c,
- 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x2e, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x40, 0x0a,
- 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69,
- 0x66, 0x69, 0x63, 0x48, 0x00, 0x52, 0x08, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x1a,
- 0x2b, 0x0a, 0x06, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d,
- 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
- 0x0b, 0x6e, 0x75, 0x6d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x05, 0x0a, 0x03,
- 0x41, 0x6c, 0x6c, 0x1a, 0x26, 0x0a, 0x08, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x12,
- 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
- 0x03, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x70,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x22, 0xa8, 0x10, 0x0a,
- 0x17, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69,
- 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x70,
- 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x05, 0x67,
- 0x72, 0x61, 0x70, 0x68, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f,
- 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x37,
- 0x0a, 0x04, 0x63, 0x75, 0x64, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69,
- 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64,
- 0x61, 0x52, 0x04, 0x63, 0x75, 0x64, 0x61, 0x12, 0x6b, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
- 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
- 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x15, 0x65,
- 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61,
- 0x74, 0x6f, 0x72, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x70, 0x69,
- 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
- 0x79, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x52, 0x11, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x50, 0x69, 0x6e, 0x6e, 0x65,
- 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x63, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x70, 0x75,
- 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
- 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50,
- 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f,
- 0x72, 0x79, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
- 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x1e,
- 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x07,
- 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x67, 0x61, 0x74, 0x68, 0x65, 0x72, 0x4b, 0x65, 0x72, 0x6e,
- 0x65, 0x6c, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
- 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x65, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68,
- 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x65, 0x61, 0x67, 0x65, 0x72,
- 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x1a, 0x1d, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x70,
- 0x68, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x1a, 0xa9, 0x06, 0x0a, 0x04, 0x43, 0x75, 0x64, 0x61,
- 0x12, 0x16, 0x0a, 0x06, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x06, 0x67, 0x72, 0x61, 0x70, 0x68, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x75, 0x73, 0x79,
- 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x08, 0x52, 0x0e, 0x62, 0x75, 0x73, 0x79, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e,
- 0x74, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x73, 0x70, 0x65, 0x63,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70,
- 0x68, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x67, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63,
- 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f,
- 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x75,
- 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0xe2,
- 0x04, 0x0a, 0x09, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1d, 0x0a, 0x0a,
- 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
- 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x69,
- 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e,
- 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x64, 0x0a, 0x11, 0x67,
- 0x72, 0x61, 0x70, 0x68, 0x5f, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70,
- 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64,
- 0x52, 0x0f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e,
- 0x64, 0x1a, 0x19, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69,
- 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x64, 0x69, 0x6d, 0x1a, 0xf5, 0x01, 0x0a,
- 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x62,
- 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
- 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x6e,
- 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47,
- 0x72, 0x61, 0x70, 0x68, 0x53, 0x70, 0x65, 0x63, 0x2e, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f,
- 0x75, 0x6e, 0x64, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53,
- 0x70, 0x65, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
- 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x2e, 0x43, 0x75, 0x64, 0x61, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x53, 0x70,
- 0x65, 0x63, 0x2e, 0x53, 0x68, 0x61, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x1a, 0xe8, 0x03, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f,
- 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x7c, 0x0a,
- 0x19, 0x67, 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61,
- 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
- 0x32, 0x40, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70,
- 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65,
- 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74,
- 0x6f, 0x72, 0x52, 0x17, 0x67, 0x70, 0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e,
- 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x7c, 0x0a, 0x19, 0x63,
- 0x70, 0x75, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x63,
- 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x74, 0x69,
- 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x45,
- 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61,
- 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72,
- 0x52, 0x17, 0x63, 0x70, 0x75, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63,
- 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x41, 0x63,
- 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x70, 0x0a,
- 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x50, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f,
- 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
- 0x79, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x6c,
- 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61,
- 0x74, 0x6f, 0x72, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e,
- 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a,
- 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74,
- 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x2c,
- 0x0a, 0x12, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x42, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x49, 0x0a, 0x0d,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a,
- 0x10, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c,
- 0x54, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x5f,
- 0x4d, 0x41, 0x58, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54,
- 0x59, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0x02, 0x22, 0xa6, 0x02, 0x0a, 0x10, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4c, 0x0a, 0x0e,
- 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x54, 0x69,
- 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x69, 0x6d,
- 0x65, 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x1c, 0x64, 0x65,
- 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x69,
- 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
- 0x52, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
- 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x16,
- 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x76,
- 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x6c,
- 0x6c, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69,
- 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x51,
- 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x26, 0x0a, 0x0d, 0x54, 0x69, 0x6d, 0x65,
- 0x6f, 0x75, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a,
- 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x01,
- 0x22, 0xab, 0x04, 0x0a, 0x14, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69,
- 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65,
- 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a,
- 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72,
- 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6d,
- 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d,
- 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79,
- 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11,
- 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e,
- 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
- 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69,
- 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65,
- 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72,
- 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x69, 0x6f, 0x72,
- 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x49, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61,
- 0x75, 0x6c, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
- 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x12, 0x68, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f,
- 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e,
- 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
- 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x5f, 0x0a,
- 0x18, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f,
- 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x75, 0x65, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x83,
- 0x0e, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x06, 0x64, 0x69, 0x72, 0x65,
- 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61,
- 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x44,
- 0x69, 0x72, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12,
- 0x45, 0x0a, 0x06, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x2b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71,
- 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74,
- 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x06,
- 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65,
- 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x63, 0x72,
- 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b,
- 0x6d, 0x61, 0x78, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x6c, 0x65, 0x4d,
- 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x63,
- 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67,
- 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0c, 0x63,
- 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x73,
- 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05,
- 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69,
- 0x76, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x08, 0x52, 0x11, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x71, 0x75,
- 0x65, 0x6e, 0x63, 0x65, 0x1a, 0xe7, 0x02, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
- 0x12, 0x3d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75,
- 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e,
- 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12,
- 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74,
- 0x72, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x33, 0x32,
- 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x70, 0x33,
- 0x32, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f, 0x74, 0x72, 0x75, 0x65, 0x18, 0x03, 0x20, 0x03,
- 0x28, 0x02, 0x52, 0x0d, 0x66, 0x70, 0x33, 0x32, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75,
- 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5f,
- 0x74, 0x72, 0x75, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0d, 0x62, 0x6f, 0x6f, 0x6c,
- 0x46, 0x61, 0x6c, 0x73, 0x65, 0x54, 0x72, 0x75, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74,
- 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64,
- 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x22, 0x75, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12,
- 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45,
- 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43,
- 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f,
- 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4f, 0x4e, 0x54, 0x52,
- 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x10,
- 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x53, 0x45, 0x51,
- 0x55, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x52, 0x52, 0x49, 0x44, 0x10, 0x03, 0x1a, 0x62,
- 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x02, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65,
- 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e,
- 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x1a, 0xb0, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44,
- 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70,
- 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52,
- 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12, 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61,
- 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f,
- 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c,
- 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x46,
- 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65,
- 0x5f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0xd0, 0x02, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
- 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f,
- 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
- 0x2c, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54,
- 0x79, 0x70, 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a,
- 0x04, 0x64, 0x69, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d,
- 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61,
- 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74,
- 0x61, 0x74, 0x65, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74,
- 0x65, 0x12, 0x45, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x75,
- 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x6f,
- 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x75, 0x73, 0x65,
- 0x53, 0x61, 0x6d, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x49, 0x6e, 0x70,
- 0x75, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f,
- 0x67, 0x72, 0x6f, 0x77, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18,
- 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x77, 0x61, 0x62,
- 0x6c, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x1a, 0x8b, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72,
- 0x61, 0x74, 0x65, 0x67, 0x79, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x12, 0x3f, 0x0a, 0x1c, 0x6d,
- 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d,
- 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79,
- 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x38, 0x0a, 0x18,
- 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x75, 0x74, 0x69,
- 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16,
- 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x53, 0x6c, 0x6f, 0x74, 0x55, 0x74, 0x69, 0x6c, 0x69,
- 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xe8, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74,
- 0x65, 0x67, 0x79, 0x4f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x6d, 0x61, 0x78,
- 0x5f, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x71, 0x75, 0x65,
- 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x15, 0x6d, 0x61, 0x78, 0x43,
- 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x5f, 0x62,
- 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52,
- 0x12, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53,
- 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65,
- 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63, 0x6f,
- 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x51, 0x75,
- 0x65, 0x75, 0x65, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x65, 0x63,
- 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
- 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x10, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e,
- 0x67, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x5f, 0x63, 0x68,
- 0x6f, 0x69, 0x63, 0x65, 0x22, 0xc6, 0x03, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e,
- 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70,
- 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53,
- 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x1a, 0x81, 0x03, 0x0a, 0x04, 0x53, 0x74,
- 0x65, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d,
- 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
- 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56,
- 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f,
- 0x6d, 0x61, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e,
- 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x49,
- 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x04, 0x20, 0x03,
- 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x2e,
- 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09,
- 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x6f, 0x64,
- 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61,
- 0x63, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 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,
- 0x3c, 0x0a, 0x0e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72,
- 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
- 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x33, 0x0a,
- 0x0e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12,
- 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
- 0x75, 0x65, 0x22, 0xae, 0x03, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d,
- 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f,
- 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63,
- 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18,
- 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
- 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x14, 0x0a,
- 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x1a, 0xc8, 0x01, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a,
- 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
- 0x32, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70,
- 0x65, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64,
- 0x69, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x04, 0x64, 0x69, 0x6d, 0x73, 0x12,
- 0x1d, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
- 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21,
- 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x44, 0x61, 0x74,
- 0x61, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f,
- 0x66, 0x69, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e,
- 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x69,
- 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x53,
- 0x0a, 0x0b, 0x49, 0x6e, 0x70, 0x75, 0x74, 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,
- 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d,
- 0x75, 0x70, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
- 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, 0x0f, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x70, 0x5f, 0x6c, 0x69, 0x62,
- 0x72, 0x61, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x09, 0x52, 0x11, 0x6f, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x46, 0x69,
- 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x36, 0x0a, 0x16, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
- 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x63, 0x6f, 0x75, 0x70, 0x6c, 0x65, 0x64, 0x22, 0x84,
- 0x02, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
- 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e,
- 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79,
- 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x67,
- 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xae, 0x01, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x12,
- 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
- 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
- 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67,
- 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61,
- 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
- 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2c, 0x0a, 0x12, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65,
- 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61,
- 0x62, 0x6c, 0x65, 0x22, 0x9a, 0x03, 0x0a, 0x0c, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x73, 0x12, 0x48, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x63,
- 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52,
- 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x1a, 0xbf,
- 0x02, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
- 0x12, 0x5f, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74,
- 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x4d,
- 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52,
- 0x10, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65,
- 0x72, 0x12, 0x61, 0x0a, 0x11, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x5f, 0x6f,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
- 0x73, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e,
- 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x48, 0x00, 0x52, 0x10, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x2a, 0x0a, 0x10, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x49, 0x64,
- 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69,
- 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79,
- 0x1a, 0x2c, 0x0a, 0x10, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x4f, 0x70, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x01, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x10,
- 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
- 0x22, 0xac, 0x0d, 0x0a, 0x0b, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
- 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
- 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
- 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x75,
- 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e,
- 0x74, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
- 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61,
- 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
- 0x6d, 0x61, 0x78, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x05,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x05,
- 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18,
- 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
- 0x64, 0x65, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75,
- 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74,
- 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x42,
- 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68,
- 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f,
- 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52,
- 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0c,
- 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c,
- 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
- 0x63, 0x79, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x12, 0x48, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x62, 0x61, 0x74, 0x63,
- 0x68, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x42,
- 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d,
- 0x69, 0x63, 0x42, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x4b, 0x0a, 0x11, 0x73, 0x65,
- 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18,
- 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f,
- 0x64, 0x65, 0x6c, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68,
- 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x10, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42,
- 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x12, 0x49, 0x0a, 0x13, 0x65, 0x6e, 0x73, 0x65, 0x6d,
- 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0f,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x45, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x12,
- 0x65, 0x6e, 0x73, 0x65, 0x6d, 0x62, 0x6c, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69,
- 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67,
- 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
- 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47,
- 0x72, 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
- 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x12, 0x63, 0x63,
- 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73,
- 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d,
- 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x63, 0x4d, 0x6f, 0x64,
- 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x52, 0x10, 0x63, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d,
- 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x74, 0x61, 0x67,
- 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x72,
- 0x69, 0x63, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x65, 0x74,
- 0x72, 0x69, 0x63, 0x54, 0x61, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d,
- 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
- 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x6d,
- 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x77, 0x61, 0x72, 0x6d, 0x75, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x57,
- 0x61, 0x72, 0x6d, 0x75, 0x70, 0x52, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x57, 0x61, 0x72, 0x6d,
- 0x75, 0x70, 0x12, 0x41, 0x0a, 0x10, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x57, 0x0a, 0x18, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x74,
- 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63,
- 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
- 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
- 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x54, 0x72, 0x61,
- 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x54,
- 0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f,
- 0x72, 0x79, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x1c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x6d,
- 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x67,
- 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f,
- 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69,
- 0x63, 0x73, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
- 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x63, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x6e,
- 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
- 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
- 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 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, 0x54, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
- 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x05, 0x76, 0x61, 0x6c,
- 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x73, 0x63,
- 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x2a,
- 0xfa, 0x01, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0d,
- 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x01, 0x12, 0x0e, 0x0a,
- 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x02, 0x12, 0x0f, 0x0a,
- 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x03, 0x12, 0x0f,
- 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x04, 0x12,
- 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x05,
- 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x38, 0x10, 0x06, 0x12,
- 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x31, 0x36, 0x10, 0x07, 0x12,
- 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x33, 0x32, 0x10, 0x08, 0x12,
- 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x09, 0x12,
- 0x0d, 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x31, 0x36, 0x10, 0x0a, 0x12, 0x0d,
- 0x0a, 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x33, 0x32, 0x10, 0x0b, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x50, 0x36, 0x34, 0x10, 0x0c, 0x12, 0x0f, 0x0a, 0x0b,
- 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x0d, 0x12, 0x0d, 0x0a,
- 0x09, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x46, 0x31, 0x36, 0x10, 0x0e, 0x42, 0x1b, 0x5a, 0x19,
- 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
- 0x2f, 0x70, 0x72, 0x65, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x33,
-}
+var File_internal_predator_proto_model_config_proto protoreflect.FileDescriptor
+
+const file_internal_predator_proto_model_config_proto_rawDesc = "" +
+ "\n" +
+ "*internal/predator/proto/model_config.proto\x12\x05proto\"\xbc\x01\n" +
+ "\x10ModelRateLimiter\x12>\n" +
+ "\tresources\x18\x01 \x03(\v2 .proto.ModelRateLimiter.ResourceR\tresources\x12\x1a\n" +
+ "\bpriority\x18\x02 \x01(\rR\bpriority\x1aL\n" +
+ "\bResource\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n" +
+ "\x06global\x18\x02 \x01(\bR\x06global\x12\x14\n" +
+ "\x05count\x18\x03 \x01(\rR\x05count\"\xdd\x04\n" +
+ "\x12ModelInstanceGroup\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x122\n" +
+ "\x04kind\x18\x04 \x01(\x0e2\x1e.proto.ModelInstanceGroup.KindR\x04kind\x12\x14\n" +
+ "\x05count\x18\x02 \x01(\x05R\x05count\x12:\n" +
+ "\frate_limiter\x18\x06 \x01(\v2\x17.proto.ModelRateLimiterR\vrateLimiter\x12\x12\n" +
+ "\x04gpus\x18\x03 \x03(\x05R\x04gpus\x12V\n" +
+ "\x11secondary_devices\x18\b \x03(\v2).proto.ModelInstanceGroup.SecondaryDeviceR\x10secondaryDevices\x12\x18\n" +
+ "\aprofile\x18\x05 \x03(\tR\aprofile\x12\x18\n" +
+ "\apassive\x18\a \x01(\bR\apassive\x12\x1f\n" +
+ "\vhost_policy\x18\t \x01(\tR\n" +
+ "hostPolicy\x1a\xa8\x01\n" +
+ "\x0fSecondaryDevice\x12Q\n" +
+ "\x04kind\x18\x01 \x01(\x0e2=.proto.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKindR\x04kind\x12\x1b\n" +
+ "\tdevice_id\x18\x02 \x01(\x03R\bdeviceId\"%\n" +
+ "\x13SecondaryDeviceKind\x12\x0e\n" +
+ "\n" +
+ "KIND_NVDLA\x10\x00\"A\n" +
+ "\x04Kind\x12\r\n" +
+ "\tKIND_AUTO\x10\x00\x12\f\n" +
+ "\bKIND_GPU\x10\x01\x12\f\n" +
+ "\bKIND_CPU\x10\x02\x12\x0e\n" +
+ "\n" +
+ "KIND_MODEL\x10\x03\"*\n" +
+ "\x12ModelTensorReshape\x12\x14\n" +
+ "\x05shape\x18\x01 \x03(\x03R\x05shape\"\xae\x03\n" +
+ "\n" +
+ "ModelInput\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12,\n" +
+ "\tdata_type\x18\x02 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x120\n" +
+ "\x06format\x18\x03 \x01(\x0e2\x18.proto.ModelInput.FormatR\x06format\x12\x12\n" +
+ "\x04dims\x18\x04 \x03(\x03R\x04dims\x123\n" +
+ "\areshape\x18\x05 \x01(\v2\x19.proto.ModelTensorReshapeR\areshape\x12&\n" +
+ "\x0fis_shape_tensor\x18\x06 \x01(\bR\risShapeTensor\x12,\n" +
+ "\x12allow_ragged_batch\x18\a \x01(\bR\x10allowRaggedBatch\x12\x1a\n" +
+ "\boptional\x18\b \x01(\bR\boptional\x124\n" +
+ "\x17is_non_linear_format_io\x18\t \x01(\bR\x13isNonLinearFormatIo\";\n" +
+ "\x06Format\x12\x0f\n" +
+ "\vFORMAT_NONE\x10\x00\x12\x0f\n" +
+ "\vFORMAT_NHWC\x10\x01\x12\x0f\n" +
+ "\vFORMAT_NCHW\x10\x02\"\x9d\x02\n" +
+ "\vModelOutput\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12,\n" +
+ "\tdata_type\x18\x02 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x12\x12\n" +
+ "\x04dims\x18\x03 \x03(\x03R\x04dims\x123\n" +
+ "\areshape\x18\x05 \x01(\v2\x19.proto.ModelTensorReshapeR\areshape\x12%\n" +
+ "\x0elabel_filename\x18\x04 \x01(\tR\rlabelFilename\x12&\n" +
+ "\x0fis_shape_tensor\x18\x06 \x01(\bR\risShapeTensor\x124\n" +
+ "\x17is_non_linear_format_io\x18\a \x01(\bR\x13isNonLinearFormatIo\"\xfa\x02\n" +
+ "\n" +
+ "BatchInput\x12*\n" +
+ "\x04kind\x18\x01 \x01(\x0e2\x16.proto.BatchInput.KindR\x04kind\x12\x1f\n" +
+ "\vtarget_name\x18\x02 \x03(\tR\n" +
+ "targetName\x12,\n" +
+ "\tdata_type\x18\x03 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x12!\n" +
+ "\fsource_input\x18\x04 \x03(\tR\vsourceInput\"\xcd\x01\n" +
+ "\x04Kind\x12\x17\n" +
+ "\x13BATCH_ELEMENT_COUNT\x10\x00\x12#\n" +
+ "\x1fBATCH_ACCUMULATED_ELEMENT_COUNT\x10\x01\x12-\n" +
+ ")BATCH_ACCUMULATED_ELEMENT_COUNT_WITH_ZERO\x10\x02\x12$\n" +
+ " BATCH_MAX_ELEMENT_COUNT_AS_SHAPE\x10\x03\x12\x14\n" +
+ "\x10BATCH_ITEM_SHAPE\x10\x04\x12\x1c\n" +
+ "\x18BATCH_ITEM_SHAPE_FLATTEN\x10\x05\"\xaa\x01\n" +
+ "\vBatchOutput\x12\x1f\n" +
+ "\vtarget_name\x18\x01 \x03(\tR\n" +
+ "targetName\x12+\n" +
+ "\x04kind\x18\x02 \x01(\x0e2\x17.proto.BatchOutput.KindR\x04kind\x12!\n" +
+ "\fsource_input\x18\x03 \x03(\tR\vsourceInput\"*\n" +
+ "\x04Kind\x12\"\n" +
+ "\x1eBATCH_SCATTER_WITH_INPUT_SHAPE\x10\x00\"\xb2\x02\n" +
+ "\x12ModelVersionPolicy\x12:\n" +
+ "\x06latest\x18\x01 \x01(\v2 .proto.ModelVersionPolicy.LatestH\x00R\x06latest\x121\n" +
+ "\x03all\x18\x02 \x01(\v2\x1d.proto.ModelVersionPolicy.AllH\x00R\x03all\x12@\n" +
+ "\bspecific\x18\x03 \x01(\v2\".proto.ModelVersionPolicy.SpecificH\x00R\bspecific\x1a+\n" +
+ "\x06Latest\x12!\n" +
+ "\fnum_versions\x18\x01 \x01(\rR\vnumVersions\x1a\x05\n" +
+ "\x03All\x1a&\n" +
+ "\bSpecific\x12\x1a\n" +
+ "\bversions\x18\x01 \x03(\x03R\bversionsB\x0f\n" +
+ "\rpolicy_choice\"\xa8\x10\n" +
+ "\x17ModelOptimizationPolicy\x12:\n" +
+ "\x05graph\x18\x01 \x01(\v2$.proto.ModelOptimizationPolicy.GraphR\x05graph\x12H\n" +
+ "\bpriority\x18\x02 \x01(\x0e2,.proto.ModelOptimizationPolicy.ModelPriorityR\bpriority\x127\n" +
+ "\x04cuda\x18\x03 \x01(\v2#.proto.ModelOptimizationPolicy.CudaR\x04cuda\x12k\n" +
+ "\x16execution_accelerators\x18\x04 \x01(\v24.proto.ModelOptimizationPolicy.ExecutionAcceleratorsR\x15executionAccelerators\x12a\n" +
+ "\x13input_pinned_memory\x18\x05 \x01(\v21.proto.ModelOptimizationPolicy.PinnedMemoryBufferR\x11inputPinnedMemory\x12c\n" +
+ "\x14output_pinned_memory\x18\x06 \x01(\v21.proto.ModelOptimizationPolicy.PinnedMemoryBufferR\x12outputPinnedMemory\x12C\n" +
+ "\x1egather_kernel_buffer_threshold\x18\a \x01(\rR\x1bgatherKernelBufferThreshold\x12%\n" +
+ "\x0eeager_batching\x18\b \x01(\bR\reagerBatching\x1a\x1d\n" +
+ "\x05Graph\x12\x14\n" +
+ "\x05level\x18\x01 \x01(\x05R\x05level\x1a\xa9\x06\n" +
+ "\x04Cuda\x12\x16\n" +
+ "\x06graphs\x18\x01 \x01(\bR\x06graphs\x12(\n" +
+ "\x10busy_wait_events\x18\x02 \x01(\bR\x0ebusyWaitEvents\x12L\n" +
+ "\n" +
+ "graph_spec\x18\x03 \x03(\v2-.proto.ModelOptimizationPolicy.Cuda.GraphSpecR\tgraphSpec\x12,\n" +
+ "\x12output_copy_stream\x18\x04 \x01(\bR\x10outputCopyStream\x1a\xe2\x04\n" +
+ "\tGraphSpec\x12\x1d\n" +
+ "\n" +
+ "batch_size\x18\x01 \x01(\x05R\tbatchSize\x12N\n" +
+ "\x05input\x18\x02 \x03(\v28.proto.ModelOptimizationPolicy.Cuda.GraphSpec.InputEntryR\x05input\x12d\n" +
+ "\x11graph_lower_bound\x18\x03 \x01(\v28.proto.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBoundR\x0fgraphLowerBound\x1a\x19\n" +
+ "\x05Shape\x12\x10\n" +
+ "\x03dim\x18\x01 \x03(\x03R\x03dim\x1a\xf5\x01\n" +
+ "\n" +
+ "LowerBound\x12\x1d\n" +
+ "\n" +
+ "batch_size\x18\x01 \x01(\x05R\tbatchSize\x12Y\n" +
+ "\x05input\x18\x02 \x03(\v2C.proto.ModelOptimizationPolicy.Cuda.GraphSpec.LowerBound.InputEntryR\x05input\x1am\n" +
+ "\n" +
+ "InputEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12I\n" +
+ "\x05value\x18\x02 \x01(\v23.proto.ModelOptimizationPolicy.Cuda.GraphSpec.ShapeR\x05value:\x028\x01\x1am\n" +
+ "\n" +
+ "InputEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12I\n" +
+ "\x05value\x18\x02 \x01(\v23.proto.ModelOptimizationPolicy.Cuda.GraphSpec.ShapeR\x05value:\x028\x01\x1a\xe8\x03\n" +
+ "\x15ExecutionAccelerators\x12|\n" +
+ "\x19gpu_execution_accelerator\x18\x01 \x03(\v2@.proto.ModelOptimizationPolicy.ExecutionAccelerators.AcceleratorR\x17gpuExecutionAccelerator\x12|\n" +
+ "\x19cpu_execution_accelerator\x18\x02 \x03(\v2@.proto.ModelOptimizationPolicy.ExecutionAccelerators.AcceleratorR\x17cpuExecutionAccelerator\x1a\xd2\x01\n" +
+ "\vAccelerator\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12p\n" +
+ "\n" +
+ "parameters\x18\x02 \x03(\v2P.proto.ModelOptimizationPolicy.ExecutionAccelerators.Accelerator.ParametersEntryR\n" +
+ "parameters\x1a=\n" +
+ "\x0fParametersEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a,\n" +
+ "\x12PinnedMemoryBuffer\x12\x16\n" +
+ "\x06enable\x18\x01 \x01(\bR\x06enable\"I\n" +
+ "\rModelPriority\x12\x14\n" +
+ "\x10PRIORITY_DEFAULT\x10\x00\x12\x10\n" +
+ "\fPRIORITY_MAX\x10\x01\x12\x10\n" +
+ "\fPRIORITY_MIN\x10\x02\"\xa6\x02\n" +
+ "\x10ModelQueuePolicy\x12L\n" +
+ "\x0etimeout_action\x18\x01 \x01(\x0e2%.proto.ModelQueuePolicy.TimeoutActionR\rtimeoutAction\x12@\n" +
+ "\x1cdefault_timeout_microseconds\x18\x02 \x01(\x04R\x1adefaultTimeoutMicroseconds\x124\n" +
+ "\x16allow_timeout_override\x18\x03 \x01(\bR\x14allowTimeoutOverride\x12$\n" +
+ "\x0emax_queue_size\x18\x04 \x01(\rR\fmaxQueueSize\"&\n" +
+ "\rTimeoutAction\x12\n" +
+ "\n" +
+ "\x06REJECT\x10\x00\x12\t\n" +
+ "\x05DELAY\x10\x01\"\xab\x04\n" +
+ "\x14ModelDynamicBatching\x120\n" +
+ "\x14preferred_batch_size\x18\x01 \x03(\x05R\x12preferredBatchSize\x12?\n" +
+ "\x1cmax_queue_delay_microseconds\x18\x02 \x01(\x04R\x19maxQueueDelayMicroseconds\x12+\n" +
+ "\x11preserve_ordering\x18\x03 \x01(\bR\x10preserveOrdering\x12'\n" +
+ "\x0fpriority_levels\x18\x04 \x01(\x04R\x0epriorityLevels\x124\n" +
+ "\x16default_priority_level\x18\x05 \x01(\x04R\x14defaultPriorityLevel\x12I\n" +
+ "\x14default_queue_policy\x18\x06 \x01(\v2\x17.proto.ModelQueuePolicyR\x12defaultQueuePolicy\x12h\n" +
+ "\x15priority_queue_policy\x18\a \x03(\v24.proto.ModelDynamicBatching.PriorityQueuePolicyEntryR\x13priorityQueuePolicy\x1a_\n" +
+ "\x18PriorityQueuePolicyEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\x04R\x03key\x12-\n" +
+ "\x05value\x18\x02 \x01(\v2\x17.proto.ModelQueuePolicyR\x05value:\x028\x01\"\x83\x0e\n" +
+ "\x15ModelSequenceBatching\x12E\n" +
+ "\x06direct\x18\x03 \x01(\v2+.proto.ModelSequenceBatching.StrategyDirectH\x00R\x06direct\x12E\n" +
+ "\x06oldest\x18\x04 \x01(\v2+.proto.ModelSequenceBatching.StrategyOldestH\x00R\x06oldest\x12C\n" +
+ "\x1emax_sequence_idle_microseconds\x18\x01 \x01(\x04R\x1bmaxSequenceIdleMicroseconds\x12N\n" +
+ "\rcontrol_input\x18\x02 \x03(\v2).proto.ModelSequenceBatching.ControlInputR\fcontrolInput\x128\n" +
+ "\x05state\x18\x05 \x03(\v2\".proto.ModelSequenceBatching.StateR\x05state\x12-\n" +
+ "\x12iterative_sequence\x18\x06 \x01(\bR\x11iterativeSequence\x1a\xe7\x02\n" +
+ "\aControl\x12=\n" +
+ "\x04kind\x18\x01 \x01(\x0e2).proto.ModelSequenceBatching.Control.KindR\x04kind\x12(\n" +
+ "\x10int32_false_true\x18\x02 \x03(\x05R\x0eint32FalseTrue\x12&\n" +
+ "\x0ffp32_false_true\x18\x03 \x03(\x02R\rfp32FalseTrue\x12&\n" +
+ "\x0fbool_false_true\x18\x05 \x03(\bR\rboolFalseTrue\x12,\n" +
+ "\tdata_type\x18\x04 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\"u\n" +
+ "\x04Kind\x12\x1a\n" +
+ "\x16CONTROL_SEQUENCE_START\x10\x00\x12\x1a\n" +
+ "\x16CONTROL_SEQUENCE_READY\x10\x01\x12\x18\n" +
+ "\x14CONTROL_SEQUENCE_END\x10\x02\x12\x1b\n" +
+ "\x17CONTROL_SEQUENCE_CORRID\x10\x03\x1ab\n" +
+ "\fControlInput\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12>\n" +
+ "\acontrol\x18\x02 \x03(\v2$.proto.ModelSequenceBatching.ControlR\acontrol\x1a\xb0\x01\n" +
+ "\fInitialState\x12,\n" +
+ "\tdata_type\x18\x01 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x12\x12\n" +
+ "\x04dims\x18\x02 \x03(\x03R\x04dims\x12\x1d\n" +
+ "\tzero_data\x18\x03 \x01(\bH\x00R\bzeroData\x12\x1d\n" +
+ "\tdata_file\x18\x04 \x01(\tH\x00R\bdataFile\x12\x12\n" +
+ "\x04name\x18\x05 \x01(\tR\x04nameB\f\n" +
+ "\n" +
+ "state_data\x1a\xd0\x02\n" +
+ "\x05State\x12\x1d\n" +
+ "\n" +
+ "input_name\x18\x01 \x01(\tR\tinputName\x12\x1f\n" +
+ "\voutput_name\x18\x02 \x01(\tR\n" +
+ "outputName\x12,\n" +
+ "\tdata_type\x18\x03 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x12\x12\n" +
+ "\x04dims\x18\x04 \x03(\x03R\x04dims\x12N\n" +
+ "\rinitial_state\x18\x05 \x03(\v2).proto.ModelSequenceBatching.InitialStateR\finitialState\x12E\n" +
+ " use_same_buffer_for_input_output\x18\x06 \x01(\bR\x1buseSameBufferForInputOutput\x12.\n" +
+ "\x13use_growable_memory\x18\a \x01(\bR\x11useGrowableMemory\x1a\x8b\x01\n" +
+ "\x0eStrategyDirect\x12?\n" +
+ "\x1cmax_queue_delay_microseconds\x18\x01 \x01(\x04R\x19maxQueueDelayMicroseconds\x128\n" +
+ "\x18minimum_slot_utilization\x18\x02 \x01(\x02R\x16minimumSlotUtilization\x1a\xe8\x01\n" +
+ "\x0eStrategyOldest\x126\n" +
+ "\x17max_candidate_sequences\x18\x01 \x01(\x05R\x15maxCandidateSequences\x120\n" +
+ "\x14preferred_batch_size\x18\x02 \x03(\x05R\x12preferredBatchSize\x12?\n" +
+ "\x1cmax_queue_delay_microseconds\x18\x03 \x01(\x04R\x19maxQueueDelayMicroseconds\x12+\n" +
+ "\x11preserve_ordering\x18\x04 \x01(\bR\x10preserveOrderingB\x11\n" +
+ "\x0fstrategy_choice\"\xc6\x03\n" +
+ "\x0fModelEnsembling\x12/\n" +
+ "\x04step\x18\x01 \x03(\v2\x1b.proto.ModelEnsembling.StepR\x04step\x1a\x81\x03\n" +
+ "\x04Step\x12\x1d\n" +
+ "\n" +
+ "model_name\x18\x01 \x01(\tR\tmodelName\x12#\n" +
+ "\rmodel_version\x18\x02 \x01(\x03R\fmodelVersion\x12F\n" +
+ "\tinput_map\x18\x03 \x03(\v2).proto.ModelEnsembling.Step.InputMapEntryR\binputMap\x12I\n" +
+ "\n" +
+ "output_map\x18\x04 \x03(\v2*.proto.ModelEnsembling.Step.OutputMapEntryR\toutputMap\x12'\n" +
+ "\x0fmodel_namespace\x18\x05 \x01(\tR\x0emodelNamespace\x1a;\n" +
+ "\rInputMapEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a<\n" +
+ "\x0eOutputMapEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"3\n" +
+ "\x0eModelParameter\x12!\n" +
+ "\fstring_value\x18\x01 \x01(\tR\vstringValue\"\xae\x03\n" +
+ "\vModelWarmup\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n" +
+ "\n" +
+ "batch_size\x18\x02 \x01(\rR\tbatchSize\x126\n" +
+ "\x06inputs\x18\x03 \x03(\v2\x1e.proto.ModelWarmup.InputsEntryR\x06inputs\x12\x14\n" +
+ "\x05count\x18\x04 \x01(\rR\x05count\x1a\xc8\x01\n" +
+ "\x05Input\x12,\n" +
+ "\tdata_type\x18\x01 \x01(\x0e2\x0f.proto.DataTypeR\bdataType\x12\x12\n" +
+ "\x04dims\x18\x02 \x03(\x03R\x04dims\x12\x1d\n" +
+ "\tzero_data\x18\x03 \x01(\bH\x00R\bzeroData\x12!\n" +
+ "\vrandom_data\x18\x04 \x01(\bH\x00R\n" +
+ "randomData\x12(\n" +
+ "\x0finput_data_file\x18\x05 \x01(\tH\x00R\rinputDataFileB\x11\n" +
+ "\x0finput_data_type\x1aS\n" +
+ "\vInputsEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12.\n" +
+ "\x05value\x18\x02 \x01(\v2\x18.proto.ModelWarmup.InputR\x05value:\x028\x01\"A\n" +
+ "\x0fModelOperations\x12.\n" +
+ "\x13op_library_filename\x18\x01 \x03(\tR\x11opLibraryFilename\"6\n" +
+ "\x16ModelTransactionPolicy\x12\x1c\n" +
+ "\tdecoupled\x18\x01 \x01(\bR\tdecoupled\"\x84\x02\n" +
+ "\x15ModelRepositoryAgents\x12:\n" +
+ "\x06agents\x18\x01 \x03(\v2\".proto.ModelRepositoryAgents.AgentR\x06agents\x1a\xae\x01\n" +
+ "\x05Agent\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12R\n" +
+ "\n" +
+ "parameters\x18\x02 \x03(\v22.proto.ModelRepositoryAgents.Agent.ParametersEntryR\n" +
+ "parameters\x1a=\n" +
+ "\x0fParametersEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\",\n" +
+ "\x12ModelResponseCache\x12\x16\n" +
+ "\x06enable\x18\x01 \x01(\bR\x06enable\"\x9a\x03\n" +
+ "\fModelMetrics\x12H\n" +
+ "\x0emetric_control\x18\x01 \x03(\v2!.proto.ModelMetrics.MetricControlR\rmetricControl\x1a\xbf\x02\n" +
+ "\rMetricControl\x12_\n" +
+ "\x11metric_identifier\x18\x01 \x01(\v22.proto.ModelMetrics.MetricControl.MetricIdentifierR\x10metricIdentifier\x12a\n" +
+ "\x11histogram_options\x18\x02 \x01(\v22.proto.ModelMetrics.MetricControl.HistogramOptionsH\x00R\x10histogramOptions\x1a*\n" +
+ "\x10MetricIdentifier\x12\x16\n" +
+ "\x06family\x18\x01 \x01(\tR\x06family\x1a,\n" +
+ "\x10HistogramOptions\x12\x18\n" +
+ "\abuckets\x18\x01 \x03(\x01R\abucketsB\x10\n" +
+ "\x0emetric_options\"\xac\r\n" +
+ "\vModelConfig\x12\x12\n" +
+ "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" +
+ "\bplatform\x18\x02 \x01(\tR\bplatform\x12\x18\n" +
+ "\abackend\x18\x11 \x01(\tR\abackend\x12\x18\n" +
+ "\aruntime\x18\x19 \x01(\tR\aruntime\x12@\n" +
+ "\x0eversion_policy\x18\x03 \x01(\v2\x19.proto.ModelVersionPolicyR\rversionPolicy\x12$\n" +
+ "\x0emax_batch_size\x18\x04 \x01(\x05R\fmaxBatchSize\x12'\n" +
+ "\x05input\x18\x05 \x03(\v2\x11.proto.ModelInputR\x05input\x12*\n" +
+ "\x06output\x18\x06 \x03(\v2\x12.proto.ModelOutputR\x06output\x122\n" +
+ "\vbatch_input\x18\x14 \x03(\v2\x11.proto.BatchInputR\n" +
+ "batchInput\x125\n" +
+ "\fbatch_output\x18\x15 \x03(\v2\x12.proto.BatchOutputR\vbatchOutput\x12B\n" +
+ "\foptimization\x18\f \x01(\v2\x1e.proto.ModelOptimizationPolicyR\foptimization\x12H\n" +
+ "\x10dynamic_batching\x18\v \x01(\v2\x1b.proto.ModelDynamicBatchingH\x00R\x0fdynamicBatching\x12K\n" +
+ "\x11sequence_batching\x18\r \x01(\v2\x1c.proto.ModelSequenceBatchingH\x00R\x10sequenceBatching\x12I\n" +
+ "\x13ensemble_scheduling\x18\x0f \x01(\v2\x16.proto.ModelEnsemblingH\x00R\x12ensembleScheduling\x12@\n" +
+ "\x0einstance_group\x18\a \x03(\v2\x19.proto.ModelInstanceGroupR\rinstanceGroup\x124\n" +
+ "\x16default_model_filename\x18\b \x01(\tR\x14defaultModelFilename\x12V\n" +
+ "\x12cc_model_filenames\x18\t \x03(\v2(.proto.ModelConfig.CcModelFilenamesEntryR\x10ccModelFilenames\x12C\n" +
+ "\vmetric_tags\x18\n" +
+ " \x03(\v2\".proto.ModelConfig.MetricTagsEntryR\n" +
+ "metricTags\x12B\n" +
+ "\n" +
+ "parameters\x18\x0e \x03(\v2\".proto.ModelConfig.ParametersEntryR\n" +
+ "parameters\x125\n" +
+ "\fmodel_warmup\x18\x10 \x03(\v2\x12.proto.ModelWarmupR\vmodelWarmup\x12A\n" +
+ "\x10model_operations\x18\x12 \x01(\v2\x16.proto.ModelOperationsR\x0fmodelOperations\x12W\n" +
+ "\x18model_transaction_policy\x18\x13 \x01(\v2\x1d.proto.ModelTransactionPolicyR\x16modelTransactionPolicy\x12T\n" +
+ "\x17model_repository_agents\x18\x17 \x01(\v2\x1c.proto.ModelRepositoryAgentsR\x15modelRepositoryAgents\x12@\n" +
+ "\x0eresponse_cache\x18\x18 \x01(\v2\x19.proto.ModelResponseCacheR\rresponseCache\x128\n" +
+ "\rmodel_metrics\x18\x1a \x01(\v2\x13.proto.ModelMetricsR\fmodelMetrics\x1aC\n" +
+ "\x15CcModelFilenamesEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a=\n" +
+ "\x0fMetricTagsEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
+ "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aT\n" +
+ "\x0fParametersEntry\x12\x10\n" +
+ "\x03key\x18\x01 \x01(\tR\x03key\x12+\n" +
+ "\x05value\x18\x02 \x01(\v2\x15.proto.ModelParameterR\x05value:\x028\x01B\x13\n" +
+ "\x11scheduling_choice*\xfa\x01\n" +
+ "\bDataType\x12\x10\n" +
+ "\fTYPE_INVALID\x10\x00\x12\r\n" +
+ "\tTYPE_BOOL\x10\x01\x12\x0e\n" +
+ "\n" +
+ "TYPE_UINT8\x10\x02\x12\x0f\n" +
+ "\vTYPE_UINT16\x10\x03\x12\x0f\n" +
+ "\vTYPE_UINT32\x10\x04\x12\x0f\n" +
+ "\vTYPE_UINT64\x10\x05\x12\r\n" +
+ "\tTYPE_INT8\x10\x06\x12\x0e\n" +
+ "\n" +
+ "TYPE_INT16\x10\a\x12\x0e\n" +
+ "\n" +
+ "TYPE_INT32\x10\b\x12\x0e\n" +
+ "\n" +
+ "TYPE_INT64\x10\t\x12\r\n" +
+ "\tTYPE_FP16\x10\n" +
+ "\x12\r\n" +
+ "\tTYPE_FP32\x10\v\x12\r\n" +
+ "\tTYPE_FP64\x10\f\x12\x0f\n" +
+ "\vTYPE_STRING\x10\r\x12\r\n" +
+ "\tTYPE_BF16\x10\x0eBJZHgithub.com/Meesho/BharatMLStack/horizon/internal/predator/proto/protogenb\x06proto3"
var (
- file_proto_model_config_proto_rawDescOnce sync.Once
- file_proto_model_config_proto_rawDescData = file_proto_model_config_proto_rawDesc
+ file_internal_predator_proto_model_config_proto_rawDescOnce sync.Once
+ file_internal_predator_proto_model_config_proto_rawDescData []byte
)
-func file_proto_model_config_proto_rawDescGZIP() []byte {
- file_proto_model_config_proto_rawDescOnce.Do(func() {
- file_proto_model_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_model_config_proto_rawDescData)
+func file_internal_predator_proto_model_config_proto_rawDescGZIP() []byte {
+ file_internal_predator_proto_model_config_proto_rawDescOnce.Do(func() {
+ file_internal_predator_proto_model_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_predator_proto_model_config_proto_rawDesc), len(file_internal_predator_proto_model_config_proto_rawDesc)))
})
- return file_proto_model_config_proto_rawDescData
+ return file_internal_predator_proto_model_config_proto_rawDescData
}
-var file_proto_model_config_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
-var file_proto_model_config_proto_msgTypes = make([]protoimpl.MessageInfo, 57)
-var file_proto_model_config_proto_goTypes = []any{
+var file_internal_predator_proto_model_config_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
+var file_internal_predator_proto_model_config_proto_msgTypes = make([]protoimpl.MessageInfo, 57)
+var file_internal_predator_proto_model_config_proto_goTypes = []any{
(DataType)(0), // 0: proto.DataType
(ModelInstanceGroup_Kind)(0), // 1: proto.ModelInstanceGroup.Kind
(ModelInstanceGroup_SecondaryDevice_SecondaryDeviceKind)(0), // 2: proto.ModelInstanceGroup.SecondaryDevice.SecondaryDeviceKind
@@ -4430,7 +4075,7 @@ var file_proto_model_config_proto_goTypes = []any{
nil, // 64: proto.ModelConfig.MetricTagsEntry
nil, // 65: proto.ModelConfig.ParametersEntry
}
-var file_proto_model_config_proto_depIdxs = []int32{
+var file_internal_predator_proto_model_config_proto_depIdxs = []int32{
30, // 0: proto.ModelRateLimiter.resources:type_name -> proto.ModelRateLimiter.Resource
1, // 1: proto.ModelInstanceGroup.kind:type_name -> proto.ModelInstanceGroup.Kind
9, // 2: proto.ModelInstanceGroup.rate_limiter:type_name -> proto.ModelRateLimiter
@@ -4514,54 +4159,53 @@ var file_proto_model_config_proto_depIdxs = []int32{
0, // [0:76] is the sub-list for field type_name
}
-func init() { file_proto_model_config_proto_init() }
-func file_proto_model_config_proto_init() {
- if File_proto_model_config_proto != nil {
+func init() { file_internal_predator_proto_model_config_proto_init() }
+func file_internal_predator_proto_model_config_proto_init() {
+ if File_internal_predator_proto_model_config_proto != nil {
return
}
- file_proto_model_config_proto_msgTypes[7].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[7].OneofWrappers = []any{
(*ModelVersionPolicy_Latest_)(nil),
(*ModelVersionPolicy_All_)(nil),
(*ModelVersionPolicy_Specific_)(nil),
}
- file_proto_model_config_proto_msgTypes[11].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[11].OneofWrappers = []any{
(*ModelSequenceBatching_Direct)(nil),
(*ModelSequenceBatching_Oldest)(nil),
}
- file_proto_model_config_proto_msgTypes[20].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[20].OneofWrappers = []any{
(*ModelConfig_DynamicBatching)(nil),
(*ModelConfig_SequenceBatching)(nil),
(*ModelConfig_EnsembleScheduling)(nil),
}
- file_proto_model_config_proto_msgTypes[40].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[40].OneofWrappers = []any{
(*ModelSequenceBatching_InitialState_ZeroData)(nil),
(*ModelSequenceBatching_InitialState_DataFile)(nil),
}
- file_proto_model_config_proto_msgTypes[47].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[47].OneofWrappers = []any{
(*ModelWarmup_Input_ZeroData)(nil),
(*ModelWarmup_Input_RandomData)(nil),
(*ModelWarmup_Input_InputDataFile)(nil),
}
- file_proto_model_config_proto_msgTypes[51].OneofWrappers = []any{
+ file_internal_predator_proto_model_config_proto_msgTypes[51].OneofWrappers = []any{
(*ModelMetrics_MetricControl_HistogramOptions_)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_proto_model_config_proto_rawDesc,
+ RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_predator_proto_model_config_proto_rawDesc), len(file_internal_predator_proto_model_config_proto_rawDesc)),
NumEnums: 9,
NumMessages: 57,
NumExtensions: 0,
NumServices: 0,
},
- GoTypes: file_proto_model_config_proto_goTypes,
- DependencyIndexes: file_proto_model_config_proto_depIdxs,
- EnumInfos: file_proto_model_config_proto_enumTypes,
- MessageInfos: file_proto_model_config_proto_msgTypes,
+ GoTypes: file_internal_predator_proto_model_config_proto_goTypes,
+ DependencyIndexes: file_internal_predator_proto_model_config_proto_depIdxs,
+ EnumInfos: file_internal_predator_proto_model_config_proto_enumTypes,
+ MessageInfos: file_internal_predator_proto_model_config_proto_msgTypes,
}.Build()
- File_proto_model_config_proto = out.File
- file_proto_model_config_proto_rawDesc = nil
- file_proto_model_config_proto_goTypes = nil
- file_proto_model_config_proto_depIdxs = nil
+ File_internal_predator_proto_model_config_proto = out.File
+ file_internal_predator_proto_model_config_proto_goTypes = nil
+ file_internal_predator_proto_model_config_proto_depIdxs = nil
}
diff --git a/trufflebox-ui/src/pages/Predator/components/Registry/components/EditModelModal.jsx b/trufflebox-ui/src/pages/Predator/components/Registry/components/EditModelModal.jsx
index 82768bc1..9dfc0ff9 100644
--- a/trufflebox-ui/src/pages/Predator/components/Registry/components/EditModelModal.jsx
+++ b/trufflebox-ui/src/pages/Predator/components/Registry/components/EditModelModal.jsx
@@ -9,8 +9,7 @@ import {
CircularProgress,
Typography,
Alert,
- Switch,
- FormControlLabel,
+ TextField,
} from '@mui/material';
import { Edit as EditIcon } from '@mui/icons-material';
import { useAuth } from '../../../../Auth/AuthContext';
@@ -31,11 +30,22 @@ const EditModelModal = ({
const [currentModelData, setCurrentModelData] = useState(null);
const [sourceModels, setSourceModels] = useState([]);
const [serviceDeployableId, setServiceDeployableId] = useState(null);
+ const [instanceCount, setInstanceCount] = useState('');
+
+ const instanceCountTrimmed = instanceCount.trim();
+ const instanceCountValid =
+ instanceCountTrimmed === '' ||
+ (/^\d+$/.test(instanceCountTrimmed) && parseInt(instanceCountTrimmed, 10) >= 0);
+ const instanceCountError = !instanceCountValid && instanceCountTrimmed !== ''
+ ? 'Instance count must be a whole number (0 or greater).'
+ : '';
useEffect(() => {
if (open && model) {
// Set current model data
setCurrentModelData(model);
+ const initialInstanceCount = model?.metaData?.instance_count;
+ setInstanceCount(initialInstanceCount !== undefined && initialInstanceCount !== null ? String(initialInstanceCount) : '');
console.log('currentModelData', model);
// Fetch deployables first, then source models, then model params
@@ -184,6 +194,10 @@ const EditModelModal = ({
}
setModelParamsData(result);
+ // Pre-fill instance_count from suggested model params when available
+ if (result?.instance_count !== undefined && result?.instance_count !== null) {
+ setInstanceCount(String(result.instance_count));
+ }
console.log('modelParamsData', result);
} catch (error) {
@@ -195,6 +209,9 @@ const EditModelModal = ({
};
const handleSubmitEditRequest = async () => {
+ if (!instanceCountValid) {
+ return;
+ }
setIsSubmitting(true);
setError('');
@@ -202,12 +219,19 @@ const EditModelModal = ({
const sourceModel = sourceModels.find(folder => folder.name === model.modelName);
const { model_name, ...metaDataWithoutModelName } = modelParamsData || {};
-
+ const instanceCountValue = instanceCount.trim() !== ''
+ ? parseInt(instanceCount, 10)
+ : (modelParamsData?.instance_count ?? 0);
+ const metaDataWithInstanceCount = {
+ ...metaDataWithoutModelName,
+ instance_count: Number.isNaN(instanceCountValue) ? 0 : instanceCountValue,
+ };
+
const payload = {
payload: [{
model_name: model.modelName,
model_source_path: sourceModel.path,
- meta_data: metaDataWithoutModelName,
+ meta_data: metaDataWithInstanceCount,
config_mapping: {
service_deployable_id: serviceDeployableId
}
@@ -255,6 +279,7 @@ const EditModelModal = ({
setModelParamsData(null);
setCurrentModelData(null);
setServiceDeployableId(null);
+ setInstanceCount('');
onClose();
};
@@ -383,6 +408,30 @@ const EditModelModal = ({
+ {/* Instance Count (included in edit request) */}
+ {!isLoading && (
+
+
+ Instance Count
+
+
+ This value will be sent with the edit request. Leave empty to use the value from the model parameters API.
+
+ setInstanceCount(e.target.value)}
+ type="number"
+ inputProps={{ min: 0, step: 1 }}
+ fullWidth
+ size="small"
+ sx={{ maxWidth: 200 }}
+ error={!!instanceCountError}
+ helperText={instanceCountError}
+ />
+
+ )}
+
{/* Error Display */}
{error && (
@@ -460,7 +509,7 @@ const EditModelModal = ({
: }
sx={{
backgroundColor: '#450839',