diff --git a/internal/gitaly/service/repository/rename.go b/internal/gitaly/service/repository/rename.go deleted file mode 100644 index 08cc1c8f1f1a3eb68181f186fbc32c48d4e47e87..0000000000000000000000000000000000000000 --- a/internal/gitaly/service/repository/rename.go +++ /dev/null @@ -1,123 +0,0 @@ -package repository - -import ( - "context" - "errors" - "fmt" - "os" - "path/filepath" - - "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage" - "gitlab.com/gitlab-org/gitaly/v16/internal/helper/perm" - "gitlab.com/gitlab-org/gitaly/v16/internal/safe" - "gitlab.com/gitlab-org/gitaly/v16/internal/structerr" - "gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb" -) - -func (s *server) RenameRepository(ctx context.Context, in *gitalypb.RenameRepositoryRequest) (*gitalypb.RenameRepositoryResponse, error) { - if err := validateRenameRepositoryRequest(s.locator, in); err != nil { - return nil, structerr.NewInvalidArgument("%w", err) - } - - targetRepo := &gitalypb.Repository{ - StorageName: in.GetRepository().GetStorageName(), - RelativePath: in.GetRelativePath(), - } - - if err := s.renameRepository(ctx, in.GetRepository(), targetRepo); err != nil { - return nil, structerr.NewInternal("%w", err) - } - - return &gitalypb.RenameRepositoryResponse{}, nil -} - -func (s *server) renameRepository(ctx context.Context, sourceRepo, targetRepo *gitalypb.Repository) error { - sourcePath, err := s.locator.GetRepoPath(sourceRepo) - if err != nil { - return structerr.NewInvalidArgument("%w", err) - } - - targetPath, err := s.locator.GetRepoPath(targetRepo, storage.WithRepositoryVerificationSkipped()) - if err != nil { - return structerr.NewInvalidArgument("%w", err) - } - - // Check up front whether the target path exists already. If it does, we can avoid going - // into the critical section altogether. - if _, err := os.Stat(targetPath); !os.IsNotExist(err) { - return structerr.NewAlreadyExists("target repo exists already") - } - - if err := os.MkdirAll(filepath.Dir(targetPath), perm.GroupPrivateDir); err != nil { - return fmt.Errorf("create target parent dir: %w", err) - } - - // We're locking both the source repository path and the target repository path for - // concurrent modification. This is so that the source repo doesn't get moved somewhere else - // meanwhile, and so that the target repo doesn't get created concurrently either. - sourceLocker, err := safe.NewLockingFileWriter(sourcePath) - if err != nil { - return fmt.Errorf("creating source repo locker: %w", err) - } - defer func() { - if err := sourceLocker.Close(); err != nil { - s.logger.WithError(err).ErrorContext(ctx, "closing source repo locker failed") - } - }() - - targetLocker, err := safe.NewLockingFileWriter(targetPath) - if err != nil { - return fmt.Errorf("creating target repo locker: %w", err) - } - defer func() { - if err := targetLocker.Close(); err != nil { - s.logger.WithError(err).ErrorContext(ctx, "closing target repo locker failed") - } - }() - - // We're now entering the critical section where both the source and target path are locked. - if err := sourceLocker.Lock(); err != nil { - return fmt.Errorf("locking source repo: %w", err) - } - if err := targetLocker.Lock(); err != nil { - return fmt.Errorf("locking target repo: %w", err) - } - - // We need to re-check whether the target path exists in case somebody has removed it before - // we have taken the lock. - if _, err := os.Stat(targetPath); !os.IsNotExist(err) { - return structerr.NewAlreadyExists("target repo exists already") - } - - if err := os.Rename(sourcePath, targetPath); err != nil { - return fmt.Errorf("moving repository into place: %w", err) - } - - storagePath, err := s.locator.GetStorageByName(targetRepo.GetStorageName()) - if err != nil { - return fmt.Errorf("get storage by name: %w", err) - } - - syncer := safe.NewSyncer() - if err := syncer.SyncHierarchy(storagePath, targetRepo.GetRelativePath()); err != nil { - return fmt.Errorf("sync hierarchy: %w", err) - } - - if err := syncer.SyncParent(sourcePath); err != nil { - return fmt.Errorf("sync parent: %w", err) - } - - return nil -} - -func validateRenameRepositoryRequest(locator storage.Locator, in *gitalypb.RenameRepositoryRequest) error { - if err := locator.ValidateRepository(in.GetRepository()); err != nil { - return structerr.NewInvalidArgument("%w", err) - } - - if in.GetRelativePath() == "" { - return errors.New("destination relative path is empty") - } - - return nil -} diff --git a/internal/gitaly/service/repository/rename_test.go b/internal/gitaly/service/repository/rename_test.go deleted file mode 100644 index 120ece26fa812f16eb919ba591ce4b1760d0a3f1..0000000000000000000000000000000000000000 --- a/internal/gitaly/service/repository/rename_test.go +++ /dev/null @@ -1,138 +0,0 @@ -package repository - -import ( - "path/filepath" - "testing" - - "github.com/stretchr/testify/require" - "gitlab.com/gitlab-org/gitaly/v16/internal/git/gittest" - "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/config" - "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage" - "gitlab.com/gitlab-org/gitaly/v16/internal/structerr" - "gitlab.com/gitlab-org/gitaly/v16/internal/testhelper" - "gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -func TestRenameRepositorySuccess(t *testing.T) { - t.Parallel() - - ctx := testhelper.Context(t) - - cfg, client := setupRepositoryService(t) - locator := config.NewLocator(cfg) - originalRepo, originalPath := gittest.CreateRepository(t, ctx, cfg) - commitID := gittest.WriteCommit(t, cfg, originalPath) - - targetPath := "a-new-location" - _, err := client.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: originalRepo, - RelativePath: targetPath, - }) - require.NoError(t, err) - - // A repository should not exist with the previous relative path - exists, err := client.RepositoryExists(ctx, &gitalypb.RepositoryExistsRequest{ - Repository: originalRepo, - }) - require.NoError(t, err) - testhelper.ProtoEqual(t, &gitalypb.RepositoryExistsResponse{Exists: false}, exists) - - // A repository should exist with the new relative path - renamedRepo := &gitalypb.Repository{StorageName: originalRepo.StorageName, RelativePath: targetPath} - exists, err = client.RepositoryExists(ctx, &gitalypb.RepositoryExistsRequest{ - Repository: renamedRepo, - }) - require.NoError(t, err) - testhelper.ProtoEqual(t, &gitalypb.RepositoryExistsResponse{Exists: true}, exists) - - if testhelper.IsPraefectEnabled() { - // Praefect does not move repositories on the disk. - targetPath = gittest.GetReplicaPath(t, ctx, cfg, renamedRepo) - } - newDirectory := filepath.Join(cfg.Storages[0].Path, targetPath) - - require.NoError(t, locator.ValidateRepository(&gitalypb.Repository{ - StorageName: cfg.Storages[0].Name, - RelativePath: targetPath, - }), "moved Git repository has been corrupted") - // ensure the git directory that got renamed contains the original commit. - gittest.RequireObjectExists(t, cfg, newDirectory, commitID) -} - -func TestRenameRepositoryDestinationExists(t *testing.T) { - t.Parallel() - - ctx := testhelper.Context(t) - - cfg, client := setupRepositoryService(t) - - existingDestinationRepo, destinationRepoPath := gittest.CreateRepository(t, ctx, cfg) - commitID := gittest.WriteCommit(t, cfg, destinationRepoPath) - renamedRepo, _ := gittest.CreateRepository(t, ctx, cfg) - - _, err := client.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: renamedRepo, - RelativePath: existingDestinationRepo.RelativePath, - }) - testhelper.RequireGrpcCode(t, err, codes.AlreadyExists) - - // ensure the git directory that already existed didn't get overwritten - gittest.RequireObjectExists(t, cfg, destinationRepoPath, commitID) -} - -func TestRenameRepositoryInvalidRequest(t *testing.T) { - t.Parallel() - - ctx := testhelper.Context(t) - - cfg, client := setupRepositoryService(t) - repo, _ := gittest.CreateRepository(t, ctx, cfg) - - testCases := []struct { - desc string - req *gitalypb.RenameRepositoryRequest - exp error - }{ - { - desc: "empty repository", - req: &gitalypb.RenameRepositoryRequest{Repository: nil, RelativePath: "/tmp/abc"}, - exp: structerr.NewInvalidArgument("%w", storage.ErrRepositoryNotSet), - }, - { - desc: "empty destination relative path", - req: &gitalypb.RenameRepositoryRequest{Repository: repo, RelativePath: ""}, - exp: status.Error(codes.InvalidArgument, "destination relative path is empty"), - }, - { - desc: "destination relative path contains path traversal", - req: &gitalypb.RenameRepositoryRequest{Repository: repo, RelativePath: "../usr/bin"}, - exp: testhelper.WithInterceptedMetadata( - structerr.NewInvalidArgument("%w", storage.ErrRelativePathEscapesRoot), - "relative_path", "../usr/bin", - ), - }, - { - desc: "repository storage doesn't exist", - req: &gitalypb.RenameRepositoryRequest{Repository: &gitalypb.Repository{StorageName: "stub", RelativePath: repo.RelativePath}, RelativePath: "usr/bin"}, - exp: testhelper.ToInterceptedMetadata(structerr.NewInvalidArgument( - "%w", storage.NewStorageNotFoundError("stub"), - )), - }, - { - desc: "repository relative path doesn't exist", - req: &gitalypb.RenameRepositoryRequest{Repository: &gitalypb.Repository{StorageName: repo.StorageName, RelativePath: "stub"}, RelativePath: "non-existent/directory"}, - exp: testhelper.ToInterceptedMetadata( - structerr.New("%w", storage.NewRepositoryNotFoundError(cfg.Storages[0].Name, "stub")), - ), - }, - } - - for _, tc := range testCases { - t.Run(tc.desc, func(t *testing.T) { - _, err := client.RenameRepository(ctx, tc.req) - testhelper.RequireGrpcError(t, tc.exp, err) - }) - } -} diff --git a/internal/praefect/coordinator.go b/internal/praefect/coordinator.go index ac1d554f3a285e180f7a5bb15ada772f88957519..0719e68cb3344b7d765eeb99805277f0b6968d61 100644 --- a/internal/praefect/coordinator.go +++ b/internal/praefect/coordinator.go @@ -95,7 +95,6 @@ var transactionRPCs = map[string]transactionsCondition{ // transactional in the future if the need arises. "/gitaly.ObjectPoolService/CreateObjectPool": transactionsDisabled, "/gitaly.ObjectPoolService/DeleteObjectPool": transactionsDisabled, - "/gitaly.RepositoryService/RenameRepository": transactionsDisabled, } // forcePrimaryRoutingRPCs tracks RPCs which need to always get routed to the primary. This should @@ -162,12 +161,6 @@ func getReplicationDetails(methodName string, m proto.Message) (datastore.Change "/gitaly.RepositoryService/ReplicateRepository", "/gitaly.RepositoryService/RestoreRepository": return datastore.CreateRepo, nil, nil - case "/gitaly.RepositoryService/RenameRepository": - req, ok := m.(*gitalypb.RenameRepositoryRequest) - if !ok { - return "", nil, fmt.Errorf("protocol changed: for method %q expected message type '%T', got '%T'", methodName, req, m) - } - return datastore.RenameRepo, datastore.Params{"RelativePath": req.RelativePath}, nil default: return datastore.UpdateRepo, nil, nil } @@ -1093,17 +1086,6 @@ func (c *Coordinator) newRequestFinalizer( if err := c.rs.IncrementGeneration(ctx, repositoryID, primary, updatedSecondaries); err != nil { return fmt.Errorf("increment generation: %w", err) } - case datastore.RenameRepo: - // Renaming a repository is not idempotent on Gitaly's side. This combined with a failure here results in a problematic state, - // where the client receives an error but can't retry the call as the repository has already been moved on the primary. - // Ideally the rename RPC should copy the repository instead of moving so the client can retry if this failed. - if err := c.rs.RenameRepository(ctx, virtualStorage, targetRepo.GetRelativePath(), primary, params["RelativePath"].(string)); err != nil { - if !errors.Is(err, datastore.ErrRepositoryNotFound) { - return fmt.Errorf("rename repository: %w", err) - } - - c.logger.WithError(err).InfoContext(ctx, "renamed repository does not have a store entry") - } case datastore.CreateRepo: repositorySpecificPrimariesEnabled := c.conf.Failover.ElectionStrategy == config.ElectionStrategyPerRepository variableReplicationFactorEnabled := repositorySpecificPrimariesEnabled && diff --git a/internal/praefect/rename_repository.go b/internal/praefect/rename_repository.go deleted file mode 100644 index 089ab557ccfe3a9a0d0eea0b0e0b946b25677b22..0000000000000000000000000000000000000000 --- a/internal/praefect/rename_repository.go +++ /dev/null @@ -1,78 +0,0 @@ -package praefect - -import ( - "errors" - "fmt" - - "gitlab.com/gitlab-org/gitaly/v16/internal/gitaly/storage" - "gitlab.com/gitlab-org/gitaly/v16/internal/praefect/datastore" - "gitlab.com/gitlab-org/gitaly/v16/internal/structerr" - "gitlab.com/gitlab-org/gitaly/v16/proto/go/gitalypb" - "google.golang.org/grpc" -) - -func validateRenameRepositoryRequest(req *gitalypb.RenameRepositoryRequest, virtualStorages map[string]struct{}) error { - // These checks are not strictly necessary but they exist to keep retain compatibility with - // Gitaly's tested behavior. - repository := req.GetRepository() - if repository == nil || repository.GetStorageName() == "" && repository.GetRelativePath() == "" { - return structerr.NewInvalidArgument("%w", storage.ErrRepositoryNotSet) - } else if repository.GetStorageName() == "" { - return structerr.NewInvalidArgument("%w", storage.ErrStorageNotSet) - } else if repository.GetRelativePath() == "" { - return structerr.NewInvalidArgument("%w", storage.ErrRepositoryPathNotSet) - } else if _, ok := virtualStorages[repository.GetStorageName()]; !ok { - return storage.NewStorageNotFoundError(repository.GetStorageName()) - } else if req.GetRelativePath() == "" { - return structerr.NewInvalidArgument("destination relative path is empty") - } else if _, err := storage.ValidateRelativePath("/fake-root", req.GetRelativePath()); err != nil { - // Gitaly uses ValidateRelativePath to verify there are no traversals, so we use the same function - // here. Praefect is not susceptible to path traversals as it generates its own disk paths but we - // do this to retain API compatibility with Gitaly. ValidateRelativePath checks for traversals by - // seeing whether the relative path escapes the root directory. It's not possible to traverse up - // from the /, so the traversals in the path wouldn't be caught. To allow for the check to work, - // we use the /fake-root directory simply to notice if there were traversals in the path. - return structerr.NewInvalidArgument("%w", err).WithMetadata("relative_path", req.GetRelativePath()) - } - - return nil -} - -// RenameRepositoryHandler handles /gitaly.RepositoryService/RenameRepository calls by renaming -// the repository in the lookup table stored in the database. -func RenameRepositoryHandler(virtualStoragesNames []string, rs datastore.RepositoryStore) grpc.StreamHandler { - virtualStorages := make(map[string]struct{}, len(virtualStoragesNames)) - for _, virtualStorage := range virtualStoragesNames { - virtualStorages[virtualStorage] = struct{}{} - } - - return func(srv interface{}, stream grpc.ServerStream) error { - var req gitalypb.RenameRepositoryRequest - if err := stream.RecvMsg(&req); err != nil { - return fmt.Errorf("receive request: %w", err) - } - - if err := validateRenameRepositoryRequest(&req, virtualStorages); err != nil { - return err - } - - if err := rs.RenameRepositoryInPlace(stream.Context(), - req.GetRepository().GetStorageName(), - req.GetRepository().GetRelativePath(), - req.GetRelativePath(), - ); err != nil { - if errors.Is(err, datastore.ErrRepositoryNotFound) { - return storage.NewRepositoryNotFoundError( - req.GetRepository().GetStorageName(), - req.GetRepository().GetRelativePath(), - ) - } else if errors.Is(err, datastore.ErrRepositoryAlreadyExists) { - return structerr.NewAlreadyExists("target repo exists already") - } - - return structerr.NewInternal("%w", err) - } - - return stream.SendMsg(&gitalypb.RenameRepositoryResponse{}) - } -} diff --git a/internal/praefect/replicator.go b/internal/praefect/replicator.go index 42b3eebee706d30193dacc15394eec1b5642c83e..c6fd4a64fbf4ad6d527cc009053160d2a456a20f 100644 --- a/internal/praefect/replicator.go +++ b/internal/praefect/replicator.go @@ -156,44 +156,7 @@ func (dr defaultReplicator) Destroy(ctx context.Context, event datastore.Replica } func (dr defaultReplicator) Rename(ctx context.Context, event datastore.ReplicationEvent, targetCC *grpc.ClientConn) error { - targetRepo := &gitalypb.Repository{ - StorageName: event.Job.TargetNodeStorage, - RelativePath: event.Job.RelativePath, - } - - repoSvcClient := gitalypb.NewRepositoryServiceClient(targetCC) - - val, found := event.Job.Params["RelativePath"] - if !found { - return errors.New("no 'RelativePath' parameter for rename") - } - - relativePath, ok := val.(string) - if !ok { - return fmt.Errorf("parameter 'RelativePath' has unexpected type: %T", relativePath) - } - - if _, err := repoSvcClient.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: targetRepo, - RelativePath: relativePath, - }); err != nil { - return err - } - - // If the repository was moved but this fails, we'll have a stale record on the storage but it is missing from the - // virtual storage. We can later schedule a deletion to fix the situation. The newly named repository's record - // will be present once a replication job arrives for it. - if err := dr.rs.RenameRepository(ctx, - event.Job.VirtualStorage, event.Job.RelativePath, event.Job.TargetNodeStorage, relativePath); err != nil { - if !errors.Is(err, datastore.ErrRepositoryNotFound) { - return err - } - - dr.log.WithField(correlation.FieldName, correlation.ExtractFromContext(ctx)). - WithError(err). - Info("replicated repository rename does not have a store entry") - } - + // RenameRepository has been deprecated return nil } diff --git a/internal/praefect/server.go b/internal/praefect/server.go index c54c2b5023e70246f1114e037f721cf9cac84598..4792e4655269a7cb0ad325f8fdfe380009abf303 100644 --- a/internal/praefect/server.go +++ b/internal/praefect/server.go @@ -187,7 +187,6 @@ func NewGRPCServer( proxy.RegisterStreamHandlers(srv, "gitaly.RepositoryService", map[string]grpc.StreamHandler{ "RemoveAll": RemoveAllHandler(deps.RepositoryStore, deps.Conns), "RemoveRepository": RemoveRepositoryHandler(deps.RepositoryStore, deps.Logger, deps.Conns), - "RenameRepository": RenameRepositoryHandler(deps.Config.VirtualStorageNames(), deps.RepositoryStore), "ReplicateRepository": ReplicateRepositoryHandler(deps.Coordinator), "RepositoryExists": RepositoryExistsHandler(deps.RepositoryStore), }) diff --git a/internal/praefect/server_test.go b/internal/praefect/server_test.go index 16b51b0843318e57f19c18d5c5d321c22b1b455d..c0bc070eb4bf417f2dd3eef68615841b19e27185 100644 --- a/internal/praefect/server_test.go +++ b/internal/praefect/server_test.go @@ -5,7 +5,6 @@ import ( "context" "errors" "io" - "math/rand" "net" "sort" "strings" @@ -578,118 +577,6 @@ func TestRemoveRepository(t *testing.T) { verifyReposExistence(t, codes.NotFound) } -func TestRenameRepository(t *testing.T) { - gitalyStorages := []string{"gitaly-1", "gitaly-2", "gitaly-3"} - praefectCfg := config.Config{ - VirtualStorages: []*config.VirtualStorage{{Name: "praefect"}}, - Failover: config.Failover{Enabled: true, ElectionStrategy: config.ElectionStrategyPerRepository}, - } - - for _, storageName := range gitalyStorages { - cfgBuilder := testcfg.NewGitalyCfgBuilder(testcfg.WithStorages(storageName)) - gitalyCfg := cfgBuilder.Build(t) - gitalyAddr := testserver.RunGitalyServer(t, gitalyCfg, setup.RegisterAll, testserver.WithDisablePraefect()) - - praefectCfg.VirtualStorages[0].Nodes = append(praefectCfg.VirtualStorages[0].Nodes, &config.Node{ - Storage: storageName, - Address: gitalyAddr, - Token: gitalyCfg.Auth.Token, - }) - } - - evq := datastore.NewReplicationEventQueueInterceptor(datastore.NewPostgresReplicationEventQueue(testdb.New(t))) - - db := testdb.New(t) - - rs := datastore.NewPostgresRepositoryStore(db, nil) - - logger := testhelper.SharedLogger(t) - txManager := transactions.NewManager(praefectCfg, logger) - clientHandshaker := backchannel.NewClientHandshaker( - logger, - NewBackchannelServerFactory( - logger, - transaction.NewServer(txManager), - nil, - ), - backchannel.DefaultConfiguration(), - ) - - ctx := testhelper.Context(t) - nodeSet, err := DialNodes(ctx, praefectCfg.VirtualStorages, nil, nil, clientHandshaker, nil, logger) - require.NoError(t, err) - defer nodeSet.Close() - - cc, _, cleanup := RunPraefectServer(t, ctx, praefectCfg, BuildOptions{ - WithQueue: evq, - WithRepoStore: rs, - WithRouter: NewPerRepositoryRouter( - nodeSet.Connections(), - nodes.NewPerRepositoryElector(logger, db), - StaticHealthChecker(praefectCfg.StorageNames()), - NewLockedRandom(rand.New(rand.NewSource(0))), - rs, - datastore.NewAssignmentStore(db, praefectCfg.StorageNames()), - rs, - nil, - ), - WithTxMgr: txManager, - }) - t.Cleanup(cleanup) - - virtualRepo1, _ := gittest.CreateRepository(t, ctx, gconfig.Cfg{ - Storages: []gconfig.Storage{{Name: "praefect"}}, - }, gittest.CreateRepositoryConfig{ClientConn: cc}) - - virtualRepo2, _ := gittest.CreateRepository(t, ctx, gconfig.Cfg{ - Storages: []gconfig.Storage{{Name: "praefect"}}, - }, gittest.CreateRepositoryConfig{ClientConn: cc}) - - const newRelativePath = "unused-relative-path" - - repoServiceClient := gitalypb.NewRepositoryServiceClient(cc) - - _, err = repoServiceClient.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: &gitalypb.Repository{ - StorageName: virtualRepo1.StorageName, - RelativePath: "not-found", - }, - RelativePath: virtualRepo2.RelativePath, - }) - testhelper.RequireGrpcError(t, testhelper.ToInterceptedMetadata( - structerr.NewNotFound("%w", storage.NewRepositoryNotFoundError("praefect", "not-found")), - ), err) - - _, err = repoServiceClient.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: virtualRepo1, - RelativePath: virtualRepo2.RelativePath, - }) - - expectedErr := structerr.NewAlreadyExists("target repo exists already") - testhelper.RequireGrpcError(t, expectedErr, err) - - _, err = repoServiceClient.RenameRepository(ctx, &gitalypb.RenameRepositoryRequest{ - Repository: virtualRepo1, - RelativePath: newRelativePath, - }) - require.NoError(t, err) - - resp, err := repoServiceClient.RepositoryExists(ctx, &gitalypb.RepositoryExistsRequest{ - Repository: virtualRepo1, - }) - require.NoError(t, err) - require.False(t, resp.GetExists(), "repo with old name must gone") - - resp, err = repoServiceClient.RepositoryExists(ctx, &gitalypb.RepositoryExistsRequest{ - Repository: &gitalypb.Repository{ - StorageName: virtualRepo1.StorageName, - RelativePath: newRelativePath, - }, - }) - require.NoError(t, err) - require.True(t, resp.GetExists(), "repo with new name must exist") -} - type mockSmartHTTP struct { gitalypb.UnimplementedSmartHTTPServiceServer txMgr *transactions.Manager diff --git a/proto/go/gitalypb/repository.pb.go b/proto/go/gitalypb/repository.pb.go index b5ccfe7794755c8f1d4347e33add6e5451474461..11100ea3423599a2991611411cb7990d4382f1f1 100644 --- a/proto/go/gitalypb/repository.pb.go +++ b/proto/go/gitalypb/repository.pb.go @@ -200,7 +200,7 @@ func (x OptimizeRepositoryRequest_Strategy) Number() protoreflect.EnumNumber { // Deprecated: Use OptimizeRepositoryRequest_Strategy.Descriptor instead. func (OptimizeRepositoryRequest_Strategy) EnumDescriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{75, 0} + return file_repository_proto_rawDescGZIP(), []int{73, 0} } // RepositoryExistsRequest ... @@ -4225,103 +4225,6 @@ func (*RemoveRepositoryResponse) Descriptor() ([]byte, []int) { return file_repository_proto_rawDescGZIP(), []int{70} } -// RenameRepositoryRequest ... -type RenameRepositoryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // repository ... - Repository *Repository `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` - // relative_path ... - RelativePath string `protobuf:"bytes,2,opt,name=relative_path,json=relativePath,proto3" json:"relative_path,omitempty"` -} - -func (x *RenameRepositoryRequest) Reset() { - *x = RenameRepositoryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RenameRepositoryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RenameRepositoryRequest) ProtoMessage() {} - -func (x *RenameRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RenameRepositoryRequest.ProtoReflect.Descriptor instead. -func (*RenameRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{71} -} - -func (x *RenameRepositoryRequest) GetRepository() *Repository { - if x != nil { - return x.Repository - } - return nil -} - -func (x *RenameRepositoryRequest) GetRelativePath() string { - if x != nil { - return x.RelativePath - } - return "" -} - -// RenameRepositoryResponse ... -type RenameRepositoryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RenameRepositoryResponse) Reset() { - *x = RenameRepositoryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RenameRepositoryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RenameRepositoryResponse) ProtoMessage() {} - -func (x *RenameRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RenameRepositoryResponse.ProtoReflect.Descriptor instead. -func (*RenameRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{72} -} - // ReplicateRepositoryRequest is a request for the ReplicateRepository RPC. type ReplicateRepositoryRequest struct { state protoimpl.MessageState @@ -4346,7 +4249,7 @@ type ReplicateRepositoryRequest struct { func (x *ReplicateRepositoryRequest) Reset() { *x = ReplicateRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[73] + mi := &file_repository_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4359,7 +4262,7 @@ func (x *ReplicateRepositoryRequest) String() string { func (*ReplicateRepositoryRequest) ProtoMessage() {} func (x *ReplicateRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[73] + mi := &file_repository_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4372,7 +4275,7 @@ func (x *ReplicateRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicateRepositoryRequest.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{73} + return file_repository_proto_rawDescGZIP(), []int{71} } func (x *ReplicateRepositoryRequest) GetRepository() *Repository { @@ -4406,7 +4309,7 @@ type ReplicateRepositoryResponse struct { func (x *ReplicateRepositoryResponse) Reset() { *x = ReplicateRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[74] + mi := &file_repository_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4419,7 +4322,7 @@ func (x *ReplicateRepositoryResponse) String() string { func (*ReplicateRepositoryResponse) ProtoMessage() {} func (x *ReplicateRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[74] + mi := &file_repository_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4432,7 +4335,7 @@ func (x *ReplicateRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplicateRepositoryResponse.ProtoReflect.Descriptor instead. func (*ReplicateRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{74} + return file_repository_proto_rawDescGZIP(), []int{72} } // OptimizeRepositoryRequest is a request for the OptimizeRepository RPC. @@ -4450,7 +4353,7 @@ type OptimizeRepositoryRequest struct { func (x *OptimizeRepositoryRequest) Reset() { *x = OptimizeRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[75] + mi := &file_repository_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4463,7 +4366,7 @@ func (x *OptimizeRepositoryRequest) String() string { func (*OptimizeRepositoryRequest) ProtoMessage() {} func (x *OptimizeRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[75] + mi := &file_repository_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4476,7 +4379,7 @@ func (x *OptimizeRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use OptimizeRepositoryRequest.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{75} + return file_repository_proto_rawDescGZIP(), []int{73} } func (x *OptimizeRepositoryRequest) GetRepository() *Repository { @@ -4503,7 +4406,7 @@ type OptimizeRepositoryResponse struct { func (x *OptimizeRepositoryResponse) Reset() { *x = OptimizeRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[76] + mi := &file_repository_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4516,7 +4419,7 @@ func (x *OptimizeRepositoryResponse) String() string { func (*OptimizeRepositoryResponse) ProtoMessage() {} func (x *OptimizeRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[76] + mi := &file_repository_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4529,7 +4432,7 @@ func (x *OptimizeRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use OptimizeRepositoryResponse.ProtoReflect.Descriptor instead. func (*OptimizeRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{76} + return file_repository_proto_rawDescGZIP(), []int{74} } // PruneUnreachableObjectsRequest is a request for the PruneUnreachableObjects @@ -4546,7 +4449,7 @@ type PruneUnreachableObjectsRequest struct { func (x *PruneUnreachableObjectsRequest) Reset() { *x = PruneUnreachableObjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[77] + mi := &file_repository_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4559,7 +4462,7 @@ func (x *PruneUnreachableObjectsRequest) String() string { func (*PruneUnreachableObjectsRequest) ProtoMessage() {} func (x *PruneUnreachableObjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[77] + mi := &file_repository_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4572,7 +4475,7 @@ func (x *PruneUnreachableObjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PruneUnreachableObjectsRequest.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{77} + return file_repository_proto_rawDescGZIP(), []int{75} } func (x *PruneUnreachableObjectsRequest) GetRepository() *Repository { @@ -4593,7 +4496,7 @@ type PruneUnreachableObjectsResponse struct { func (x *PruneUnreachableObjectsResponse) Reset() { *x = PruneUnreachableObjectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[78] + mi := &file_repository_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4606,7 +4509,7 @@ func (x *PruneUnreachableObjectsResponse) String() string { func (*PruneUnreachableObjectsResponse) ProtoMessage() {} func (x *PruneUnreachableObjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[78] + mi := &file_repository_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4619,7 +4522,7 @@ func (x *PruneUnreachableObjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PruneUnreachableObjectsResponse.ProtoReflect.Descriptor instead. func (*PruneUnreachableObjectsResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{78} + return file_repository_proto_rawDescGZIP(), []int{76} } // SetFullPathRequest is a request for the SetFullPath RPC. @@ -4637,7 +4540,7 @@ type SetFullPathRequest struct { func (x *SetFullPathRequest) Reset() { *x = SetFullPathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[79] + mi := &file_repository_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4650,7 +4553,7 @@ func (x *SetFullPathRequest) String() string { func (*SetFullPathRequest) ProtoMessage() {} func (x *SetFullPathRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[79] + mi := &file_repository_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4663,7 +4566,7 @@ func (x *SetFullPathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFullPathRequest.ProtoReflect.Descriptor instead. func (*SetFullPathRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{79} + return file_repository_proto_rawDescGZIP(), []int{77} } func (x *SetFullPathRequest) GetRepository() *Repository { @@ -4690,7 +4593,7 @@ type SetFullPathResponse struct { func (x *SetFullPathResponse) Reset() { *x = SetFullPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[80] + mi := &file_repository_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4703,7 +4606,7 @@ func (x *SetFullPathResponse) String() string { func (*SetFullPathResponse) ProtoMessage() {} func (x *SetFullPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[80] + mi := &file_repository_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4716,7 +4619,7 @@ func (x *SetFullPathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFullPathResponse.ProtoReflect.Descriptor instead. func (*SetFullPathResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{80} + return file_repository_proto_rawDescGZIP(), []int{78} } // FullPathRequest is a request for the FullPath RPC. @@ -4732,7 +4635,7 @@ type FullPathRequest struct { func (x *FullPathRequest) Reset() { *x = FullPathRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[81] + mi := &file_repository_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4745,7 +4648,7 @@ func (x *FullPathRequest) String() string { func (*FullPathRequest) ProtoMessage() {} func (x *FullPathRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[81] + mi := &file_repository_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4758,7 +4661,7 @@ func (x *FullPathRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FullPathRequest.ProtoReflect.Descriptor instead. func (*FullPathRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{81} + return file_repository_proto_rawDescGZIP(), []int{79} } func (x *FullPathRequest) GetRepository() *Repository { @@ -4781,7 +4684,7 @@ type FullPathResponse struct { func (x *FullPathResponse) Reset() { *x = FullPathResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[82] + mi := &file_repository_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4794,7 +4697,7 @@ func (x *FullPathResponse) String() string { func (*FullPathResponse) ProtoMessage() {} func (x *FullPathResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[82] + mi := &file_repository_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4807,7 +4710,7 @@ func (x *FullPathResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FullPathResponse.ProtoReflect.Descriptor instead. func (*FullPathResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{82} + return file_repository_proto_rawDescGZIP(), []int{80} } func (x *FullPathResponse) GetPath() string { @@ -4830,7 +4733,7 @@ type RemoveAllRequest struct { func (x *RemoveAllRequest) Reset() { *x = RemoveAllRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[83] + mi := &file_repository_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4843,7 +4746,7 @@ func (x *RemoveAllRequest) String() string { func (*RemoveAllRequest) ProtoMessage() {} func (x *RemoveAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[83] + mi := &file_repository_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4856,7 +4759,7 @@ func (x *RemoveAllRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveAllRequest.ProtoReflect.Descriptor instead. func (*RemoveAllRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{83} + return file_repository_proto_rawDescGZIP(), []int{81} } func (x *RemoveAllRequest) GetStorageName() string { @@ -4876,7 +4779,7 @@ type RemoveAllResponse struct { func (x *RemoveAllResponse) Reset() { *x = RemoveAllResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[84] + mi := &file_repository_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4889,7 +4792,7 @@ func (x *RemoveAllResponse) String() string { func (*RemoveAllResponse) ProtoMessage() {} func (x *RemoveAllResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[84] + mi := &file_repository_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4902,7 +4805,7 @@ func (x *RemoveAllResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveAllResponse.ProtoReflect.Descriptor instead. func (*RemoveAllResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{84} + return file_repository_proto_rawDescGZIP(), []int{82} } // BackupRepositoryRequest is a request for the BackupRepository RPC. @@ -4922,7 +4825,7 @@ type BackupRepositoryRequest struct { func (x *BackupRepositoryRequest) Reset() { *x = BackupRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[85] + mi := &file_repository_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4935,7 +4838,7 @@ func (x *BackupRepositoryRequest) String() string { func (*BackupRepositoryRequest) ProtoMessage() {} func (x *BackupRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[85] + mi := &file_repository_proto_msgTypes[83] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4948,7 +4851,7 @@ func (x *BackupRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupRepositoryRequest.ProtoReflect.Descriptor instead. func (*BackupRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{85} + return file_repository_proto_rawDescGZIP(), []int{83} } func (x *BackupRepositoryRequest) GetRepository() *Repository { @@ -4982,7 +4885,7 @@ type BackupRepositoryResponse struct { func (x *BackupRepositoryResponse) Reset() { *x = BackupRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[86] + mi := &file_repository_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4995,7 +4898,7 @@ func (x *BackupRepositoryResponse) String() string { func (*BackupRepositoryResponse) ProtoMessage() {} func (x *BackupRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[86] + mi := &file_repository_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5008,7 +4911,7 @@ func (x *BackupRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BackupRepositoryResponse.ProtoReflect.Descriptor instead. func (*BackupRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{86} + return file_repository_proto_rawDescGZIP(), []int{84} } // RestoreRepositoryRequest is a request for the RestoreRepository RPC. @@ -5032,7 +4935,7 @@ type RestoreRepositoryRequest struct { func (x *RestoreRepositoryRequest) Reset() { *x = RestoreRepositoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[87] + mi := &file_repository_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5045,7 +4948,7 @@ func (x *RestoreRepositoryRequest) String() string { func (*RestoreRepositoryRequest) ProtoMessage() {} func (x *RestoreRepositoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[87] + mi := &file_repository_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5058,7 +4961,7 @@ func (x *RestoreRepositoryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreRepositoryRequest.ProtoReflect.Descriptor instead. func (*RestoreRepositoryRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{87} + return file_repository_proto_rawDescGZIP(), []int{85} } func (x *RestoreRepositoryRequest) GetRepository() *Repository { @@ -5099,7 +5002,7 @@ type RestoreRepositoryResponse struct { func (x *RestoreRepositoryResponse) Reset() { *x = RestoreRepositoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[88] + mi := &file_repository_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5112,7 +5015,7 @@ func (x *RestoreRepositoryResponse) String() string { func (*RestoreRepositoryResponse) ProtoMessage() {} func (x *RestoreRepositoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[88] + mi := &file_repository_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5125,7 +5028,7 @@ func (x *RestoreRepositoryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RestoreRepositoryResponse.ProtoReflect.Descriptor instead. func (*RestoreRepositoryResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{88} + return file_repository_proto_rawDescGZIP(), []int{86} } // GetFileAttributesRequest is a request for the GetFileAttributes RPC. @@ -5147,7 +5050,7 @@ type GetFileAttributesRequest struct { func (x *GetFileAttributesRequest) Reset() { *x = GetFileAttributesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[89] + mi := &file_repository_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5160,7 +5063,7 @@ func (x *GetFileAttributesRequest) String() string { func (*GetFileAttributesRequest) ProtoMessage() {} func (x *GetFileAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[89] + mi := &file_repository_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5173,7 +5076,7 @@ func (x *GetFileAttributesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFileAttributesRequest.ProtoReflect.Descriptor instead. func (*GetFileAttributesRequest) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{89} + return file_repository_proto_rawDescGZIP(), []int{87} } func (x *GetFileAttributesRequest) GetRepository() *Repository { @@ -5217,7 +5120,7 @@ type GetFileAttributesResponse struct { func (x *GetFileAttributesResponse) Reset() { *x = GetFileAttributesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[90] + mi := &file_repository_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5230,7 +5133,7 @@ func (x *GetFileAttributesResponse) String() string { func (*GetFileAttributesResponse) ProtoMessage() {} func (x *GetFileAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[90] + mi := &file_repository_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5243,7 +5146,7 @@ func (x *GetFileAttributesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFileAttributesResponse.ProtoReflect.Descriptor instead. func (*GetFileAttributesResponse) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{90} + return file_repository_proto_rawDescGZIP(), []int{88} } func (x *GetFileAttributesResponse) GetAttributeInfos() []*GetFileAttributesResponse_AttributeInfo { @@ -5277,7 +5180,7 @@ type RepositoryInfoResponse_ReferencesInfo struct { func (x *RepositoryInfoResponse_ReferencesInfo) Reset() { *x = RepositoryInfoResponse_ReferencesInfo{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[91] + mi := &file_repository_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5290,7 +5193,7 @@ func (x *RepositoryInfoResponse_ReferencesInfo) String() string { func (*RepositoryInfoResponse_ReferencesInfo) ProtoMessage() {} func (x *RepositoryInfoResponse_ReferencesInfo) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[91] + mi := &file_repository_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5356,7 +5259,7 @@ type RepositoryInfoResponse_ObjectsInfo struct { func (x *RepositoryInfoResponse_ObjectsInfo) Reset() { *x = RepositoryInfoResponse_ObjectsInfo{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[92] + mi := &file_repository_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5369,7 +5272,7 @@ func (x *RepositoryInfoResponse_ObjectsInfo) String() string { func (*RepositoryInfoResponse_ObjectsInfo) ProtoMessage() {} func (x *RepositoryInfoResponse_ObjectsInfo) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[92] + mi := &file_repository_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5441,7 +5344,7 @@ type GetRawChangesResponse_RawChange struct { func (x *GetRawChangesResponse_RawChange) Reset() { *x = GetRawChangesResponse_RawChange{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[93] + mi := &file_repository_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5454,7 +5357,7 @@ func (x *GetRawChangesResponse_RawChange) String() string { func (*GetRawChangesResponse_RawChange) ProtoMessage() {} func (x *GetRawChangesResponse_RawChange) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[93] + mi := &file_repository_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5536,7 +5439,7 @@ type BackupRepositoryResponse_SkippedError struct { func (x *BackupRepositoryResponse_SkippedError) Reset() { *x = BackupRepositoryResponse_SkippedError{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[94] + mi := &file_repository_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5549,7 +5452,7 @@ func (x *BackupRepositoryResponse_SkippedError) String() string { func (*BackupRepositoryResponse_SkippedError) ProtoMessage() {} func (x *BackupRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[94] + mi := &file_repository_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5562,7 +5465,7 @@ func (x *BackupRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Mess // Deprecated: Use BackupRepositoryResponse_SkippedError.ProtoReflect.Descriptor instead. func (*BackupRepositoryResponse_SkippedError) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{86, 0} + return file_repository_proto_rawDescGZIP(), []int{84, 0} } // SkippedError is returned when the repository restore has been skipped. @@ -5575,7 +5478,7 @@ type RestoreRepositoryResponse_SkippedError struct { func (x *RestoreRepositoryResponse_SkippedError) Reset() { *x = RestoreRepositoryResponse_SkippedError{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[95] + mi := &file_repository_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5588,7 +5491,7 @@ func (x *RestoreRepositoryResponse_SkippedError) String() string { func (*RestoreRepositoryResponse_SkippedError) ProtoMessage() {} func (x *RestoreRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[95] + mi := &file_repository_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5601,7 +5504,7 @@ func (x *RestoreRepositoryResponse_SkippedError) ProtoReflect() protoreflect.Mes // Deprecated: Use RestoreRepositoryResponse_SkippedError.ProtoReflect.Descriptor instead. func (*RestoreRepositoryResponse_SkippedError) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{88, 0} + return file_repository_proto_rawDescGZIP(), []int{86, 0} } // AttributeInfo is a specified git attribute for a given path. @@ -5623,7 +5526,7 @@ type GetFileAttributesResponse_AttributeInfo struct { func (x *GetFileAttributesResponse_AttributeInfo) Reset() { *x = GetFileAttributesResponse_AttributeInfo{} if protoimpl.UnsafeEnabled { - mi := &file_repository_proto_msgTypes[96] + mi := &file_repository_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5636,7 +5539,7 @@ func (x *GetFileAttributesResponse_AttributeInfo) String() string { func (*GetFileAttributesResponse_AttributeInfo) ProtoMessage() {} func (x *GetFileAttributesResponse_AttributeInfo) ProtoReflect() protoreflect.Message { - mi := &file_repository_proto_msgTypes[96] + mi := &file_repository_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5649,7 +5552,7 @@ func (x *GetFileAttributesResponse_AttributeInfo) ProtoReflect() protoreflect.Me // Deprecated: Use GetFileAttributesResponse_AttributeInfo.ProtoReflect.Descriptor instead. func (*GetFileAttributesResponse_AttributeInfo) Descriptor() ([]byte, []int) { - return file_repository_proto_rawDescGZIP(), []int{90, 0} + return file_repository_proto_rawDescGZIP(), []int{88, 0} } func (x *GetFileAttributesResponse_AttributeInfo) GetPath() string { @@ -6150,401 +6053,386 @@ var file_repository_proto_rawDesc = []byte{ 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x17, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, 0x0a, - 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, + 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x68, 0x0a, 0x31, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2d, 0x72, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x64, - 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x22, 0x1d, 0x0a, 0x1b, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x19, 0x4f, - 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x6f, 0x72, 0x79, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x31, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x68, 0x69, 0x70, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x19, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, + 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, + 0x74, 0x65, 0x67, 0x79, 0x22, 0x52, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, + 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, + 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x48, 0x45, 0x55, 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, + 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, + 0x5f, 0x45, 0x41, 0x47, 0x45, 0x52, 0x10, 0x02, 0x22, 0x1c, 0x0a, 0x1a, 0x4f, 0x70, 0x74, 0x69, + 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x1e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x46, 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x22, 0x52, 0x0a, 0x08, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, - 0x47, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x18, 0x0a, 0x14, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x48, 0x45, 0x55, - 0x52, 0x49, 0x53, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, - 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x45, 0x41, 0x47, 0x45, 0x52, 0x10, 0x02, 0x22, 0x1c, - 0x0a, 0x1a, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x0a, 0x1e, - 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x72, 0x75, 0x6e, - 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, - 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, - 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x22, 0x26, 0x0a, 0x10, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x3b, 0x0a, 0x10, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x27, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0x88, 0xc6, 0x2c, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, - 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x10, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, - 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, 0x0a, - 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xd7, 0x01, - 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x72, 0x79, 0x22, 0x21, 0x0a, 0x1f, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, + 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, + 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x10, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, - 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x2b, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xce, 0x01, - 0x0a, 0x19, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, 0x57, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x88, - 0x21, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, - 0x02, 0x08, 0x02, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x57, 0x0a, 0x0e, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, + 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x74, + 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4b, 0x0a, 0x0f, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, + 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x26, 0x0a, + 0x10, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x3b, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0c, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x04, 0x88, 0xc6, 0x2c, 0x01, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, + 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, 0x0a, + 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x76, 0x61, + 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, + 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, + 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, + 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3f, + 0x0a, 0x11, 0x76, 0x61, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x10, 0x76, + 0x61, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, + 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x22, 0x2b, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x0e, + 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa6, + 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x42, 0x04, 0x98, 0xc6, 0x2c, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0xce, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x46, + 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x1a, + 0x57, 0x0a, 0x0d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0xa9, 0x20, 0x0a, 0x11, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5d, + 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, + 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x57, 0x0a, + 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x50, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x63, 0x0a, 0x12, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, - 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, - 0x4e, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, - 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4d, - 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, - 0x10, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, - 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x60, 0x0a, 0x11, - 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, - 0x68, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, - 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x39, - 0x0a, 0x04, 0x46, 0x73, 0x63, 0x6b, 0x12, 0x13, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x45, 0x0a, 0x08, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x66, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, - 0x12, 0x54, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, - 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, - 0x02, 0x08, 0x01, 0x12, 0x72, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x12, 0x26, + 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, + 0x50, 0x0a, 0x0b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, + 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, + 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, + 0x28, 0x02, 0x08, 0x02, 0x12, 0x63, 0x0a, 0x12, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x47, 0x69, 0x74, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4e, 0x0a, 0x0b, 0x46, 0x65, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x17, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, - 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, - 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x4d, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, + 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x48, 0x61, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, 0x61, + 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x48, 0x61, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, + 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x60, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x46, 0x73, 0x63, 0x6b, + 0x12, 0x13, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x73, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, + 0x73, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x02, 0x12, 0x45, 0x0a, 0x08, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x12, + 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x46, 0x69, + 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x1c, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, - 0x28, 0x01, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, - 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, + 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x12, 0x19, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x72, 0x0a, + 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, 0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x52, + 0x4c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x12, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, - 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x7d, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x29, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, - 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, - 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, + 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x76, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x28, 0x01, 0x30, 0x01, 0x12, 0x50, + 0x0a, 0x0b, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x1a, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, + 0x12, 0x7d, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x29, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, + 0x4a, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, - 0x01, 0x12, 0x4e, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, - 0x02, 0x12, 0x62, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x79, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, - 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x50, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x0b, 0x46, + 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x62, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, + 0x60, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x02, 0x12, 0x50, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, + 0x02, 0x30, 0x01, 0x12, 0x81, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, - 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x56, 0x0a, - 0x0d, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, - 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, - 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, - 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, - 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, 0x28, 0x01, - 0x12, 0x59, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, - 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x65, 0x0a, 0x11, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, - 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, - 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, - 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x6f, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x5d, - 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x5d, 0x0a, - 0x10, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, + 0x6f, 0x6d, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x56, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x61, + 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x61, 0x77, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, + 0x6b, 0x0a, 0x14, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x62, 0x0a, 0x11, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, + 0x12, 0x68, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, + 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, + 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, 0x28, 0x01, 0x12, 0x59, 0x0a, 0x0e, 0x53, 0x65, + 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, + 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, + 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, + 0x02, 0x08, 0x01, 0x28, 0x01, 0x12, 0x65, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, + 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, 0x30, 0x01, 0x12, 0x59, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x12, 0x1d, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, + 0x97, 0x28, 0x02, 0x08, 0x02, 0x30, 0x01, 0x12, 0x6f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x25, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, + 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x66, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x22, + 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6e, 0x61, - 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x66, 0x0a, 0x13, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, + 0x63, 0x0a, 0x12, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, + 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, + 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, - 0x28, 0x02, 0x08, 0x01, 0x12, 0x63, 0x0a, 0x12, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x21, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x52, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x12, 0x72, 0x0a, 0x17, 0x50, 0x72, 0x75, - 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, - 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x12, 0x51, 0x0a, - 0x0b, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, - 0x79, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, - 0x12, 0x48, 0x0a, 0x08, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, - 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x88, 0x02, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0xfa, 0x97, - 0x28, 0x04, 0x08, 0x01, 0x10, 0x02, 0x12, 0x5d, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, - 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, - 0x97, 0x28, 0x02, 0x08, 0x02, 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, - 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x69, - 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, - 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, - 0x6c, 0x61, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, - 0x72, 0x67, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x36, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x28, 0x02, 0x08, 0x03, 0x12, 0x72, 0x0a, 0x17, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x26, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x03, 0x12, 0x51, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x46, + 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x53, 0x65, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x53, 0x65, 0x74, + 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x01, 0x88, 0x02, 0x01, 0x12, 0x48, 0x0a, 0x08, 0x46, + 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x17, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x46, 0x75, 0x6c, 0x6c, 0x50, 0x61, + 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x02, 0x88, 0x02, 0x01, 0x12, 0x4a, 0x0a, 0x09, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, + 0x6c, 0x6c, 0x12, 0x18, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, + 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x08, 0xfa, 0x97, 0x28, 0x04, 0x08, 0x01, 0x10, + 0x02, 0x12, 0x5d, 0x0a, 0x10, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, 0x08, 0x02, + 0x12, 0x60, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x2e, 0x52, + 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, 0x28, 0x02, + 0x08, 0x01, 0x12, 0x60, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, + 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x69, 0x74, 0x61, + 0x6c, 0x79, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x06, 0xfa, 0x97, + 0x28, 0x02, 0x08, 0x02, 0x42, 0x34, 0x5a, 0x32, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x6c, 0x61, 0x62, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x69, + 0x74, 0x61, 0x6c, 0x79, 0x2f, 0x76, 0x31, 0x36, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x2f, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x79, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -6560,7 +6448,7 @@ func file_repository_proto_rawDescGZIP() []byte { } var file_repository_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 97) +var file_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 95) var file_repository_proto_goTypes = []interface{}{ (GetArchiveRequest_Format)(0), // 0: gitaly.GetArchiveRequest.Format (GetRawChangesResponse_RawChange_Operation)(0), // 1: gitaly.GetRawChangesResponse.RawChange.Operation @@ -6636,190 +6524,185 @@ var file_repository_proto_goTypes = []interface{}{ (*GetObjectDirectorySizeResponse)(nil), // 71: gitaly.GetObjectDirectorySizeResponse (*RemoveRepositoryRequest)(nil), // 72: gitaly.RemoveRepositoryRequest (*RemoveRepositoryResponse)(nil), // 73: gitaly.RemoveRepositoryResponse - (*RenameRepositoryRequest)(nil), // 74: gitaly.RenameRepositoryRequest - (*RenameRepositoryResponse)(nil), // 75: gitaly.RenameRepositoryResponse - (*ReplicateRepositoryRequest)(nil), // 76: gitaly.ReplicateRepositoryRequest - (*ReplicateRepositoryResponse)(nil), // 77: gitaly.ReplicateRepositoryResponse - (*OptimizeRepositoryRequest)(nil), // 78: gitaly.OptimizeRepositoryRequest - (*OptimizeRepositoryResponse)(nil), // 79: gitaly.OptimizeRepositoryResponse - (*PruneUnreachableObjectsRequest)(nil), // 80: gitaly.PruneUnreachableObjectsRequest - (*PruneUnreachableObjectsResponse)(nil), // 81: gitaly.PruneUnreachableObjectsResponse - (*SetFullPathRequest)(nil), // 82: gitaly.SetFullPathRequest - (*SetFullPathResponse)(nil), // 83: gitaly.SetFullPathResponse - (*FullPathRequest)(nil), // 84: gitaly.FullPathRequest - (*FullPathResponse)(nil), // 85: gitaly.FullPathResponse - (*RemoveAllRequest)(nil), // 86: gitaly.RemoveAllRequest - (*RemoveAllResponse)(nil), // 87: gitaly.RemoveAllResponse - (*BackupRepositoryRequest)(nil), // 88: gitaly.BackupRepositoryRequest - (*BackupRepositoryResponse)(nil), // 89: gitaly.BackupRepositoryResponse - (*RestoreRepositoryRequest)(nil), // 90: gitaly.RestoreRepositoryRequest - (*RestoreRepositoryResponse)(nil), // 91: gitaly.RestoreRepositoryResponse - (*GetFileAttributesRequest)(nil), // 92: gitaly.GetFileAttributesRequest - (*GetFileAttributesResponse)(nil), // 93: gitaly.GetFileAttributesResponse - (*RepositoryInfoResponse_ReferencesInfo)(nil), // 94: gitaly.RepositoryInfoResponse.ReferencesInfo - (*RepositoryInfoResponse_ObjectsInfo)(nil), // 95: gitaly.RepositoryInfoResponse.ObjectsInfo - (*GetRawChangesResponse_RawChange)(nil), // 96: gitaly.GetRawChangesResponse.RawChange - (*BackupRepositoryResponse_SkippedError)(nil), // 97: gitaly.BackupRepositoryResponse.SkippedError - (*RestoreRepositoryResponse_SkippedError)(nil), // 98: gitaly.RestoreRepositoryResponse.SkippedError - (*GetFileAttributesResponse_AttributeInfo)(nil), // 99: gitaly.GetFileAttributesResponse.AttributeInfo - (*Repository)(nil), // 100: gitaly.Repository - (ObjectFormat)(0), // 101: gitaly.ObjectFormat + (*ReplicateRepositoryRequest)(nil), // 74: gitaly.ReplicateRepositoryRequest + (*ReplicateRepositoryResponse)(nil), // 75: gitaly.ReplicateRepositoryResponse + (*OptimizeRepositoryRequest)(nil), // 76: gitaly.OptimizeRepositoryRequest + (*OptimizeRepositoryResponse)(nil), // 77: gitaly.OptimizeRepositoryResponse + (*PruneUnreachableObjectsRequest)(nil), // 78: gitaly.PruneUnreachableObjectsRequest + (*PruneUnreachableObjectsResponse)(nil), // 79: gitaly.PruneUnreachableObjectsResponse + (*SetFullPathRequest)(nil), // 80: gitaly.SetFullPathRequest + (*SetFullPathResponse)(nil), // 81: gitaly.SetFullPathResponse + (*FullPathRequest)(nil), // 82: gitaly.FullPathRequest + (*FullPathResponse)(nil), // 83: gitaly.FullPathResponse + (*RemoveAllRequest)(nil), // 84: gitaly.RemoveAllRequest + (*RemoveAllResponse)(nil), // 85: gitaly.RemoveAllResponse + (*BackupRepositoryRequest)(nil), // 86: gitaly.BackupRepositoryRequest + (*BackupRepositoryResponse)(nil), // 87: gitaly.BackupRepositoryResponse + (*RestoreRepositoryRequest)(nil), // 88: gitaly.RestoreRepositoryRequest + (*RestoreRepositoryResponse)(nil), // 89: gitaly.RestoreRepositoryResponse + (*GetFileAttributesRequest)(nil), // 90: gitaly.GetFileAttributesRequest + (*GetFileAttributesResponse)(nil), // 91: gitaly.GetFileAttributesResponse + (*RepositoryInfoResponse_ReferencesInfo)(nil), // 92: gitaly.RepositoryInfoResponse.ReferencesInfo + (*RepositoryInfoResponse_ObjectsInfo)(nil), // 93: gitaly.RepositoryInfoResponse.ObjectsInfo + (*GetRawChangesResponse_RawChange)(nil), // 94: gitaly.GetRawChangesResponse.RawChange + (*BackupRepositoryResponse_SkippedError)(nil), // 95: gitaly.BackupRepositoryResponse.SkippedError + (*RestoreRepositoryResponse_SkippedError)(nil), // 96: gitaly.RestoreRepositoryResponse.SkippedError + (*GetFileAttributesResponse_AttributeInfo)(nil), // 97: gitaly.GetFileAttributesResponse.AttributeInfo + (*Repository)(nil), // 98: gitaly.Repository + (ObjectFormat)(0), // 99: gitaly.ObjectFormat } var file_repository_proto_depIdxs = []int32{ - 100, // 0: gitaly.RepositoryExistsRequest.repository:type_name -> gitaly.Repository - 100, // 1: gitaly.RepositorySizeRequest.repository:type_name -> gitaly.Repository - 100, // 2: gitaly.RepositoryInfoRequest.repository:type_name -> gitaly.Repository - 94, // 3: gitaly.RepositoryInfoResponse.references:type_name -> gitaly.RepositoryInfoResponse.ReferencesInfo - 95, // 4: gitaly.RepositoryInfoResponse.objects:type_name -> gitaly.RepositoryInfoResponse.ObjectsInfo - 100, // 5: gitaly.ObjectsSizeRequest.repository:type_name -> gitaly.Repository - 100, // 6: gitaly.ObjectFormatRequest.repository:type_name -> gitaly.Repository - 101, // 7: gitaly.ObjectFormatResponse.format:type_name -> gitaly.ObjectFormat - 100, // 8: gitaly.ApplyGitattributesRequest.repository:type_name -> gitaly.Repository - 100, // 9: gitaly.FetchBundleRequest.repository:type_name -> gitaly.Repository - 100, // 10: gitaly.FetchRemoteRequest.repository:type_name -> gitaly.Repository + 98, // 0: gitaly.RepositoryExistsRequest.repository:type_name -> gitaly.Repository + 98, // 1: gitaly.RepositorySizeRequest.repository:type_name -> gitaly.Repository + 98, // 2: gitaly.RepositoryInfoRequest.repository:type_name -> gitaly.Repository + 92, // 3: gitaly.RepositoryInfoResponse.references:type_name -> gitaly.RepositoryInfoResponse.ReferencesInfo + 93, // 4: gitaly.RepositoryInfoResponse.objects:type_name -> gitaly.RepositoryInfoResponse.ObjectsInfo + 98, // 5: gitaly.ObjectsSizeRequest.repository:type_name -> gitaly.Repository + 98, // 6: gitaly.ObjectFormatRequest.repository:type_name -> gitaly.Repository + 99, // 7: gitaly.ObjectFormatResponse.format:type_name -> gitaly.ObjectFormat + 98, // 8: gitaly.ApplyGitattributesRequest.repository:type_name -> gitaly.Repository + 98, // 9: gitaly.FetchBundleRequest.repository:type_name -> gitaly.Repository + 98, // 10: gitaly.FetchRemoteRequest.repository:type_name -> gitaly.Repository 69, // 11: gitaly.FetchRemoteRequest.remote_params:type_name -> gitaly.Remote - 100, // 12: gitaly.CreateRepositoryRequest.repository:type_name -> gitaly.Repository - 101, // 13: gitaly.CreateRepositoryRequest.object_format:type_name -> gitaly.ObjectFormat - 100, // 14: gitaly.GetArchiveRequest.repository:type_name -> gitaly.Repository + 98, // 12: gitaly.CreateRepositoryRequest.repository:type_name -> gitaly.Repository + 99, // 13: gitaly.CreateRepositoryRequest.object_format:type_name -> gitaly.ObjectFormat + 98, // 14: gitaly.GetArchiveRequest.repository:type_name -> gitaly.Repository 0, // 15: gitaly.GetArchiveRequest.format:type_name -> gitaly.GetArchiveRequest.Format - 100, // 16: gitaly.HasLocalBranchesRequest.repository:type_name -> gitaly.Repository - 100, // 17: gitaly.FetchSourceBranchRequest.repository:type_name -> gitaly.Repository - 100, // 18: gitaly.FetchSourceBranchRequest.source_repository:type_name -> gitaly.Repository - 100, // 19: gitaly.FsckRequest.repository:type_name -> gitaly.Repository - 100, // 20: gitaly.WriteRefRequest.repository:type_name -> gitaly.Repository - 100, // 21: gitaly.FindMergeBaseRequest.repository:type_name -> gitaly.Repository - 100, // 22: gitaly.CreateForkRequest.repository:type_name -> gitaly.Repository - 100, // 23: gitaly.CreateForkRequest.source_repository:type_name -> gitaly.Repository - 100, // 24: gitaly.CreateRepositoryFromURLRequest.repository:type_name -> gitaly.Repository - 100, // 25: gitaly.CreateBundleRequest.repository:type_name -> gitaly.Repository - 100, // 26: gitaly.CreateBundleFromRefListRequest.repository:type_name -> gitaly.Repository - 100, // 27: gitaly.GetConfigRequest.repository:type_name -> gitaly.Repository - 100, // 28: gitaly.RestoreCustomHooksRequest.repository:type_name -> gitaly.Repository - 100, // 29: gitaly.SetCustomHooksRequest.repository:type_name -> gitaly.Repository - 100, // 30: gitaly.BackupCustomHooksRequest.repository:type_name -> gitaly.Repository - 100, // 31: gitaly.GetCustomHooksRequest.repository:type_name -> gitaly.Repository - 100, // 32: gitaly.CreateRepositoryFromBundleRequest.repository:type_name -> gitaly.Repository - 100, // 33: gitaly.FindLicenseRequest.repository:type_name -> gitaly.Repository - 100, // 34: gitaly.GetInfoAttributesRequest.repository:type_name -> gitaly.Repository - 100, // 35: gitaly.CalculateChecksumRequest.repository:type_name -> gitaly.Repository - 100, // 36: gitaly.GetSnapshotRequest.repository:type_name -> gitaly.Repository - 100, // 37: gitaly.CreateRepositoryFromSnapshotRequest.repository:type_name -> gitaly.Repository - 100, // 38: gitaly.GetRawChangesRequest.repository:type_name -> gitaly.Repository - 96, // 39: gitaly.GetRawChangesResponse.raw_changes:type_name -> gitaly.GetRawChangesResponse.RawChange - 100, // 40: gitaly.SearchFilesByNameRequest.repository:type_name -> gitaly.Repository - 100, // 41: gitaly.SearchFilesByContentRequest.repository:type_name -> gitaly.Repository - 100, // 42: gitaly.GetObjectDirectorySizeRequest.repository:type_name -> gitaly.Repository - 100, // 43: gitaly.RemoveRepositoryRequest.repository:type_name -> gitaly.Repository - 100, // 44: gitaly.RenameRepositoryRequest.repository:type_name -> gitaly.Repository - 100, // 45: gitaly.ReplicateRepositoryRequest.repository:type_name -> gitaly.Repository - 100, // 46: gitaly.ReplicateRepositoryRequest.source:type_name -> gitaly.Repository - 100, // 47: gitaly.OptimizeRepositoryRequest.repository:type_name -> gitaly.Repository - 2, // 48: gitaly.OptimizeRepositoryRequest.strategy:type_name -> gitaly.OptimizeRepositoryRequest.Strategy - 100, // 49: gitaly.PruneUnreachableObjectsRequest.repository:type_name -> gitaly.Repository - 100, // 50: gitaly.SetFullPathRequest.repository:type_name -> gitaly.Repository - 100, // 51: gitaly.FullPathRequest.repository:type_name -> gitaly.Repository - 100, // 52: gitaly.BackupRepositoryRequest.repository:type_name -> gitaly.Repository - 100, // 53: gitaly.BackupRepositoryRequest.vanity_repository:type_name -> gitaly.Repository - 100, // 54: gitaly.RestoreRepositoryRequest.repository:type_name -> gitaly.Repository - 100, // 55: gitaly.RestoreRepositoryRequest.vanity_repository:type_name -> gitaly.Repository - 100, // 56: gitaly.GetFileAttributesRequest.repository:type_name -> gitaly.Repository - 99, // 57: gitaly.GetFileAttributesResponse.attribute_infos:type_name -> gitaly.GetFileAttributesResponse.AttributeInfo - 1, // 58: gitaly.GetRawChangesResponse.RawChange.operation:type_name -> gitaly.GetRawChangesResponse.RawChange.Operation - 3, // 59: gitaly.RepositoryService.RepositoryExists:input_type -> gitaly.RepositoryExistsRequest - 5, // 60: gitaly.RepositoryService.RepositorySize:input_type -> gitaly.RepositorySizeRequest - 7, // 61: gitaly.RepositoryService.RepositoryInfo:input_type -> gitaly.RepositoryInfoRequest - 9, // 62: gitaly.RepositoryService.ObjectsSize:input_type -> gitaly.ObjectsSizeRequest - 11, // 63: gitaly.RepositoryService.ObjectFormat:input_type -> gitaly.ObjectFormatRequest - 13, // 64: gitaly.RepositoryService.ApplyGitattributes:input_type -> gitaly.ApplyGitattributesRequest - 17, // 65: gitaly.RepositoryService.FetchRemote:input_type -> gitaly.FetchRemoteRequest - 19, // 66: gitaly.RepositoryService.CreateRepository:input_type -> gitaly.CreateRepositoryRequest - 21, // 67: gitaly.RepositoryService.GetArchive:input_type -> gitaly.GetArchiveRequest - 23, // 68: gitaly.RepositoryService.HasLocalBranches:input_type -> gitaly.HasLocalBranchesRequest - 25, // 69: gitaly.RepositoryService.FetchSourceBranch:input_type -> gitaly.FetchSourceBranchRequest - 27, // 70: gitaly.RepositoryService.Fsck:input_type -> gitaly.FsckRequest - 29, // 71: gitaly.RepositoryService.WriteRef:input_type -> gitaly.WriteRefRequest - 31, // 72: gitaly.RepositoryService.FindMergeBase:input_type -> gitaly.FindMergeBaseRequest - 33, // 73: gitaly.RepositoryService.CreateFork:input_type -> gitaly.CreateForkRequest - 35, // 74: gitaly.RepositoryService.CreateRepositoryFromURL:input_type -> gitaly.CreateRepositoryFromURLRequest - 37, // 75: gitaly.RepositoryService.CreateBundle:input_type -> gitaly.CreateBundleRequest - 39, // 76: gitaly.RepositoryService.CreateBundleFromRefList:input_type -> gitaly.CreateBundleFromRefListRequest - 15, // 77: gitaly.RepositoryService.FetchBundle:input_type -> gitaly.FetchBundleRequest - 51, // 78: gitaly.RepositoryService.CreateRepositoryFromBundle:input_type -> gitaly.CreateRepositoryFromBundleRequest - 41, // 79: gitaly.RepositoryService.GetConfig:input_type -> gitaly.GetConfigRequest - 53, // 80: gitaly.RepositoryService.FindLicense:input_type -> gitaly.FindLicenseRequest - 55, // 81: gitaly.RepositoryService.GetInfoAttributes:input_type -> gitaly.GetInfoAttributesRequest - 57, // 82: gitaly.RepositoryService.CalculateChecksum:input_type -> gitaly.CalculateChecksumRequest - 59, // 83: gitaly.RepositoryService.GetSnapshot:input_type -> gitaly.GetSnapshotRequest - 61, // 84: gitaly.RepositoryService.CreateRepositoryFromSnapshot:input_type -> gitaly.CreateRepositoryFromSnapshotRequest - 63, // 85: gitaly.RepositoryService.GetRawChanges:input_type -> gitaly.GetRawChangesRequest - 67, // 86: gitaly.RepositoryService.SearchFilesByContent:input_type -> gitaly.SearchFilesByContentRequest - 65, // 87: gitaly.RepositoryService.SearchFilesByName:input_type -> gitaly.SearchFilesByNameRequest - 43, // 88: gitaly.RepositoryService.RestoreCustomHooks:input_type -> gitaly.RestoreCustomHooksRequest - 44, // 89: gitaly.RepositoryService.SetCustomHooks:input_type -> gitaly.SetCustomHooksRequest - 47, // 90: gitaly.RepositoryService.BackupCustomHooks:input_type -> gitaly.BackupCustomHooksRequest - 48, // 91: gitaly.RepositoryService.GetCustomHooks:input_type -> gitaly.GetCustomHooksRequest - 70, // 92: gitaly.RepositoryService.GetObjectDirectorySize:input_type -> gitaly.GetObjectDirectorySizeRequest - 72, // 93: gitaly.RepositoryService.RemoveRepository:input_type -> gitaly.RemoveRepositoryRequest - 74, // 94: gitaly.RepositoryService.RenameRepository:input_type -> gitaly.RenameRepositoryRequest - 76, // 95: gitaly.RepositoryService.ReplicateRepository:input_type -> gitaly.ReplicateRepositoryRequest - 78, // 96: gitaly.RepositoryService.OptimizeRepository:input_type -> gitaly.OptimizeRepositoryRequest - 80, // 97: gitaly.RepositoryService.PruneUnreachableObjects:input_type -> gitaly.PruneUnreachableObjectsRequest - 82, // 98: gitaly.RepositoryService.SetFullPath:input_type -> gitaly.SetFullPathRequest - 84, // 99: gitaly.RepositoryService.FullPath:input_type -> gitaly.FullPathRequest - 86, // 100: gitaly.RepositoryService.RemoveAll:input_type -> gitaly.RemoveAllRequest - 88, // 101: gitaly.RepositoryService.BackupRepository:input_type -> gitaly.BackupRepositoryRequest - 90, // 102: gitaly.RepositoryService.RestoreRepository:input_type -> gitaly.RestoreRepositoryRequest - 92, // 103: gitaly.RepositoryService.GetFileAttributes:input_type -> gitaly.GetFileAttributesRequest - 4, // 104: gitaly.RepositoryService.RepositoryExists:output_type -> gitaly.RepositoryExistsResponse - 6, // 105: gitaly.RepositoryService.RepositorySize:output_type -> gitaly.RepositorySizeResponse - 8, // 106: gitaly.RepositoryService.RepositoryInfo:output_type -> gitaly.RepositoryInfoResponse - 10, // 107: gitaly.RepositoryService.ObjectsSize:output_type -> gitaly.ObjectsSizeResponse - 12, // 108: gitaly.RepositoryService.ObjectFormat:output_type -> gitaly.ObjectFormatResponse - 14, // 109: gitaly.RepositoryService.ApplyGitattributes:output_type -> gitaly.ApplyGitattributesResponse - 18, // 110: gitaly.RepositoryService.FetchRemote:output_type -> gitaly.FetchRemoteResponse - 20, // 111: gitaly.RepositoryService.CreateRepository:output_type -> gitaly.CreateRepositoryResponse - 22, // 112: gitaly.RepositoryService.GetArchive:output_type -> gitaly.GetArchiveResponse - 24, // 113: gitaly.RepositoryService.HasLocalBranches:output_type -> gitaly.HasLocalBranchesResponse - 26, // 114: gitaly.RepositoryService.FetchSourceBranch:output_type -> gitaly.FetchSourceBranchResponse - 28, // 115: gitaly.RepositoryService.Fsck:output_type -> gitaly.FsckResponse - 30, // 116: gitaly.RepositoryService.WriteRef:output_type -> gitaly.WriteRefResponse - 32, // 117: gitaly.RepositoryService.FindMergeBase:output_type -> gitaly.FindMergeBaseResponse - 34, // 118: gitaly.RepositoryService.CreateFork:output_type -> gitaly.CreateForkResponse - 36, // 119: gitaly.RepositoryService.CreateRepositoryFromURL:output_type -> gitaly.CreateRepositoryFromURLResponse - 38, // 120: gitaly.RepositoryService.CreateBundle:output_type -> gitaly.CreateBundleResponse - 40, // 121: gitaly.RepositoryService.CreateBundleFromRefList:output_type -> gitaly.CreateBundleFromRefListResponse - 16, // 122: gitaly.RepositoryService.FetchBundle:output_type -> gitaly.FetchBundleResponse - 52, // 123: gitaly.RepositoryService.CreateRepositoryFromBundle:output_type -> gitaly.CreateRepositoryFromBundleResponse - 42, // 124: gitaly.RepositoryService.GetConfig:output_type -> gitaly.GetConfigResponse - 54, // 125: gitaly.RepositoryService.FindLicense:output_type -> gitaly.FindLicenseResponse - 56, // 126: gitaly.RepositoryService.GetInfoAttributes:output_type -> gitaly.GetInfoAttributesResponse - 58, // 127: gitaly.RepositoryService.CalculateChecksum:output_type -> gitaly.CalculateChecksumResponse - 60, // 128: gitaly.RepositoryService.GetSnapshot:output_type -> gitaly.GetSnapshotResponse - 62, // 129: gitaly.RepositoryService.CreateRepositoryFromSnapshot:output_type -> gitaly.CreateRepositoryFromSnapshotResponse - 64, // 130: gitaly.RepositoryService.GetRawChanges:output_type -> gitaly.GetRawChangesResponse - 68, // 131: gitaly.RepositoryService.SearchFilesByContent:output_type -> gitaly.SearchFilesByContentResponse - 66, // 132: gitaly.RepositoryService.SearchFilesByName:output_type -> gitaly.SearchFilesByNameResponse - 45, // 133: gitaly.RepositoryService.RestoreCustomHooks:output_type -> gitaly.RestoreCustomHooksResponse - 46, // 134: gitaly.RepositoryService.SetCustomHooks:output_type -> gitaly.SetCustomHooksResponse - 49, // 135: gitaly.RepositoryService.BackupCustomHooks:output_type -> gitaly.BackupCustomHooksResponse - 50, // 136: gitaly.RepositoryService.GetCustomHooks:output_type -> gitaly.GetCustomHooksResponse - 71, // 137: gitaly.RepositoryService.GetObjectDirectorySize:output_type -> gitaly.GetObjectDirectorySizeResponse - 73, // 138: gitaly.RepositoryService.RemoveRepository:output_type -> gitaly.RemoveRepositoryResponse - 75, // 139: gitaly.RepositoryService.RenameRepository:output_type -> gitaly.RenameRepositoryResponse - 77, // 140: gitaly.RepositoryService.ReplicateRepository:output_type -> gitaly.ReplicateRepositoryResponse - 79, // 141: gitaly.RepositoryService.OptimizeRepository:output_type -> gitaly.OptimizeRepositoryResponse - 81, // 142: gitaly.RepositoryService.PruneUnreachableObjects:output_type -> gitaly.PruneUnreachableObjectsResponse - 83, // 143: gitaly.RepositoryService.SetFullPath:output_type -> gitaly.SetFullPathResponse - 85, // 144: gitaly.RepositoryService.FullPath:output_type -> gitaly.FullPathResponse - 87, // 145: gitaly.RepositoryService.RemoveAll:output_type -> gitaly.RemoveAllResponse - 89, // 146: gitaly.RepositoryService.BackupRepository:output_type -> gitaly.BackupRepositoryResponse - 91, // 147: gitaly.RepositoryService.RestoreRepository:output_type -> gitaly.RestoreRepositoryResponse - 93, // 148: gitaly.RepositoryService.GetFileAttributes:output_type -> gitaly.GetFileAttributesResponse - 104, // [104:149] is the sub-list for method output_type - 59, // [59:104] is the sub-list for method input_type - 59, // [59:59] is the sub-list for extension type_name - 59, // [59:59] is the sub-list for extension extendee - 0, // [0:59] is the sub-list for field type_name + 98, // 16: gitaly.HasLocalBranchesRequest.repository:type_name -> gitaly.Repository + 98, // 17: gitaly.FetchSourceBranchRequest.repository:type_name -> gitaly.Repository + 98, // 18: gitaly.FetchSourceBranchRequest.source_repository:type_name -> gitaly.Repository + 98, // 19: gitaly.FsckRequest.repository:type_name -> gitaly.Repository + 98, // 20: gitaly.WriteRefRequest.repository:type_name -> gitaly.Repository + 98, // 21: gitaly.FindMergeBaseRequest.repository:type_name -> gitaly.Repository + 98, // 22: gitaly.CreateForkRequest.repository:type_name -> gitaly.Repository + 98, // 23: gitaly.CreateForkRequest.source_repository:type_name -> gitaly.Repository + 98, // 24: gitaly.CreateRepositoryFromURLRequest.repository:type_name -> gitaly.Repository + 98, // 25: gitaly.CreateBundleRequest.repository:type_name -> gitaly.Repository + 98, // 26: gitaly.CreateBundleFromRefListRequest.repository:type_name -> gitaly.Repository + 98, // 27: gitaly.GetConfigRequest.repository:type_name -> gitaly.Repository + 98, // 28: gitaly.RestoreCustomHooksRequest.repository:type_name -> gitaly.Repository + 98, // 29: gitaly.SetCustomHooksRequest.repository:type_name -> gitaly.Repository + 98, // 30: gitaly.BackupCustomHooksRequest.repository:type_name -> gitaly.Repository + 98, // 31: gitaly.GetCustomHooksRequest.repository:type_name -> gitaly.Repository + 98, // 32: gitaly.CreateRepositoryFromBundleRequest.repository:type_name -> gitaly.Repository + 98, // 33: gitaly.FindLicenseRequest.repository:type_name -> gitaly.Repository + 98, // 34: gitaly.GetInfoAttributesRequest.repository:type_name -> gitaly.Repository + 98, // 35: gitaly.CalculateChecksumRequest.repository:type_name -> gitaly.Repository + 98, // 36: gitaly.GetSnapshotRequest.repository:type_name -> gitaly.Repository + 98, // 37: gitaly.CreateRepositoryFromSnapshotRequest.repository:type_name -> gitaly.Repository + 98, // 38: gitaly.GetRawChangesRequest.repository:type_name -> gitaly.Repository + 94, // 39: gitaly.GetRawChangesResponse.raw_changes:type_name -> gitaly.GetRawChangesResponse.RawChange + 98, // 40: gitaly.SearchFilesByNameRequest.repository:type_name -> gitaly.Repository + 98, // 41: gitaly.SearchFilesByContentRequest.repository:type_name -> gitaly.Repository + 98, // 42: gitaly.GetObjectDirectorySizeRequest.repository:type_name -> gitaly.Repository + 98, // 43: gitaly.RemoveRepositoryRequest.repository:type_name -> gitaly.Repository + 98, // 44: gitaly.ReplicateRepositoryRequest.repository:type_name -> gitaly.Repository + 98, // 45: gitaly.ReplicateRepositoryRequest.source:type_name -> gitaly.Repository + 98, // 46: gitaly.OptimizeRepositoryRequest.repository:type_name -> gitaly.Repository + 2, // 47: gitaly.OptimizeRepositoryRequest.strategy:type_name -> gitaly.OptimizeRepositoryRequest.Strategy + 98, // 48: gitaly.PruneUnreachableObjectsRequest.repository:type_name -> gitaly.Repository + 98, // 49: gitaly.SetFullPathRequest.repository:type_name -> gitaly.Repository + 98, // 50: gitaly.FullPathRequest.repository:type_name -> gitaly.Repository + 98, // 51: gitaly.BackupRepositoryRequest.repository:type_name -> gitaly.Repository + 98, // 52: gitaly.BackupRepositoryRequest.vanity_repository:type_name -> gitaly.Repository + 98, // 53: gitaly.RestoreRepositoryRequest.repository:type_name -> gitaly.Repository + 98, // 54: gitaly.RestoreRepositoryRequest.vanity_repository:type_name -> gitaly.Repository + 98, // 55: gitaly.GetFileAttributesRequest.repository:type_name -> gitaly.Repository + 97, // 56: gitaly.GetFileAttributesResponse.attribute_infos:type_name -> gitaly.GetFileAttributesResponse.AttributeInfo + 1, // 57: gitaly.GetRawChangesResponse.RawChange.operation:type_name -> gitaly.GetRawChangesResponse.RawChange.Operation + 3, // 58: gitaly.RepositoryService.RepositoryExists:input_type -> gitaly.RepositoryExistsRequest + 5, // 59: gitaly.RepositoryService.RepositorySize:input_type -> gitaly.RepositorySizeRequest + 7, // 60: gitaly.RepositoryService.RepositoryInfo:input_type -> gitaly.RepositoryInfoRequest + 9, // 61: gitaly.RepositoryService.ObjectsSize:input_type -> gitaly.ObjectsSizeRequest + 11, // 62: gitaly.RepositoryService.ObjectFormat:input_type -> gitaly.ObjectFormatRequest + 13, // 63: gitaly.RepositoryService.ApplyGitattributes:input_type -> gitaly.ApplyGitattributesRequest + 17, // 64: gitaly.RepositoryService.FetchRemote:input_type -> gitaly.FetchRemoteRequest + 19, // 65: gitaly.RepositoryService.CreateRepository:input_type -> gitaly.CreateRepositoryRequest + 21, // 66: gitaly.RepositoryService.GetArchive:input_type -> gitaly.GetArchiveRequest + 23, // 67: gitaly.RepositoryService.HasLocalBranches:input_type -> gitaly.HasLocalBranchesRequest + 25, // 68: gitaly.RepositoryService.FetchSourceBranch:input_type -> gitaly.FetchSourceBranchRequest + 27, // 69: gitaly.RepositoryService.Fsck:input_type -> gitaly.FsckRequest + 29, // 70: gitaly.RepositoryService.WriteRef:input_type -> gitaly.WriteRefRequest + 31, // 71: gitaly.RepositoryService.FindMergeBase:input_type -> gitaly.FindMergeBaseRequest + 33, // 72: gitaly.RepositoryService.CreateFork:input_type -> gitaly.CreateForkRequest + 35, // 73: gitaly.RepositoryService.CreateRepositoryFromURL:input_type -> gitaly.CreateRepositoryFromURLRequest + 37, // 74: gitaly.RepositoryService.CreateBundle:input_type -> gitaly.CreateBundleRequest + 39, // 75: gitaly.RepositoryService.CreateBundleFromRefList:input_type -> gitaly.CreateBundleFromRefListRequest + 15, // 76: gitaly.RepositoryService.FetchBundle:input_type -> gitaly.FetchBundleRequest + 51, // 77: gitaly.RepositoryService.CreateRepositoryFromBundle:input_type -> gitaly.CreateRepositoryFromBundleRequest + 41, // 78: gitaly.RepositoryService.GetConfig:input_type -> gitaly.GetConfigRequest + 53, // 79: gitaly.RepositoryService.FindLicense:input_type -> gitaly.FindLicenseRequest + 55, // 80: gitaly.RepositoryService.GetInfoAttributes:input_type -> gitaly.GetInfoAttributesRequest + 57, // 81: gitaly.RepositoryService.CalculateChecksum:input_type -> gitaly.CalculateChecksumRequest + 59, // 82: gitaly.RepositoryService.GetSnapshot:input_type -> gitaly.GetSnapshotRequest + 61, // 83: gitaly.RepositoryService.CreateRepositoryFromSnapshot:input_type -> gitaly.CreateRepositoryFromSnapshotRequest + 63, // 84: gitaly.RepositoryService.GetRawChanges:input_type -> gitaly.GetRawChangesRequest + 67, // 85: gitaly.RepositoryService.SearchFilesByContent:input_type -> gitaly.SearchFilesByContentRequest + 65, // 86: gitaly.RepositoryService.SearchFilesByName:input_type -> gitaly.SearchFilesByNameRequest + 43, // 87: gitaly.RepositoryService.RestoreCustomHooks:input_type -> gitaly.RestoreCustomHooksRequest + 44, // 88: gitaly.RepositoryService.SetCustomHooks:input_type -> gitaly.SetCustomHooksRequest + 47, // 89: gitaly.RepositoryService.BackupCustomHooks:input_type -> gitaly.BackupCustomHooksRequest + 48, // 90: gitaly.RepositoryService.GetCustomHooks:input_type -> gitaly.GetCustomHooksRequest + 70, // 91: gitaly.RepositoryService.GetObjectDirectorySize:input_type -> gitaly.GetObjectDirectorySizeRequest + 72, // 92: gitaly.RepositoryService.RemoveRepository:input_type -> gitaly.RemoveRepositoryRequest + 74, // 93: gitaly.RepositoryService.ReplicateRepository:input_type -> gitaly.ReplicateRepositoryRequest + 76, // 94: gitaly.RepositoryService.OptimizeRepository:input_type -> gitaly.OptimizeRepositoryRequest + 78, // 95: gitaly.RepositoryService.PruneUnreachableObjects:input_type -> gitaly.PruneUnreachableObjectsRequest + 80, // 96: gitaly.RepositoryService.SetFullPath:input_type -> gitaly.SetFullPathRequest + 82, // 97: gitaly.RepositoryService.FullPath:input_type -> gitaly.FullPathRequest + 84, // 98: gitaly.RepositoryService.RemoveAll:input_type -> gitaly.RemoveAllRequest + 86, // 99: gitaly.RepositoryService.BackupRepository:input_type -> gitaly.BackupRepositoryRequest + 88, // 100: gitaly.RepositoryService.RestoreRepository:input_type -> gitaly.RestoreRepositoryRequest + 90, // 101: gitaly.RepositoryService.GetFileAttributes:input_type -> gitaly.GetFileAttributesRequest + 4, // 102: gitaly.RepositoryService.RepositoryExists:output_type -> gitaly.RepositoryExistsResponse + 6, // 103: gitaly.RepositoryService.RepositorySize:output_type -> gitaly.RepositorySizeResponse + 8, // 104: gitaly.RepositoryService.RepositoryInfo:output_type -> gitaly.RepositoryInfoResponse + 10, // 105: gitaly.RepositoryService.ObjectsSize:output_type -> gitaly.ObjectsSizeResponse + 12, // 106: gitaly.RepositoryService.ObjectFormat:output_type -> gitaly.ObjectFormatResponse + 14, // 107: gitaly.RepositoryService.ApplyGitattributes:output_type -> gitaly.ApplyGitattributesResponse + 18, // 108: gitaly.RepositoryService.FetchRemote:output_type -> gitaly.FetchRemoteResponse + 20, // 109: gitaly.RepositoryService.CreateRepository:output_type -> gitaly.CreateRepositoryResponse + 22, // 110: gitaly.RepositoryService.GetArchive:output_type -> gitaly.GetArchiveResponse + 24, // 111: gitaly.RepositoryService.HasLocalBranches:output_type -> gitaly.HasLocalBranchesResponse + 26, // 112: gitaly.RepositoryService.FetchSourceBranch:output_type -> gitaly.FetchSourceBranchResponse + 28, // 113: gitaly.RepositoryService.Fsck:output_type -> gitaly.FsckResponse + 30, // 114: gitaly.RepositoryService.WriteRef:output_type -> gitaly.WriteRefResponse + 32, // 115: gitaly.RepositoryService.FindMergeBase:output_type -> gitaly.FindMergeBaseResponse + 34, // 116: gitaly.RepositoryService.CreateFork:output_type -> gitaly.CreateForkResponse + 36, // 117: gitaly.RepositoryService.CreateRepositoryFromURL:output_type -> gitaly.CreateRepositoryFromURLResponse + 38, // 118: gitaly.RepositoryService.CreateBundle:output_type -> gitaly.CreateBundleResponse + 40, // 119: gitaly.RepositoryService.CreateBundleFromRefList:output_type -> gitaly.CreateBundleFromRefListResponse + 16, // 120: gitaly.RepositoryService.FetchBundle:output_type -> gitaly.FetchBundleResponse + 52, // 121: gitaly.RepositoryService.CreateRepositoryFromBundle:output_type -> gitaly.CreateRepositoryFromBundleResponse + 42, // 122: gitaly.RepositoryService.GetConfig:output_type -> gitaly.GetConfigResponse + 54, // 123: gitaly.RepositoryService.FindLicense:output_type -> gitaly.FindLicenseResponse + 56, // 124: gitaly.RepositoryService.GetInfoAttributes:output_type -> gitaly.GetInfoAttributesResponse + 58, // 125: gitaly.RepositoryService.CalculateChecksum:output_type -> gitaly.CalculateChecksumResponse + 60, // 126: gitaly.RepositoryService.GetSnapshot:output_type -> gitaly.GetSnapshotResponse + 62, // 127: gitaly.RepositoryService.CreateRepositoryFromSnapshot:output_type -> gitaly.CreateRepositoryFromSnapshotResponse + 64, // 128: gitaly.RepositoryService.GetRawChanges:output_type -> gitaly.GetRawChangesResponse + 68, // 129: gitaly.RepositoryService.SearchFilesByContent:output_type -> gitaly.SearchFilesByContentResponse + 66, // 130: gitaly.RepositoryService.SearchFilesByName:output_type -> gitaly.SearchFilesByNameResponse + 45, // 131: gitaly.RepositoryService.RestoreCustomHooks:output_type -> gitaly.RestoreCustomHooksResponse + 46, // 132: gitaly.RepositoryService.SetCustomHooks:output_type -> gitaly.SetCustomHooksResponse + 49, // 133: gitaly.RepositoryService.BackupCustomHooks:output_type -> gitaly.BackupCustomHooksResponse + 50, // 134: gitaly.RepositoryService.GetCustomHooks:output_type -> gitaly.GetCustomHooksResponse + 71, // 135: gitaly.RepositoryService.GetObjectDirectorySize:output_type -> gitaly.GetObjectDirectorySizeResponse + 73, // 136: gitaly.RepositoryService.RemoveRepository:output_type -> gitaly.RemoveRepositoryResponse + 75, // 137: gitaly.RepositoryService.ReplicateRepository:output_type -> gitaly.ReplicateRepositoryResponse + 77, // 138: gitaly.RepositoryService.OptimizeRepository:output_type -> gitaly.OptimizeRepositoryResponse + 79, // 139: gitaly.RepositoryService.PruneUnreachableObjects:output_type -> gitaly.PruneUnreachableObjectsResponse + 81, // 140: gitaly.RepositoryService.SetFullPath:output_type -> gitaly.SetFullPathResponse + 83, // 141: gitaly.RepositoryService.FullPath:output_type -> gitaly.FullPathResponse + 85, // 142: gitaly.RepositoryService.RemoveAll:output_type -> gitaly.RemoveAllResponse + 87, // 143: gitaly.RepositoryService.BackupRepository:output_type -> gitaly.BackupRepositoryResponse + 89, // 144: gitaly.RepositoryService.RestoreRepository:output_type -> gitaly.RestoreRepositoryResponse + 91, // 145: gitaly.RepositoryService.GetFileAttributes:output_type -> gitaly.GetFileAttributesResponse + 102, // [102:146] is the sub-list for method output_type + 58, // [58:102] is the sub-list for method input_type + 58, // [58:58] is the sub-list for extension type_name + 58, // [58:58] is the sub-list for extension extendee + 0, // [0:58] is the sub-list for field type_name } func init() { file_repository_proto_init() } @@ -7683,30 +7566,6 @@ func file_repository_proto_init() { } } file_repository_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameRepositoryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_repository_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RenameRepositoryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_repository_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicateRepositoryRequest); i { case 0: return &v.state @@ -7718,7 +7577,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReplicateRepositoryResponse); i { case 0: return &v.state @@ -7730,7 +7589,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizeRepositoryRequest); i { case 0: return &v.state @@ -7742,7 +7601,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OptimizeRepositoryResponse); i { case 0: return &v.state @@ -7754,7 +7613,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruneUnreachableObjectsRequest); i { case 0: return &v.state @@ -7766,7 +7625,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PruneUnreachableObjectsResponse); i { case 0: return &v.state @@ -7778,7 +7637,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetFullPathRequest); i { case 0: return &v.state @@ -7790,7 +7649,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetFullPathResponse); i { case 0: return &v.state @@ -7802,7 +7661,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FullPathRequest); i { case 0: return &v.state @@ -7814,7 +7673,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FullPathResponse); i { case 0: return &v.state @@ -7826,7 +7685,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAllRequest); i { case 0: return &v.state @@ -7838,7 +7697,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAllResponse); i { case 0: return &v.state @@ -7850,7 +7709,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryRequest); i { case 0: return &v.state @@ -7862,7 +7721,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryResponse); i { case 0: return &v.state @@ -7874,7 +7733,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryRequest); i { case 0: return &v.state @@ -7886,7 +7745,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryResponse); i { case 0: return &v.state @@ -7898,7 +7757,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFileAttributesRequest); i { case 0: return &v.state @@ -7910,7 +7769,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFileAttributesResponse); i { case 0: return &v.state @@ -7922,7 +7781,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryInfoResponse_ReferencesInfo); i { case 0: return &v.state @@ -7934,7 +7793,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RepositoryInfoResponse_ObjectsInfo); i { case 0: return &v.state @@ -7946,7 +7805,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRawChangesResponse_RawChange); i { case 0: return &v.state @@ -7958,7 +7817,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BackupRepositoryResponse_SkippedError); i { case 0: return &v.state @@ -7970,7 +7829,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RestoreRepositoryResponse_SkippedError); i { case 0: return &v.state @@ -7982,7 +7841,7 @@ func file_repository_proto_init() { return nil } } - file_repository_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + file_repository_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFileAttributesResponse_AttributeInfo); i { case 0: return &v.state @@ -8001,7 +7860,7 @@ func file_repository_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_repository_proto_rawDesc, NumEnums: 3, - NumMessages: 97, + NumMessages: 95, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/go/gitalypb/repository_grpc.pb.go b/proto/go/gitalypb/repository_grpc.pb.go index 805438612bc45716e0903682a788d00642e0001c..0f73d48ba300d711955f3a3a6dc00e8840fe41ea 100644 --- a/proto/go/gitalypb/repository_grpc.pb.go +++ b/proto/go/gitalypb/repository_grpc.pb.go @@ -142,8 +142,6 @@ type RepositoryServiceClient interface { // eventually remove it. This ensures that even on networked filesystems the // data is actually removed even if there's someone still handling the data. RemoveRepository(ctx context.Context, in *RemoveRepositoryRequest, opts ...grpc.CallOption) (*RemoveRepositoryResponse, error) - // RenameRepository ... - RenameRepository(ctx context.Context, in *RenameRepositoryRequest, opts ...grpc.CallOption) (*RenameRepositoryResponse, error) // ReplicateRepository replicates data from a source repository to target repository. On the // target repository, this operation ensures synchronization of the following components: // @@ -898,15 +896,6 @@ func (c *repositoryServiceClient) RemoveRepository(ctx context.Context, in *Remo return out, nil } -func (c *repositoryServiceClient) RenameRepository(ctx context.Context, in *RenameRepositoryRequest, opts ...grpc.CallOption) (*RenameRepositoryResponse, error) { - out := new(RenameRepositoryResponse) - err := c.cc.Invoke(ctx, "/gitaly.RepositoryService/RenameRepository", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *repositoryServiceClient) ReplicateRepository(ctx context.Context, in *ReplicateRepositoryRequest, opts ...grpc.CallOption) (*ReplicateRepositoryResponse, error) { out := new(ReplicateRepositoryResponse) err := c.cc.Invoke(ctx, "/gitaly.RepositoryService/ReplicateRepository", in, out, opts...) @@ -1114,8 +1103,6 @@ type RepositoryServiceServer interface { // eventually remove it. This ensures that even on networked filesystems the // data is actually removed even if there's someone still handling the data. RemoveRepository(context.Context, *RemoveRepositoryRequest) (*RemoveRepositoryResponse, error) - // RenameRepository ... - RenameRepository(context.Context, *RenameRepositoryRequest) (*RenameRepositoryResponse, error) // ReplicateRepository replicates data from a source repository to target repository. On the // target repository, this operation ensures synchronization of the following components: // @@ -1278,9 +1265,6 @@ func (UnimplementedRepositoryServiceServer) GetObjectDirectorySize(context.Conte func (UnimplementedRepositoryServiceServer) RemoveRepository(context.Context, *RemoveRepositoryRequest) (*RemoveRepositoryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method RemoveRepository not implemented") } -func (UnimplementedRepositoryServiceServer) RenameRepository(context.Context, *RenameRepositoryRequest) (*RenameRepositoryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RenameRepository not implemented") -} func (UnimplementedRepositoryServiceServer) ReplicateRepository(context.Context, *ReplicateRepositoryRequest) (*ReplicateRepositoryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ReplicateRepository not implemented") } @@ -2029,24 +2013,6 @@ func _RepositoryService_RemoveRepository_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _RepositoryService_RenameRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RenameRepositoryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(RepositoryServiceServer).RenameRepository(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/gitaly.RepositoryService/RenameRepository", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(RepositoryServiceServer).RenameRepository(ctx, req.(*RenameRepositoryRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _RepositoryService_ReplicateRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ReplicateRepositoryRequest) if err := dec(in); err != nil { @@ -2292,10 +2258,6 @@ var RepositoryService_ServiceDesc = grpc.ServiceDesc{ MethodName: "RemoveRepository", Handler: _RepositoryService_RemoveRepository_Handler, }, - { - MethodName: "RenameRepository", - Handler: _RepositoryService_RenameRepository_Handler, - }, { MethodName: "ReplicateRepository", Handler: _RepositoryService_ReplicateRepository_Handler, diff --git a/proto/repository.proto b/proto/repository.proto index 7e7ae718cdf2cc7b1294c9e73e9c6a6ce98e05de..15bedefc1137d7afd72fc7fbe1d88db1a927205b 100644 --- a/proto/repository.proto +++ b/proto/repository.proto @@ -305,13 +305,6 @@ service RepositoryService { }; } - // RenameRepository ... - rpc RenameRepository(RenameRepositoryRequest) returns (RenameRepositoryResponse) { - option (op_type) = { - op: MUTATOR - }; - } - // ReplicateRepository replicates data from a source repository to target repository. On the // target repository, this operation ensures synchronization of the following components: // @@ -1164,18 +1157,6 @@ message RemoveRepositoryRequest { message RemoveRepositoryResponse { } -// RenameRepositoryRequest ... -message RenameRepositoryRequest { - // repository ... - Repository repository = 1 [(target_repository)=true]; - // relative_path ... - string relative_path = 2; -} - -// RenameRepositoryResponse ... -message RenameRepositoryResponse{ -} - // ReplicateRepositoryRequest is a request for the ReplicateRepository RPC. message ReplicateRepositoryRequest { // repository is the target repository that the RPC replicates to.