Repository: open-telemetry/opamp-go
Pull request #115 (2022-07-29 14:25:51)

Consistently declare Protobuf enums
Enums were not consistently declared. Some were at the global scope,
some others wire nested in messages. This moves all enums to the global
scope and uses most of the official style guide rules here:
https://developers.google.com/protocol-buffers/docs/style#enums

Unfortunately this results in long and stuttering names of enum values in
the code but this change is necessary to future-proof the proto and ensure
no enum names conflict when we add new enums and values (all enum value
names are in one namespace).

I don't like the end result but not doing it appears to be worse.
We have seen this first-hand in OTLP proto where enum names are
inconsistent and are now impossible to fix due to backward compatibility
concerns.

Note: I ignored the rule to CAPITALIZE names and use underscores
because if I do that the names in the code become unreadable walls
of text.

If anyone has any ideas how to fix the enum names issue in a nicer
way I am happy to discard this PR.

One alternate is to remove the prefixes from enum value names and
just require that all enum value names introduced in the future are
also unique, but I think it can result in weird names in the future.

codecov[bot]: # [Codecov](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) Report
> Merging [#115](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) (91c8d53) into [main](https://codecov.io/gh/open-telemetry/opamp-go/commit/3d4cbdc975d341c1765050a9a59882ef89dda006?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) (3d4cbdc) will **not change** coverage.
> The diff coverage is `82.60%`.

```diff
@@           Coverage Diff           @@
##             main     #115   +/-   ##
=======================================
  Coverage   74.89%   74.89%           
=======================================
  Files          22       22           
  Lines        1629     1629           
=======================================
  Hits         1220     1220           
  Misses        307      307           
  Partials      102      102           
```


| [Impacted Files](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry) | Coverage Δ | |
|---|---|---|
| [client/internal/packagessyncer.go](https://codecov.io/gh/open-telemetry/opamp-go/pull/115/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-Y2xpZW50L2ludGVybmFsL3BhY2thZ2Vzc3luY2VyLmdv) | `59.25% <60.00%> (ø)` | |
| [client/internal/clientcommon.go](https://codecov.io/gh/open-telemetry/opamp-go/pull/115/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-Y2xpZW50L2ludGVybmFsL2NsaWVudGNvbW1vbi5nbw==) | `79.50% <77.77%> (ø)` | |
| [client/internal/inmempackagestore.go](https://codecov.io/gh/open-telemetry/opamp-go/pull/115/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-Y2xpZW50L2ludGVybmFsL2lubWVtcGFja2FnZXN0b3JlLmdv) | `76.47% <100.00%> (ø)` | |
| [client/internal/receivedprocessor.go](https://codecov.io/gh/open-telemetry/opamp-go/pull/115/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry#diff-Y2xpZW50L2ludGVybmFsL3JlY2VpdmVkcHJvY2Vzc29yLmdv) | `69.28% <100.00%> (ø)` | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry). Last update [3d4cbdc...91c8d53](https://codecov.io/gh/open-telemetry/opamp-go/pull/115?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=open-telemetry).

tigrannajaryan: Rebased and fixed merge conflicts. @andykellr if you have time please take another look (just want to make sure I didn't miss anything), otherwise I will merge soon.

Patch:
diff --git a/client/internal/clientcommon.go b/client/internal/clientcommon.go
index c734abf..532edbb 100644
--- a/client/internal/clientcommon.go
+++ b/client/internal/clientcommon.go
@@ -76,13 +76,13 @@ func (c *ClientCommon) PrepareStart(
 	c.Capabilities = settings.Capabilities
 
 	// According to OpAMP spec this capability MUST be set, since all Agents MUST report status.
-	c.Capabilities |= protobufs.AgentCapabilities_ReportsStatus
+	c.Capabilities |= protobufs.AgentCapabilities_AgentCapabilities_ReportsStatus
 
 	if c.ClientSyncedState.AgentDescription() == nil {
 		return ErrAgentDescriptionMissing
 	}
 
-	if c.Capabilities&protobufs.AgentCapabilities_ReportsHealth != 0 && c.ClientSyncedState.Health() == nil {
+	if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth != 0 && c.ClientSyncedState.Health() == nil {
 		return ErrAgentHealthMissing
 	}
 
@@ -90,7 +90,7 @@ func (c *ClientCommon) PrepareStart(
 	if settings.RemoteConfigStatus == nil {
 		// RemoteConfigStatus is not provided. Start with empty.
 		settings.RemoteConfigStatus = &protobufs.RemoteConfigStatus{
-			Status: protobufs.RemoteConfigStatus_UNSET,
+			Status: protobufs.RemoteConfigStatuses_RemoteConfigStatuses_UNSET,
 		}
 	}
 
@@ -102,8 +102,8 @@ func (c *ClientCommon) PrepareStart(
 	c.PackagesStateProvider = settings.PackagesStateProvider
 	var packageStatuses *protobufs.PackageStatuses
 	if settings.PackagesStateProvider != nil {
-		if c.Capabilities&protobufs.AgentCapabilities_AcceptsPackages == 0 ||
-			c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses == 0 {
+		if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages == 0 ||
+			c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses == 0 {
 			return ErrAcceptsPackagesNotSet
 		}
 
@@ -114,8 +114,8 @@ func (c *ClientCommon) PrepareStart(
 			return err
 		}
 	} else {
-		if c.Capabilities&protobufs.AgentCapabilities_AcceptsPackages != 0 ||
-			c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses != 0 {
+		if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages != 0 ||
+			c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses != 0 {
 			return ErrPackagesStateProviderNotSet
 		}
 	}
@@ -263,7 +263,7 @@ func (c *ClientCommon) SetHealth(health *protobufs.AgentHealth) error {
 // UpdateEffectiveConfig fetches the current local effective config using
 // GetEffectiveConfig callback and sends it to the Server using provided Sender.
 func (c *ClientCommon) UpdateEffectiveConfig(ctx context.Context) error {
-	if c.Capabilities&protobufs.AgentCapabilities_ReportsEffectiveConfig == 0 {
+	if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig == 0 {
 		return ErrReportsEffectiveConfigNotSet
 	}
 
@@ -294,7 +294,7 @@ func (c *ClientCommon) UpdateEffectiveConfig(ctx context.Context) error {
 // It also remembers the new RemoteConfigStatus in the client state so that it can be
 // sent to the Server when the Server asks for it.
 func (c *ClientCommon) SetRemoteConfigStatus(status *protobufs.RemoteConfigStatus) error {
-	if c.Capabilities&protobufs.AgentCapabilities_ReportsRemoteConfig == 0 {
+	if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsRemoteConfig == 0 {
 		return ErrReportsRemoteConfigNotSet
 	}
 
@@ -329,7 +329,7 @@ func (c *ClientCommon) SetRemoteConfigStatus(status *protobufs.RemoteConfigStatu
 // It also remembers the new PackageStatuses in the client state so that it can be
 // sent to the Server when the Server asks for it.
 func (c *ClientCommon) SetPackageStatuses(statuses *protobufs.PackageStatuses) error {
-	if c.Capabilities&protobufs.AgentCapabilities_ReportsPackageStatuses == 0 {
+	if c.Capabilities&protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses == 0 {
 		return errReportsPackageStatusesNotSet
 	}
 
diff --git a/client/internal/inmempackagestore.go b/client/internal/inmempackagestore.go
index ae995ca..9f85773 100644
--- a/client/internal/inmempackagestore.go
+++ b/client/internal/inmempackagestore.go
@@ -46,7 +46,7 @@ func (l *InMemPackagesStore) PackageState(packageName string) (state types.Packa
 	return types.PackageState{Exists: false}, nil
 }
 
-func (l *InMemPackagesStore) CreatePackage(packageName string, typ protobufs.PackageAvailable_PackageType) error {
+func (l *InMemPackagesStore) CreatePackage(packageName string, typ protobufs.PackageType) error {
 	l.pkgState[packageName] = types.PackageState{
 		Exists: true,
 		Type:   typ,
diff --git a/client/internal/packagessyncer.go b/client/internal/packagessyncer.go
index 8f76a2c..f138baa 100644
--- a/client/internal/packagessyncer.go
+++ b/client/internal/packagessyncer.go
@@ -172,7 +172,7 @@ func (s *packagesSyncer) syncPackage(
 			// Package is of wrong type. Need to re-create it. So, delete it.
 			if err := s.localState.DeletePackage(pkgName); err != nil {
 				err = fmt.Errorf("cannot delete existing version of package %s: %v", pkgName, err)
-				status.Status = protobufs.PackageStatus_InstallFailed
+				status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed
 				status.ErrorMessage = err.Error()
 				return err
 			}
@@ -182,7 +182,7 @@ func (s *packagesSyncer) syncPackage(
 	}
 
 	// Report that we are beginning to install it.
-	status.Status = protobufs.PackageStatus_Installing
+	status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_Installing
 	_ = s.reportStatuses(true)
 
 	if mustCreate {
@@ -190,7 +190,7 @@ func (s *packagesSyncer) syncPackage(
 		err = s.localState.CreatePackage(pkgName, pkgAvail.Type)
 		if err != nil {
 			err = fmt.Errorf("cannot create package %s: %v", pkgName, err)
-			status.Status = protobufs.PackageStatus_InstallFailed
+			status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed
 			status.ErrorMessage = err.Error()
 			return err
 		}
@@ -203,14 +203,14 @@ func (s *packagesSyncer) syncPackage(
 		pkgLocal.Hash = pkgAvail.Hash
 		pkgLocal.Version = pkgAvail.Version
 		if err := s.localState.SetPackageState(pkgName, pkgLocal); err == nil {
-			status.Status = protobufs.PackageStatus_Installed
+			status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_Installed
 			status.AgentHasHash = pkgAvail.Hash
 			status.AgentHasVersion = pkgAvail.Version
 		}
 	}
 
 	if err != nil {
-		status.Status = protobufs.PackageStatus_InstallFailed
+		status.Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed
 		status.ErrorMessage = err.Error()
 	}
 	_ = s.reportStatuses(true)
diff --git a/client/internal/receivedprocessor.go b/client/internal/receivedprocessor.go
index f8d6184..b9d9ad0 100644
--- a/client/internal/receivedprocessor.go
+++ b/client/internal/receivedprocessor.go
@@ -65,7 +65,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 		msgData := &types.MessageData{}
 
 		if msg.RemoteConfig != nil {
-			if r.hasCapability(protobufs.AgentCapabilities_AcceptsRemoteConfig) {
+			if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig) {
 				msgData.RemoteConfig = msg.RemoteConfig
 			} else {
 				r.logger.Debugf("Ignoring RemoteConfig, agent does not have AcceptsRemoteConfig capability")
@@ -74,7 +74,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 
 		if msg.ConnectionSettings != nil {
 			if msg.ConnectionSettings.OwnMetrics != nil {
-				if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnMetrics) {
+				if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics) {
 					msgData.OwnMetricsConnSettings = msg.ConnectionSettings.OwnMetrics
 				} else {
 					r.logger.Debugf("Ignoring OwnMetrics, agent does not have ReportsOwnMetrics capability")
@@ -82,7 +82,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 			}
 
 			if msg.ConnectionSettings.OwnTraces != nil {
-				if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnTraces) {
+				if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnTraces) {
 					msgData.OwnTracesConnSettings = msg.ConnectionSettings.OwnTraces
 				} else {
 					r.logger.Debugf("Ignoring OwnTraces, agent does not have ReportsOwnTraces capability")
@@ -90,7 +90,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 			}
 
 			if msg.ConnectionSettings.OwnLogs != nil {
-				if r.hasCapability(protobufs.AgentCapabilities_ReportsOwnLogs) {
+				if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnLogs) {
 					msgData.OwnLogsConnSettings = msg.ConnectionSettings.OwnLogs
 				} else {
 					r.logger.Debugf("Ignoring OwnLogs, agent does not have ReportsOwnLogs capability")
@@ -98,7 +98,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 			}
 
 			if msg.ConnectionSettings.OtherConnections != nil {
-				if r.hasCapability(protobufs.AgentCapabilities_AcceptsOtherConnectionSettings) {
+				if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings) {
 					msgData.OtherConnSettings = msg.ConnectionSettings.OtherConnections
 				} else {
 					r.logger.Debugf("Ignoring OtherConnections, agent does not have AcceptsOtherConnectionSettings capability")
@@ -107,7 +107,7 @@ func (r *receivedProcessor) ProcessReceivedMessage(ctx context.Context, msg *pro
 		}
 
 		if msg.PackagesAvailable != nil {
-			if r.hasCapability(protobufs.AgentCapabilities_AcceptsPackages) {
+			if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages) {
 				msgData.PackagesAvailable = msg.PackagesAvailable
 				msgData.PackageSyncer = NewPackagesSyncer(
 					r.logger,
@@ -149,12 +149,12 @@ func (r *receivedProcessor) hasCapability(capability protobufs.AgentCapabilities
 
 func (r *receivedProcessor) rcvFlags(
 	ctx context.Context,
-	flags protobufs.ServerToAgent_Flags,
+	flags protobufs.ServerToAgentFlags,
 ) (scheduleSend bool, err error) {
 	// If the Server asks to report data we fetch it from the client state storage and
 	// send to the Server.
 
-	if flags&protobufs.ServerToAgent_ReportFullState != 0 {
+	if flags&protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState != 0 {
 		cfg, err := r.callbacks.GetEffectiveConfig(ctx)
 		if err != nil {
 			r.logger.Errorf("Cannot GetEffectiveConfig: %v", err)
@@ -185,7 +185,7 @@ func (r *receivedProcessor) rcvOpampConnectionSettings(ctx context.Context, sett
 		return
 	}
 
-	if r.hasCapability(protobufs.AgentCapabilities_AcceptsOpAMPConnectionSettings) {
+	if r.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings) {
 		err := r.callbacks.OnOpampConnectionSettings(ctx, settings.Opamp)
 		if err == nil {
 			// TODO: verify connection using new settings.
diff --git a/client/types/packagessyncer.go b/client/types/packagessyncer.go
index 4a6e1b8..f2857b4 100644
--- a/client/types/packagessyncer.go
+++ b/client/types/packagessyncer.go
@@ -29,7 +29,7 @@ type PackageState struct {
 	// must be ignored if this field is false.
 	Exists bool
 
-	Type    protobufs.PackageAvailable_PackageType
+	Type    protobufs.PackageType
 	Hash    []byte
 	Version string
 }
@@ -64,7 +64,7 @@ type PackagesStateProvider interface {
 
 	// CreatePackage creates the package locally. If the package existed must return an error.
 	// If the package did not exist its hash should be set to nil.
-	CreatePackage(packageName string, typ protobufs.PackageAvailable_PackageType) error
+	CreatePackage(packageName string, typ protobufs.PackageType) error
 
 	// FileContentHash returns the content hash of the package file that exists locally.
 	// Returns (nil,nil) if package or package file is not found.
diff --git a/internal/examples/agent/agent/agent.go b/internal/examples/agent/agent/agent.go
index 65987a5..383395a 100644
--- a/internal/examples/agent/agent/agent.go
+++ b/internal/examples/agent/agent/agent.go
@@ -103,10 +103,10 @@ func (agent *Agent) start() error {
 			OnMessageFunc: agent.onMessage,
 		},
 		RemoteConfigStatus: agent.remoteConfigStatus,
-		Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig |
-			protobufs.AgentCapabilities_ReportsRemoteConfig |
-			protobufs.AgentCapabilities_ReportsEffectiveConfig |
-			protobufs.AgentCapabilities_ReportsOwnMetrics,
+		Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsRemoteConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics,
 	}
 	err := agent.opampClient.SetAgentDescription(agent.agentDescription)
 	if err != nil {
@@ -324,13 +324,13 @@ func (agent *Agent) onMessage(ctx context.Context, msg *types.MessageData) {
 		if err != nil {
 			agent.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{
 				LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-				Status:               protobufs.RemoteConfigStatus_FAILED,
+				Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED,
 				ErrorMessage:         err.Error(),
 			})
 		} else {
 			agent.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{
 				LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-				Status:               protobufs.RemoteConfigStatus_APPLIED,
+				Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED,
 			})
 		}
 	}
diff --git a/internal/examples/server/data/agent.go b/internal/examples/server/data/agent.go
index cf53f37..f745ebf 100644
--- a/internal/examples/server/data/agent.go
+++ b/internal/examples/server/data/agent.go
@@ -209,10 +209,17 @@ func (agent *Agent) processStatusUpdate(
 	agentDescrChanged := agent.updateStatusField(newStatus)
 
 	// Check if any fields were omitted in the status report.
-	effectiveConfigOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsEffectiveConfig) && newStatus.EffectiveConfig == nil
-	packageStatusesOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsPackageStatuses) && newStatus.PackageStatuses == nil
-	remoteConfigStatusOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsRemoteConfig) && newStatus.RemoteConfigStatus == nil
-	healthOmitted := agent.hasCapability(protobufs.AgentCapabilities_ReportsHealth) && newStatus.Health == nil
+	effectiveConfigOmitted := newStatus.EffectiveConfig == nil &&
+		agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig)
+
+	packageStatusesOmitted := newStatus.PackageStatuses == nil &&
+		agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses)
+
+	remoteConfigStatusOmitted := newStatus.RemoteConfigStatus == nil &&
+		agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsRemoteConfig)
+
+	healthOmitted := newStatus.Health == nil &&
+		agent.hasCapability(protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth)
 
 	// True if the status was not fully reported.
 	statusIsCompressed := effectiveConfigOmitted || packageStatusesOmitted || remoteConfigStatusOmitted || healthOmitted
@@ -220,7 +227,7 @@ func (agent *Agent) processStatusUpdate(
 	if statusIsCompressed && lostPreviousUpdate {
 		// The status message is not fully set in the message that we received, but we lost the previous
 		// status update. Request full status update from the agent.
-		response.Flags |= protobufs.ServerToAgent_ReportFullState
+		response.Flags |= protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState
 	}
 
 	configChanged := false
diff --git a/internal/examples/supervisor/supervisor/supervisor.go b/internal/examples/supervisor/supervisor/supervisor.go
index 0b8f630..89e9842 100644
--- a/internal/examples/supervisor/supervisor/supervisor.go
+++ b/internal/examples/supervisor/supervisor/supervisor.go
@@ -151,11 +151,11 @@ func (s *Supervisor) startOpAMP() error {
 			},
 			OnMessageFunc: s.onMessage,
 		},
-		Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig |
-			protobufs.AgentCapabilities_ReportsRemoteConfig |
-			protobufs.AgentCapabilities_ReportsEffectiveConfig |
-			protobufs.AgentCapabilities_ReportsOwnMetrics |
-			protobufs.AgentCapabilities_ReportsHealth,
+		Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsRemoteConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics |
+			protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth,
 	}
 	err := s.opampClient.SetAgentDescription(s.createAgentDescription())
 	if err != nil {
@@ -473,13 +473,13 @@ func (s *Supervisor) onMessage(ctx context.Context, msg *types.MessageData) {
 		if err != nil {
 			s.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{
 				LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-				Status:               protobufs.RemoteConfigStatus_FAILED,
+				Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED,
 				ErrorMessage:         err.Error(),
 			})
 		} else {
 			s.opampClient.SetRemoteConfigStatus(&protobufs.RemoteConfigStatus{
 				LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-				Status:               protobufs.RemoteConfigStatus_APPLIED,
+				Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED,
 			})
 		}
 	}
diff --git a/internal/proto/opamp.proto b/internal/proto/opamp.proto
index 61ed289..9fe62c5 100644
--- a/internal/proto/opamp.proto
+++ b/internal/proto/opamp.proto
@@ -73,18 +73,20 @@ message AgentToServer {
     // Agent to the Server.
     AgentDisconnect agent_disconnect = 9;
 
-    enum AgentToServerFlags {
-        FlagsUnspecified = 0;
-        // AgentToServerFlags is a bit mask. Values below define individual bits.
-
-        // The Agent requests Server go generate a new instance_uid, which will
-        // be sent back in ServerToAgent message
-        RequestInstanceUid     = 0x00000001;
-    }
     // Bit flags as defined by AgentToServerFlags bit masks.
     AgentToServerFlags flags = 10;
 }
 
+enum AgentToServerFlags {
+    AgentToServerFlags_Unspecified = 0;
+
+    // AgentToServerFlags is a bit mask. Values below define individual bits.
+
+    // The Agent requests Server go generate a new instance_uid, which will
+    // be sent back in ServerToAgent message
+    AgentToServerFlags_RequestInstanceUid     = 0x00000001;
+}
+
 // AgentDisconnect is the last message sent from the Agent to the Server. The Server
 // SHOULD forget the association of the Agent instance with the message stream.
 //
@@ -116,21 +118,8 @@ message ServerToAgent {
     // This field is set when the Server has packages to offer to the Agent.
     PackagesAvailable packages_available = 5;
 
-    enum Flags {
-        FlagsUnspecified = 0;
-
-        // Flags is a bit mask. Values below define individual bits.
-
-        // ReportFullState flag can be used by the Server if the Agent did not include the
-        // particular bit of information in the last status report (which is an allowed
-        // optimization) but the Server detects that it does not have it (e.g. was
-        // restarted and lost state). The detection happens using
-        // AgentToServer.sequence_num values.
-        // The Server asks the Agent to report full status.
-        ReportFullState = 0x00000001;
-    }
     // Bit flags as defined by Flags bit masks.
-    Flags flags = 6;
+    ServerToAgentFlags flags = 6;
 
     // Bitmask of flags defined by ServerCapabilities enum.
     // All bits that are not defined in ServerCapabilities enum MUST be set to 0
@@ -152,22 +141,37 @@ message ServerToAgent {
     ServerToAgentCommand command = 9;
 }
 
+enum ServerToAgentFlags {
+    ServerToAgentFlags_Unspecified = 0;
+
+    // Flags is a bit mask. Values below define individual bits.
+
+    // ReportFullState flag can be used by the Server if the Agent did not include the
+    // particular bit of information in the last status report (which is an allowed
+    // optimization) but the Server detects that it does not have it (e.g. was
+    // restarted and lost state). The detection happens using
+    // AgentToServer.sequence_num values.
+    // The Server asks the Agent to report full status.
+    ServerToAgentFlags_ReportFullState = 0x00000001;
+}
+
 enum ServerCapabilities {
     // The capabilities field is unspecified.
-    UnspecifiedServerCapability = 0;
+    ServerCapabilities_Unspecified = 0;
+
     // The Server can accept status reports. This bit MUST be set, since all Server
     // MUST be able to accept status reports.
-    AcceptsStatus                  = 0x00000001;
+    ServerCapabilities_AcceptsStatus            = 0x00000001;
     // The Server can offer remote configuration to the Agent.
-    OffersRemoteConfig             = 0x00000002;
+    ServerCapabilities_OffersRemoteConfig       = 0x00000002;
     // The Server can accept EffectiveConfig in AgentToServer.
-    AcceptsEffectiveConfig         = 0x00000004;
+    ServerCapabilities_AcceptsEffectiveConfig   = 0x00000004;
     // The Server can offer Packages.
-    OffersPackages                 = 0x00000008;
+    ServerCapabilities_OffersPackages           = 0x00000008;
     // The Server can accept Packages status.
-    AcceptsPackagesStatus          = 0x00000010;
+    ServerCapabilities_AcceptsPackagesStatus    = 0x00000010;
     // The Server can offer connection settings.
-    OffersConnectionSettings       = 0x00000020;
+    ServerCapabilities_OffersConnectionSettings = 0x00000020;
 
     // Add new capabilities here, continuing with the least significant unused bit.
 }
@@ -382,11 +386,6 @@ message PackagesAvailable {
 // hash then the Agent does not need to do anything, it already
 // has the right version of the package.
 message PackageAvailable {
-    // The type of the package, either an addon or a top-level package.
-    enum PackageType {
-        TopLevelPackage = 0;
-        AddonPackage    = 1;
-    }
     PackageType type = 1;
 
     // The package version that is available on the Server side. The Agent may for
@@ -404,6 +403,12 @@ message PackageAvailable {
     bytes hash = 4;
 }
 
+// The type of the package, either an addon or a top-level package.
+enum PackageType {
+    PackageType_TopLevel = 0;
+    PackageType_Addon    = 1;
+}
+
 message DownloadableFile {
     // The URL from which the file can be downloaded using HTTP GET request.
     // The Server at the specified URL SHOULD support range requests
@@ -424,22 +429,7 @@ message DownloadableFile {
 }
 
 message ServerErrorResponse {
-    enum Type {
-        // Unknown error. Something went wrong, but it is not known what exactly.
-        // The Agent SHOULD NOT retry the message.
-        // The error_message field may contain a description of the problem.
-        Unknown = 0;
-
-        // The AgentToServer message was malformed. The Agent SHOULD NOT retry
-        // the message.
-        BadRequest = 1;
-
-        // The Server is overloaded and unable to process the request. The Agent
-        // should retry the message later. retry_info field may be optionally
-        // set with additional information about retrying.
-        Unavailable = 2;
-    }
-    Type type = 1;
+    ServerErrorResponseType type = 1;
 
     // Error message in the string form, typically human readable.
     string error_message = 2;
@@ -450,6 +440,22 @@ message ServerErrorResponse {
     }
 }
 
+enum ServerErrorResponseType {
+    // Unknown error. Something went wrong, but it is not known what exactly.
+    // The Agent SHOULD NOT retry the message.
+    // The error_message field may contain a description of the problem.
+    ServerErrorResponseType_Unknown = 0;
+
+    // The AgentToServer message was malformed. The Agent SHOULD NOT retry
+    // the message.
+    ServerErrorResponseType_BadRequest = 1;
+
+    // The Server is overloaded and unable to process the request. The Agent
+    // should retry the message later. retry_info field may be optionally
+    // set with additional information about retrying.
+    ServerErrorResponseType_Unavailable = 2;
+}
+
 message RetryInfo {
     uint64 retry_after_nanoseconds = 1;
 }
@@ -457,14 +463,15 @@ message RetryInfo {
 // ServerToAgentCommand is sent from the Server to the Agent to request that the Agent
 // perform a command.
 message ServerToAgentCommand {
-    enum CommandType {
-        // The Agent should restart. This request will be ignored if the Agent does not
-        // support restart.
-        Restart = 0;
-    }
     CommandType type = 1;
 }
 
+enum CommandType {
+    // The Agent should restart. This request will be ignored if the Agent does not
+    // support restart.
+    CommandType_Restart = 0;
+}
+
 ////////////////////////////////////////////////////////////////////////////////////
 // Status reporting
 
@@ -509,39 +516,39 @@ message AgentDescription {
 
 enum AgentCapabilities {
     // The capabilities field is unspecified.
-    UnspecifiedAgentCapability = 0;
+    AgentCapabilities_Unspecified = 0;
     // The Agent can report status. This bit MUST be set, since all Agents MUST
     // report status.
-    ReportsStatus                  = 0x00000001;
+    AgentCapabilities_ReportsStatus                  = 0x00000001;
     // The Agent can accept remote configuration from the Server.
-    AcceptsRemoteConfig            = 0x00000002;
+    AgentCapabilities_AcceptsRemoteConfig            = 0x00000002;
     // The Agent will report EffectiveConfig in AgentToServer.
-    ReportsEffectiveConfig         = 0x00000004;
+    AgentCapabilities_ReportsEffectiveConfig         = 0x00000004;
     // The Agent can accept package offers.
-    AcceptsPackages                = 0x00000008;
+    AgentCapabilities_AcceptsPackages                = 0x00000008;
     // The Agent can report package status.
-    ReportsPackageStatuses         = 0x00000010;
+    AgentCapabilities_ReportsPackageStatuses         = 0x00000010;
     // The Agent can report own trace to the destination specified by
     // the Server via ConnectionSettingsOffers.own_traces field.
-    ReportsOwnTraces               = 0x00000020;
+    AgentCapabilities_ReportsOwnTraces               = 0x00000020;
     // The Agent can report own metrics to the destination specified by
     // the Server via ConnectionSettingsOffers.own_metrics field.
-    ReportsOwnMetrics              = 0x00000040;
+    AgentCapabilities_ReportsOwnMetrics              = 0x00000040;
     // The Agent can report own logs to the destination specified by
     // the Server via ConnectionSettingsOffers.own_logs field.
-    ReportsOwnLogs                 = 0x00000080;
+    AgentCapabilities_ReportsOwnLogs                 = 0x00000080;
     // The can accept connections settings for OpAMP via
     // ConnectionSettingsOffers.opamp field.
-    AcceptsOpAMPConnectionSettings = 0x00000100;
+    AgentCapabilities_AcceptsOpAMPConnectionSettings = 0x00000100;
     // The can accept connections settings for other destinations via
     // ConnectionSettingsOffers.other_connections field.
-    AcceptsOtherConnectionSettings = 0x00000200;
+    AgentCapabilities_AcceptsOtherConnectionSettings = 0x00000200;
     // The Agent can accept restart requests.
-    AcceptsRestartCommand          = 0x00000400;
+    AgentCapabilities_AcceptsRestartCommand          = 0x00000400;
     // The Agent will report Health via AgentToServer.health field.
-    ReportsHealth                  = 0x00000800;
+    AgentCapabilities_ReportsHealth                  = 0x00000800;
     // The Agent will report RemoteConfig status via AgentToServer.remote_config_status field.
-    ReportsRemoteConfig            = 0x00001000;
+    AgentCapabilities_ReportsRemoteConfig            = 0x00001000;
 
     // Add new capabilities here, continuing with the least significant unused bit.
 }
@@ -574,24 +581,25 @@ message RemoteConfigStatus {
     // the remote_config field in the response in the ServerToAgent message.
     bytes last_remote_config_hash = 1;
 
-    enum Status {
-        // The value of status field is not set.
-        UNSET = 0;
+    RemoteConfigStatuses status = 2;
 
-        // Remote config was successfully applied by the Agent.
-        APPLIED = 1;
+    // Optional error message if status==FAILED.
+    string error_message = 3;
+}
 
-        // Agent is currently applying the remote config that it received earlier.
-        APPLYING = 2;
+enum RemoteConfigStatuses {
+    // The value of status field is not set.
+    RemoteConfigStatuses_UNSET = 0;
 
-        // Agent tried to apply the config received earlier, but it failed.
-        // See error_message for more details.
-        FAILED = 3;
-    }
-    Status status = 2;
+    // Remote config was successfully applied by the Agent.
+    RemoteConfigStatuses_APPLIED = 1;
 
-    // Optional error message if status==FAILED.
-    string error_message = 3;
+    // Agent is currently applying the remote config that it received earlier.
+    RemoteConfigStatuses_APPLYING = 2;
+
+    // Agent tried to apply the config received earlier, but it failed.
+    // See error_message for more details.
+    RemoteConfigStatuses_FAILED = 3;
 }
 
 // The PackageStatuses message describes the status of all packages that the Agent
@@ -662,32 +670,33 @@ message PackageStatus {
     // Server offers a different version, but the Agent fails to install that version.
     bytes server_offered_hash = 5;
 
-    // The status of this package.
-    enum Status {
-        // Package is successfully installed by the Agent.
-        // The error_message field MUST NOT be set.
-        Installed = 0;
-
-        // Installation of this package has not yet started.
-        InstallPending = 1;
-
-        // Agent is currently downloading and installing the package.
-        // server_offered_hash field MUST be set to indicate the version that the
-        // Agent is installing. The error_message field MUST NOT be set.
-        Installing = 2;
-
-        // Agent tried to install the package but installation failed.
-        // server_offered_hash field MUST be set to indicate the version that the Agent
-        // tried to install. The error_message may also contain more details about
-        // the failure.
-        InstallFailed = 3;
-    }
-    Status status = 6;
+    PackageStatusEnum status = 6;
 
     // Error message if the status is erroneous.
     string error_message = 7;
 }
 
+// The status of this package.
+enum PackageStatusEnum {
+    // Package is successfully installed by the Agent.
+    // The error_message field MUST NOT be set.
+    PackageStatusEnum_Installed = 0;
+
+    // Installation of this package has not yet started.
+    PackageStatusEnum_InstallPending = 1;
+
+    // Agent is currently downloading and installing the package.
+    // server_offered_hash field MUST be set to indicate the version that the
+    // Agent is installing. The error_message field MUST NOT be set.
+    PackageStatusEnum_Installing = 2;
+
+    // Agent tried to install the package but installation failed.
+    // server_offered_hash field MUST be set to indicate the version that the Agent
+    // tried to install. The error_message may also contain more details about
+    // the failure.
+    PackageStatusEnum_InstallFailed = 3;
+}
+
 // Properties related to identification of the Agent, which can be overridden
 // by the Server if needed
 message AgentIdentification {
diff --git a/protobufs/opamp.pb.go b/protobufs/opamp.pb.go
index 273e8c0..750d518 100644
--- a/protobufs/opamp.pb.go
+++ b/protobufs/opamp.pb.go
@@ -36,544 +36,544 @@ const (
 	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
 )
 
-type ServerCapabilities int32
+type AgentToServerFlags int32
 
 const (
-	// The capabilities field is unspecified.
-	ServerCapabilities_UnspecifiedServerCapability ServerCapabilities = 0
-	// The Server can accept status reports. This bit MUST be set, since all Server
-	// MUST be able to accept status reports.
-	ServerCapabilities_AcceptsStatus ServerCapabilities = 1
-	// The Server can offer remote configuration to the Agent.
-	ServerCapabilities_OffersRemoteConfig ServerCapabilities = 2
-	// The Server can accept EffectiveConfig in AgentToServer.
-	ServerCapabilities_AcceptsEffectiveConfig ServerCapabilities = 4
-	// The Server can offer Packages.
-	ServerCapabilities_OffersPackages ServerCapabilities = 8
-	// The Server can accept Packages status.
-	ServerCapabilities_AcceptsPackagesStatus ServerCapabilities = 16
-	// The Server can offer connection settings.
-	ServerCapabilities_OffersConnectionSettings ServerCapabilities = 32
+	AgentToServerFlags_AgentToServerFlags_Unspecified AgentToServerFlags = 0
+	// The Agent requests Server go generate a new instance_uid, which will
+	// be sent back in ServerToAgent message
+	AgentToServerFlags_AgentToServerFlags_RequestInstanceUid AgentToServerFlags = 1
 )
 
-// Enum value maps for ServerCapabilities.
+// Enum value maps for AgentToServerFlags.
 var (
-	ServerCapabilities_name = map[int32]string{
-		0:  "UnspecifiedServerCapability",
-		1:  "AcceptsStatus",
-		2:  "OffersRemoteConfig",
-		4:  "AcceptsEffectiveConfig",
-		8:  "OffersPackages",
-		16: "AcceptsPackagesStatus",
-		32: "OffersConnectionSettings",
+	AgentToServerFlags_name = map[int32]string{
+		0: "AgentToServerFlags_Unspecified",
+		1: "AgentToServerFlags_RequestInstanceUid",
 	}
-	ServerCapabilities_value = map[string]int32{
-		"UnspecifiedServerCapability": 0,
-		"AcceptsStatus":               1,
-		"OffersRemoteConfig":          2,
-		"AcceptsEffectiveConfig":      4,
-		"OffersPackages":              8,
-		"AcceptsPackagesStatus":       16,
-		"OffersConnectionSettings":    32,
+	AgentToServerFlags_value = map[string]int32{
+		"AgentToServerFlags_Unspecified":        0,
+		"AgentToServerFlags_RequestInstanceUid": 1,
 	}
 )
 
-func (x ServerCapabilities) Enum() *ServerCapabilities {
-	p := new(ServerCapabilities)
+func (x AgentToServerFlags) Enum() *AgentToServerFlags {
+	p := new(AgentToServerFlags)
 	*p = x
 	return p
 }
 
-func (x ServerCapabilities) String() string {
+func (x AgentToServerFlags) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (ServerCapabilities) Descriptor() protoreflect.EnumDescriptor {
+func (AgentToServerFlags) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[0].Descriptor()
 }
 
-func (ServerCapabilities) Type() protoreflect.EnumType {
+func (AgentToServerFlags) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[0]
 }
 
-func (x ServerCapabilities) Number() protoreflect.EnumNumber {
+func (x AgentToServerFlags) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use ServerCapabilities.Descriptor instead.
-func (ServerCapabilities) EnumDescriptor() ([]byte, []int) {
+// Deprecated: Use AgentToServerFlags.Descriptor instead.
+func (AgentToServerFlags) EnumDescriptor() ([]byte, []int) {
 	return file_opamp_proto_rawDescGZIP(), []int{0}
 }
 
-type AgentCapabilities int32
+type ServerToAgentFlags int32
 
 const (
-	// The capabilities field is unspecified.
-	AgentCapabilities_UnspecifiedAgentCapability AgentCapabilities = 0
-	// The Agent can report status. This bit MUST be set, since all Agents MUST
-	// report status.
-	AgentCapabilities_ReportsStatus AgentCapabilities = 1
-	// The Agent can accept remote configuration from the Server.
-	AgentCapabilities_AcceptsRemoteConfig AgentCapabilities = 2
-	// The Agent will report EffectiveConfig in AgentToServer.
-	AgentCapabilities_ReportsEffectiveConfig AgentCapabilities = 4
-	// The Agent can accept package offers.
-	AgentCapabilities_AcceptsPackages AgentCapabilities = 8
-	// The Agent can report package status.
-	AgentCapabilities_ReportsPackageStatuses AgentCapabilities = 16
-	// The Agent can report own trace to the destination specified by
-	// the Server via ConnectionSettingsOffers.own_traces field.
-	AgentCapabilities_ReportsOwnTraces AgentCapabilities = 32
-	// The Agent can report own metrics to the destination specified by
-	// the Server via ConnectionSettingsOffers.own_metrics field.
-	AgentCapabilities_ReportsOwnMetrics AgentCapabilities = 64
-	// The Agent can report own logs to the destination specified by
-	// the Server via ConnectionSettingsOffers.own_logs field.
-	AgentCapabilities_ReportsOwnLogs AgentCapabilities = 128
-	// The can accept connections settings for OpAMP via
-	// ConnectionSettingsOffers.opamp field.
-	AgentCapabilities_AcceptsOpAMPConnectionSettings AgentCapabilities = 256
-	// The can accept connections settings for other destinations via
-	// ConnectionSettingsOffers.other_connections field.
-	AgentCapabilities_AcceptsOtherConnectionSettings AgentCapabilities = 512
-	// The Agent can accept restart requests.
-	AgentCapabilities_AcceptsRestartCommand AgentCapabilities = 1024
-	// The Agent will report Health via AgentToServer.health field.
-	AgentCapabilities_ReportsHealth AgentCapabilities = 2048
-	// The Agent will report RemoteConfig status via AgentToServer.remote_config_status field.
-	AgentCapabilities_ReportsRemoteConfig AgentCapabilities = 4096
+	ServerToAgentFlags_ServerToAgentFlags_Unspecified ServerToAgentFlags = 0
+	// ReportFullState flag can be used by the Server if the Agent did not include the
+	// particular bit of information in the last status report (which is an allowed
+	// optimization) but the Server detects that it does not have it (e.g. was
+	// restarted and lost state). The detection happens using
+	// AgentToServer.sequence_num values.
+	// The Server asks the Agent to report full status.
+	ServerToAgentFlags_ServerToAgentFlags_ReportFullState ServerToAgentFlags = 1
 )
 
-// Enum value maps for AgentCapabilities.
+// Enum value maps for ServerToAgentFlags.
 var (
-	AgentCapabilities_name = map[int32]string{
-		0:    "UnspecifiedAgentCapability",
-		1:    "ReportsStatus",
-		2:    "AcceptsRemoteConfig",
-		4:    "ReportsEffectiveConfig",
-		8:    "AcceptsPackages",
-		16:   "ReportsPackageStatuses",
-		32:   "ReportsOwnTraces",
-		64:   "ReportsOwnMetrics",
-		128:  "ReportsOwnLogs",
-		256:  "AcceptsOpAMPConnectionSettings",
-		512:  "AcceptsOtherConnectionSettings",
-		1024: "AcceptsRestartCommand",
-		2048: "ReportsHealth",
-		4096: "ReportsRemoteConfig",
+	ServerToAgentFlags_name = map[int32]string{
+		0: "ServerToAgentFlags_Unspecified",
+		1: "ServerToAgentFlags_ReportFullState",
 	}
-	AgentCapabilities_value = map[string]int32{
-		"UnspecifiedAgentCapability":     0,
-		"ReportsStatus":                  1,
-		"AcceptsRemoteConfig":            2,
-		"ReportsEffectiveConfig":         4,
-		"AcceptsPackages":                8,
-		"ReportsPackageStatuses":         16,
-		"ReportsOwnTraces":               32,
-		"ReportsOwnMetrics":              64,
-		"ReportsOwnLogs":                 128,
-		"AcceptsOpAMPConnectionSettings": 256,
-		"AcceptsOtherConnectionSettings": 512,
-		"AcceptsRestartCommand":          1024,
-		"ReportsHealth":                  2048,
-		"ReportsRemoteConfig":            4096,
+	ServerToAgentFlags_value = map[string]int32{
+		"ServerToAgentFlags_Unspecified":     0,
+		"ServerToAgentFlags_ReportFullState": 1,
 	}
 )
 
-func (x AgentCapabilities) Enum() *AgentCapabilities {
-	p := new(AgentCapabilities)
+func (x ServerToAgentFlags) Enum() *ServerToAgentFlags {
+	p := new(ServerToAgentFlags)
 	*p = x
 	return p
 }
 
-func (x AgentCapabilities) String() string {
+func (x ServerToAgentFlags) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (AgentCapabilities) Descriptor() protoreflect.EnumDescriptor {
+func (ServerToAgentFlags) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[1].Descriptor()
 }
 
-func (AgentCapabilities) Type() protoreflect.EnumType {
+func (ServerToAgentFlags) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[1]
 }
 
-func (x AgentCapabilities) Number() protoreflect.EnumNumber {
+func (x ServerToAgentFlags) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use AgentCapabilities.Descriptor instead.
-func (AgentCapabilities) EnumDescriptor() ([]byte, []int) {
+// Deprecated: Use ServerToAgentFlags.Descriptor instead.
+func (ServerToAgentFlags) EnumDescriptor() ([]byte, []int) {
 	return file_opamp_proto_rawDescGZIP(), []int{1}
 }
 
-type AgentToServer_AgentToServerFlags int32
+type ServerCapabilities int32
 
 const (
-	AgentToServer_FlagsUnspecified AgentToServer_AgentToServerFlags = 0 // AgentToServerFlags is a bit mask. Values below define individual bits.
-	// The Agent requests Server go generate a new instance_uid, which will
-	// be sent back in ServerToAgent message
-	AgentToServer_RequestInstanceUid AgentToServer_AgentToServerFlags = 1
+	// The capabilities field is unspecified.
+	ServerCapabilities_ServerCapabilities_Unspecified ServerCapabilities = 0
+	// The Server can accept status reports. This bit MUST be set, since all Server
+	// MUST be able to accept status reports.
+	ServerCapabilities_ServerCapabilities_AcceptsStatus ServerCapabilities = 1
+	// The Server can offer remote configuration to the Agent.
+	ServerCapabilities_ServerCapabilities_OffersRemoteConfig ServerCapabilities = 2
+	// The Server can accept EffectiveConfig in AgentToServer.
+	ServerCapabilities_ServerCapabilities_AcceptsEffectiveConfig ServerCapabilities = 4
+	// The Server can offer Packages.
+	ServerCapabilities_ServerCapabilities_OffersPackages ServerCapabilities = 8
+	// The Server can accept Packages status.
+	ServerCapabilities_ServerCapabilities_AcceptsPackagesStatus ServerCapabilities = 16
+	// The Server can offer connection settings.
+	ServerCapabilities_ServerCapabilities_OffersConnectionSettings ServerCapabilities = 32
 )
 
-// Enum value maps for AgentToServer_AgentToServerFlags.
+// Enum value maps for ServerCapabilities.
 var (
-	AgentToServer_AgentToServerFlags_name = map[int32]string{
-		0: "FlagsUnspecified",
-		1: "RequestInstanceUid",
+	ServerCapabilities_name = map[int32]string{
+		0:  "ServerCapabilities_Unspecified",
+		1:  "ServerCapabilities_AcceptsStatus",
+		2:  "ServerCapabilities_OffersRemoteConfig",
+		4:  "ServerCapabilities_AcceptsEffectiveConfig",
+		8:  "ServerCapabilities_OffersPackages",
+		16: "ServerCapabilities_AcceptsPackagesStatus",
+		32: "ServerCapabilities_OffersConnectionSettings",
 	}
-	AgentToServer_AgentToServerFlags_value = map[string]int32{
-		"FlagsUnspecified":   0,
-		"RequestInstanceUid": 1,
+	ServerCapabilities_value = map[string]int32{
+		"ServerCapabilities_Unspecified":              0,
+		"ServerCapabilities_AcceptsStatus":            1,
+		"ServerCapabilities_OffersRemoteConfig":       2,
+		"ServerCapabilities_AcceptsEffectiveConfig":   4,
+		"ServerCapabilities_OffersPackages":           8,
+		"ServerCapabilities_AcceptsPackagesStatus":    16,
+		"ServerCapabilities_OffersConnectionSettings": 32,
 	}
 )
 
-func (x AgentToServer_AgentToServerFlags) Enum() *AgentToServer_AgentToServerFlags {
-	p := new(AgentToServer_AgentToServerFlags)
+func (x ServerCapabilities) Enum() *ServerCapabilities {
+	p := new(ServerCapabilities)
 	*p = x
 	return p
 }
 
-func (x AgentToServer_AgentToServerFlags) String() string {
+func (x ServerCapabilities) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (AgentToServer_AgentToServerFlags) Descriptor() protoreflect.EnumDescriptor {
+func (ServerCapabilities) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[2].Descriptor()
 }
 
-func (AgentToServer_AgentToServerFlags) Type() protoreflect.EnumType {
+func (ServerCapabilities) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[2]
 }
 
-func (x AgentToServer_AgentToServerFlags) Number() protoreflect.EnumNumber {
+func (x ServerCapabilities) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use AgentToServer_AgentToServerFlags.Descriptor instead.
-func (AgentToServer_AgentToServerFlags) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{0, 0}
+// Deprecated: Use ServerCapabilities.Descriptor instead.
+func (ServerCapabilities) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{2}
 }
 
-type ServerToAgent_Flags int32
+// The type of the package, either an addon or a top-level package.
+type PackageType int32
 
 const (
-	ServerToAgent_FlagsUnspecified ServerToAgent_Flags = 0
-	// ReportFullState flag can be used by the Server if the Agent did not include the
-	// particular bit of information in the last status report (which is an allowed
-	// optimization) but the Server detects that it does not have it (e.g. was
-	// restarted and lost state). The detection happens using
-	// AgentToServer.sequence_num values.
-	// The Server asks the Agent to report full status.
-	ServerToAgent_ReportFullState ServerToAgent_Flags = 1
+	PackageType_PackageType_TopLevel PackageType = 0
+	PackageType_PackageType_Addon    PackageType = 1
 )
 
-// Enum value maps for ServerToAgent_Flags.
+// Enum value maps for PackageType.
 var (
-	ServerToAgent_Flags_name = map[int32]string{
-		0: "FlagsUnspecified",
-		1: "ReportFullState",
+	PackageType_name = map[int32]string{
+		0: "PackageType_TopLevel",
+		1: "PackageType_Addon",
 	}
-	ServerToAgent_Flags_value = map[string]int32{
-		"FlagsUnspecified": 0,
-		"ReportFullState":  1,
+	PackageType_value = map[string]int32{
+		"PackageType_TopLevel": 0,
+		"PackageType_Addon":    1,
 	}
 )
 
-func (x ServerToAgent_Flags) Enum() *ServerToAgent_Flags {
-	p := new(ServerToAgent_Flags)
+func (x PackageType) Enum() *PackageType {
+	p := new(PackageType)
 	*p = x
 	return p
 }
 
-func (x ServerToAgent_Flags) String() string {
+func (x PackageType) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (ServerToAgent_Flags) Descriptor() protoreflect.EnumDescriptor {
+func (PackageType) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[3].Descriptor()
 }
 
-func (ServerToAgent_Flags) Type() protoreflect.EnumType {
+func (PackageType) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[3]
 }
 
-func (x ServerToAgent_Flags) Number() protoreflect.EnumNumber {
+func (x PackageType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use ServerToAgent_Flags.Descriptor instead.
-func (ServerToAgent_Flags) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{2, 0}
+// Deprecated: Use PackageType.Descriptor instead.
+func (PackageType) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{3}
 }
 
-// The type of the package, either an addon or a top-level package.
-type PackageAvailable_PackageType int32
+type ServerErrorResponseType int32
 
 const (
-	PackageAvailable_TopLevelPackage PackageAvailable_PackageType = 0
-	PackageAvailable_AddonPackage    PackageAvailable_PackageType = 1
+	// Unknown error. Something went wrong, but it is not known what exactly.
+	// The Agent SHOULD NOT retry the message.
+	// The error_message field may contain a description of the problem.
+	ServerErrorResponseType_ServerErrorResponseType_Unknown ServerErrorResponseType = 0
+	// The AgentToServer message was malformed. The Agent SHOULD NOT retry
+	// the message.
+	ServerErrorResponseType_ServerErrorResponseType_BadRequest ServerErrorResponseType = 1
+	// The Server is overloaded and unable to process the request. The Agent
+	// should retry the message later. retry_info field may be optionally
+	// set with additional information about retrying.
+	ServerErrorResponseType_ServerErrorResponseType_Unavailable ServerErrorResponseType = 2
 )
 
-// Enum value maps for PackageAvailable_PackageType.
+// Enum value maps for ServerErrorResponseType.
 var (
-	PackageAvailable_PackageType_name = map[int32]string{
-		0: "TopLevelPackage",
-		1: "AddonPackage",
+	ServerErrorResponseType_name = map[int32]string{
+		0: "ServerErrorResponseType_Unknown",
+		1: "ServerErrorResponseType_BadRequest",
+		2: "ServerErrorResponseType_Unavailable",
 	}
-	PackageAvailable_PackageType_value = map[string]int32{
-		"TopLevelPackage": 0,
-		"AddonPackage":    1,
+	ServerErrorResponseType_value = map[string]int32{
+		"ServerErrorResponseType_Unknown":     0,
+		"ServerErrorResponseType_BadRequest":  1,
+		"ServerErrorResponseType_Unavailable": 2,
 	}
 )
 
-func (x PackageAvailable_PackageType) Enum() *PackageAvailable_PackageType {
-	p := new(PackageAvailable_PackageType)
+func (x ServerErrorResponseType) Enum() *ServerErrorResponseType {
+	p := new(ServerErrorResponseType)
 	*p = x
 	return p
 }
 
-func (x PackageAvailable_PackageType) String() string {
+func (x ServerErrorResponseType) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (PackageAvailable_PackageType) Descriptor() protoreflect.EnumDescriptor {
+func (ServerErrorResponseType) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[4].Descriptor()
 }
 
-func (PackageAvailable_PackageType) Type() protoreflect.EnumType {
+func (ServerErrorResponseType) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[4]
 }
 
-func (x PackageAvailable_PackageType) Number() protoreflect.EnumNumber {
+func (x ServerErrorResponseType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use PackageAvailable_PackageType.Descriptor instead.
-func (PackageAvailable_PackageType) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{11, 0}
+// Deprecated: Use ServerErrorResponseType.Descriptor instead.
+func (ServerErrorResponseType) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{4}
 }
 
-type ServerErrorResponse_Type int32
+type CommandType int32
 
 const (
-	// Unknown error. Something went wrong, but it is not known what exactly.
-	// The Agent SHOULD NOT retry the message.
-	// The error_message field may contain a description of the problem.
-	ServerErrorResponse_Unknown ServerErrorResponse_Type = 0
-	// The AgentToServer message was malformed. The Agent SHOULD NOT retry
-	// the message.
-	ServerErrorResponse_BadRequest ServerErrorResponse_Type = 1
-	// The Server is overloaded and unable to process the request. The Agent
-	// should retry the message later. retry_info field may be optionally
-	// set with additional information about retrying.
-	ServerErrorResponse_Unavailable ServerErrorResponse_Type = 2
+	// The Agent should restart. This request will be ignored if the Agent does not
+	// support restart.
+	CommandType_CommandType_Restart CommandType = 0
 )
 
-// Enum value maps for ServerErrorResponse_Type.
+// Enum value maps for CommandType.
 var (
-	ServerErrorResponse_Type_name = map[int32]string{
-		0: "Unknown",
-		1: "BadRequest",
-		2: "Unavailable",
+	CommandType_name = map[int32]string{
+		0: "CommandType_Restart",
 	}
-	ServerErrorResponse_Type_value = map[string]int32{
-		"Unknown":     0,
-		"BadRequest":  1,
-		"Unavailable": 2,
+	CommandType_value = map[string]int32{
+		"CommandType_Restart": 0,
 	}
 )
 
-func (x ServerErrorResponse_Type) Enum() *ServerErrorResponse_Type {
-	p := new(ServerErrorResponse_Type)
+func (x CommandType) Enum() *CommandType {
+	p := new(CommandType)
 	*p = x
 	return p
 }
 
-func (x ServerErrorResponse_Type) String() string {
+func (x CommandType) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (ServerErrorResponse_Type) Descriptor() protoreflect.EnumDescriptor {
+func (CommandType) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[5].Descriptor()
 }
 
-func (ServerErrorResponse_Type) Type() protoreflect.EnumType {
+func (CommandType) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[5]
 }
 
-func (x ServerErrorResponse_Type) Number() protoreflect.EnumNumber {
+func (x CommandType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use ServerErrorResponse_Type.Descriptor instead.
-func (ServerErrorResponse_Type) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{13, 0}
+// Deprecated: Use CommandType.Descriptor instead.
+func (CommandType) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{5}
 }
 
-type ServerToAgentCommand_CommandType int32
+type AgentCapabilities int32
 
 const (
-	// The Agent should restart. This request will be ignored if the Agent does not
-	// support restart.
-	ServerToAgentCommand_Restart ServerToAgentCommand_CommandType = 0
+	// The capabilities field is unspecified.
+	AgentCapabilities_AgentCapabilities_Unspecified AgentCapabilities = 0
+	// The Agent can report status. This bit MUST be set, since all Agents MUST
+	// report status.
+	AgentCapabilities_AgentCapabilities_ReportsStatus AgentCapabilities = 1
+	// The Agent can accept remote configuration from the Server.
+	AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig AgentCapabilities = 2
+	// The Agent will report EffectiveConfig in AgentToServer.
+	AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig AgentCapabilities = 4
+	// The Agent can accept package offers.
+	AgentCapabilities_AgentCapabilities_AcceptsPackages AgentCapabilities = 8
+	// The Agent can report package status.
+	AgentCapabilities_AgentCapabilities_ReportsPackageStatuses AgentCapabilities = 16
+	// The Agent can report own trace to the destination specified by
+	// the Server via ConnectionSettingsOffers.own_traces field.
+	AgentCapabilities_AgentCapabilities_ReportsOwnTraces AgentCapabilities = 32
+	// The Agent can report own metrics to the destination specified by
+	// the Server via ConnectionSettingsOffers.own_metrics field.
+	AgentCapabilities_AgentCapabilities_ReportsOwnMetrics AgentCapabilities = 64
+	// The Agent can report own logs to the destination specified by
+	// the Server via ConnectionSettingsOffers.own_logs field.
+	AgentCapabilities_AgentCapabilities_ReportsOwnLogs AgentCapabilities = 128
+	// The can accept connections settings for OpAMP via
+	// ConnectionSettingsOffers.opamp field.
+	AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings AgentCapabilities = 256
+	// The can accept connections settings for other destinations via
+	// ConnectionSettingsOffers.other_connections field.
+	AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings AgentCapabilities = 512
+	// The Agent can accept restart requests.
+	AgentCapabilities_AgentCapabilities_AcceptsRestartCommand AgentCapabilities = 1024
+	// The Agent will report Health via AgentToServer.health field.
+	AgentCapabilities_AgentCapabilities_ReportsHealth AgentCapabilities = 2048
+	// The Agent will report RemoteConfig status via AgentToServer.remote_config_status field.
+	AgentCapabilities_AgentCapabilities_ReportsRemoteConfig AgentCapabilities = 4096
 )
 
-// Enum value maps for ServerToAgentCommand_CommandType.
+// Enum value maps for AgentCapabilities.
 var (
-	ServerToAgentCommand_CommandType_name = map[int32]string{
-		0: "Restart",
+	AgentCapabilities_name = map[int32]string{
+		0:    "AgentCapabilities_Unspecified",
+		1:    "AgentCapabilities_ReportsStatus",
+		2:    "AgentCapabilities_AcceptsRemoteConfig",
+		4:    "AgentCapabilities_ReportsEffectiveConfig",
+		8:    "AgentCapabilities_AcceptsPackages",
+		16:   "AgentCapabilities_ReportsPackageStatuses",
+		32:   "AgentCapabilities_ReportsOwnTraces",
+		64:   "AgentCapabilities_ReportsOwnMetrics",
+		128:  "AgentCapabilities_ReportsOwnLogs",
+		256:  "AgentCapabilities_AcceptsOpAMPConnectionSettings",
+		512:  "AgentCapabilities_AcceptsOtherConnectionSettings",
+		1024: "AgentCapabilities_AcceptsRestartCommand",
+		2048: "AgentCapabilities_ReportsHealth",
+		4096: "AgentCapabilities_ReportsRemoteConfig",
 	}
-	ServerToAgentCommand_CommandType_value = map[string]int32{
-		"Restart": 0,
+	AgentCapabilities_value = map[string]int32{
+		"AgentCapabilities_Unspecified":                    0,
+		"AgentCapabilities_ReportsStatus":                  1,
+		"AgentCapabilities_AcceptsRemoteConfig":            2,
+		"AgentCapabilities_ReportsEffectiveConfig":         4,
+		"AgentCapabilities_AcceptsPackages":                8,
+		"AgentCapabilities_ReportsPackageStatuses":         16,
+		"AgentCapabilities_ReportsOwnTraces":               32,
+		"AgentCapabilities_ReportsOwnMetrics":              64,
+		"AgentCapabilities_ReportsOwnLogs":                 128,
+		"AgentCapabilities_AcceptsOpAMPConnectionSettings": 256,
+		"AgentCapabilities_AcceptsOtherConnectionSettings": 512,
+		"AgentCapabilities_AcceptsRestartCommand":          1024,
+		"AgentCapabilities_ReportsHealth":                  2048,
+		"AgentCapabilities_ReportsRemoteConfig":            4096,
 	}
 )
 
-func (x ServerToAgentCommand_CommandType) Enum() *ServerToAgentCommand_CommandType {
-	p := new(ServerToAgentCommand_CommandType)
+func (x AgentCapabilities) Enum() *AgentCapabilities {
+	p := new(AgentCapabilities)
 	*p = x
 	return p
 }
 
-func (x ServerToAgentCommand_CommandType) String() string {
+func (x AgentCapabilities) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (ServerToAgentCommand_CommandType) Descriptor() protoreflect.EnumDescriptor {
+func (AgentCapabilities) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[6].Descriptor()
 }
 
-func (ServerToAgentCommand_CommandType) Type() protoreflect.EnumType {
+func (AgentCapabilities) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[6]
 }
 
-func (x ServerToAgentCommand_CommandType) Number() protoreflect.EnumNumber {
+func (x AgentCapabilities) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use ServerToAgentCommand_CommandType.Descriptor instead.
-func (ServerToAgentCommand_CommandType) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{15, 0}
+// Deprecated: Use AgentCapabilities.Descriptor instead.
+func (AgentCapabilities) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{6}
 }
 
-type RemoteConfigStatus_Status int32
+type RemoteConfigStatuses int32
 
 const (
 	// The value of status field is not set.
-	RemoteConfigStatus_UNSET RemoteConfigStatus_Status = 0
+	RemoteConfigStatuses_RemoteConfigStatuses_UNSET RemoteConfigStatuses = 0
 	// Remote config was successfully applied by the Agent.
-	RemoteConfigStatus_APPLIED RemoteConfigStatus_Status = 1
+	RemoteConfigStatuses_RemoteConfigStatuses_APPLIED RemoteConfigStatuses = 1
 	// Agent is currently applying the remote config that it received earlier.
-	RemoteConfigStatus_APPLYING RemoteConfigStatus_Status = 2
+	RemoteConfigStatuses_RemoteConfigStatuses_APPLYING RemoteConfigStatuses = 2
 	// Agent tried to apply the config received earlier, but it failed.
 	// See error_message for more details.
-	RemoteConfigStatus_FAILED RemoteConfigStatus_Status = 3
+	RemoteConfigStatuses_RemoteConfigStatuses_FAILED RemoteConfigStatuses = 3
 )
 
-// Enum value maps for RemoteConfigStatus_Status.
+// Enum value maps for RemoteConfigStatuses.
 var (
-	RemoteConfigStatus_Status_name = map[int32]string{
-		0: "UNSET",
-		1: "APPLIED",
-		2: "APPLYING",
-		3: "FAILED",
-	}
-	RemoteConfigStatus_Status_value = map[string]int32{
-		"UNSET":    0,
-		"APPLIED":  1,
-		"APPLYING": 2,
-		"FAILED":   3,
+	RemoteConfigStatuses_name = map[int32]string{
+		0: "RemoteConfigStatuses_UNSET",
+		1: "RemoteConfigStatuses_APPLIED",
+		2: "RemoteConfigStatuses_APPLYING",
+		3: "RemoteConfigStatuses_FAILED",
+	}
+	RemoteConfigStatuses_value = map[string]int32{
+		"RemoteConfigStatuses_UNSET":    0,
+		"RemoteConfigStatuses_APPLIED":  1,
+		"RemoteConfigStatuses_APPLYING": 2,
+		"RemoteConfigStatuses_FAILED":   3,
 	}
 )
 
-func (x RemoteConfigStatus_Status) Enum() *RemoteConfigStatus_Status {
-	p := new(RemoteConfigStatus_Status)
+func (x RemoteConfigStatuses) Enum() *RemoteConfigStatuses {
+	p := new(RemoteConfigStatuses)
 	*p = x
 	return p
 }
 
-func (x RemoteConfigStatus_Status) String() string {
+func (x RemoteConfigStatuses) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (RemoteConfigStatus_Status) Descriptor() protoreflect.EnumDescriptor {
+func (RemoteConfigStatuses) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[7].Descriptor()
 }
 
-func (RemoteConfigStatus_Status) Type() protoreflect.EnumType {
+func (RemoteConfigStatuses) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[7]
 }
 
-func (x RemoteConfigStatus_Status) Number() protoreflect.EnumNumber {
+func (x RemoteConfigStatuses) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use RemoteConfigStatus_Status.Descriptor instead.
-func (RemoteConfigStatus_Status) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{19, 0}
+// Deprecated: Use RemoteConfigStatuses.Descriptor instead.
+func (RemoteConfigStatuses) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{7}
 }
 
 // The status of this package.
-type PackageStatus_Status int32
+type PackageStatusEnum int32
 
 const (
 	// Package is successfully installed by the Agent.
 	// The error_message field MUST NOT be set.
-	PackageStatus_Installed PackageStatus_Status = 0
+	PackageStatusEnum_PackageStatusEnum_Installed PackageStatusEnum = 0
 	// Installation of this package has not yet started.
-	PackageStatus_InstallPending PackageStatus_Status = 1
+	PackageStatusEnum_PackageStatusEnum_InstallPending PackageStatusEnum = 1
 	// Agent is currently downloading and installing the package.
 	// server_offered_hash field MUST be set to indicate the version that the
 	// Agent is installing. The error_message field MUST NOT be set.
-	PackageStatus_Installing PackageStatus_Status = 2
+	PackageStatusEnum_PackageStatusEnum_Installing PackageStatusEnum = 2
 	// Agent tried to install the package but installation failed.
 	// server_offered_hash field MUST be set to indicate the version that the Agent
 	// tried to install. The error_message may also contain more details about
 	// the failure.
-	PackageStatus_InstallFailed PackageStatus_Status = 3
+	PackageStatusEnum_PackageStatusEnum_InstallFailed PackageStatusEnum = 3
 )
 
-// Enum value maps for PackageStatus_Status.
+// Enum value maps for PackageStatusEnum.
 var (
-	PackageStatus_Status_name = map[int32]string{
-		0: "Installed",
-		1: "InstallPending",
-		2: "Installing",
-		3: "InstallFailed",
-	}
-	PackageStatus_Status_value = map[string]int32{
-		"Installed":      0,
-		"InstallPending": 1,
-		"Installing":     2,
-		"InstallFailed":  3,
+	PackageStatusEnum_name = map[int32]string{
+		0: "PackageStatusEnum_Installed",
+		1: "PackageStatusEnum_InstallPending",
+		2: "PackageStatusEnum_Installing",
+		3: "PackageStatusEnum_InstallFailed",
+	}
+	PackageStatusEnum_value = map[string]int32{
+		"PackageStatusEnum_Installed":      0,
+		"PackageStatusEnum_InstallPending": 1,
+		"PackageStatusEnum_Installing":     2,
+		"PackageStatusEnum_InstallFailed":  3,
 	}
 )
 
-func (x PackageStatus_Status) Enum() *PackageStatus_Status {
-	p := new(PackageStatus_Status)
+func (x PackageStatusEnum) Enum() *PackageStatusEnum {
+	p := new(PackageStatusEnum)
 	*p = x
 	return p
 }
 
-func (x PackageStatus_Status) String() string {
+func (x PackageStatusEnum) String() string {
 	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
 }
 
-func (PackageStatus_Status) Descriptor() protoreflect.EnumDescriptor {
+func (PackageStatusEnum) Descriptor() protoreflect.EnumDescriptor {
 	return file_opamp_proto_enumTypes[8].Descriptor()
 }
 
-func (PackageStatus_Status) Type() protoreflect.EnumType {
+func (PackageStatusEnum) Type() protoreflect.EnumType {
 	return &file_opamp_proto_enumTypes[8]
 }
 
-func (x PackageStatus_Status) Number() protoreflect.EnumNumber {
+func (x PackageStatusEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(x)
 }
 
-// Deprecated: Use PackageStatus_Status.Descriptor instead.
-func (PackageStatus_Status) EnumDescriptor() ([]byte, []int) {
-	return file_opamp_proto_rawDescGZIP(), []int{21, 0}
+// Deprecated: Use PackageStatusEnum.Descriptor instead.
+func (PackageStatusEnum) EnumDescriptor() ([]byte, []int) {
+	return file_opamp_proto_rawDescGZIP(), []int{8}
 }
 
 type AgentToServer struct {
@@ -623,7 +623,7 @@ type AgentToServer struct {
 	// Agent to the Server.
 	AgentDisconnect *AgentDisconnect `protobuf:"bytes,9,opt,name=agent_disconnect,json=agentDisconnect,proto3" json:"agent_disconnect,omitempty"`
 	// Bit flags as defined by AgentToServerFlags bit masks.
-	Flags AgentToServer_AgentToServerFlags `protobuf:"varint,10,opt,name=flags,proto3,enum=opamp.proto.AgentToServer_AgentToServerFlags" json:"flags,omitempty"`
+	Flags AgentToServerFlags `protobuf:"varint,10,opt,name=flags,proto3,enum=opamp.proto.AgentToServerFlags" json:"flags,omitempty"`
 }
 
 func (x *AgentToServer) Reset() {
@@ -683,7 +683,7 @@ func (x *AgentToServer) GetCapabilities() AgentCapabilities {
 	if x != nil {
 		return x.Capabilities
 	}
-	return AgentCapabilities_UnspecifiedAgentCapability
+	return AgentCapabilities_AgentCapabilities_Unspecified
 }
 
 func (x *AgentToServer) GetHealth() *AgentHealth {
@@ -721,11 +721,11 @@ func (x *AgentToServer) GetAgentDisconnect() *AgentDisconnect {
 	return nil
 }
 
-func (x *AgentToServer) GetFlags() AgentToServer_AgentToServerFlags {
+func (x *AgentToServer) GetFlags() AgentToServerFlags {
 	if x != nil {
 		return x.Flags
 	}
-	return AgentToServer_FlagsUnspecified
+	return AgentToServerFlags_AgentToServerFlags_Unspecified
 }
 
 // AgentDisconnect is the last message sent from the Agent to the Server. The Server
@@ -794,7 +794,7 @@ type ServerToAgent struct {
 	// This field is set when the Server has packages to offer to the Agent.
 	PackagesAvailable *PackagesAvailable `protobuf:"bytes,5,opt,name=packages_available,json=packagesAvailable,proto3" json:"packages_available,omitempty"`
 	// Bit flags as defined by Flags bit masks.
-	Flags ServerToAgent_Flags `protobuf:"varint,6,opt,name=flags,proto3,enum=opamp.proto.ServerToAgent_Flags" json:"flags,omitempty"`
+	Flags ServerToAgentFlags `protobuf:"varint,6,opt,name=flags,proto3,enum=opamp.proto.ServerToAgentFlags" json:"flags,omitempty"`
 	// Bitmask of flags defined by ServerCapabilities enum.
 	// All bits that are not defined in ServerCapabilities enum MUST be set to 0
 	// by the Server. This allows extending the protocol and the ServerCapabilities
@@ -880,18 +880,18 @@ func (x *ServerToAgent) GetPackagesAvailable() *PackagesAvailable {
 	return nil
 }
 
-func (x *ServerToAgent) GetFlags() ServerToAgent_Flags {
+func (x *ServerToAgent) GetFlags() ServerToAgentFlags {
 	if x != nil {
 		return x.Flags
 	}
-	return ServerToAgent_FlagsUnspecified
+	return ServerToAgentFlags_ServerToAgentFlags_Unspecified
 }
 
 func (x *ServerToAgent) GetCapabilities() ServerCapabilities {
 	if x != nil {
 		return x.Capabilities
 	}
-	return ServerCapabilities_UnspecifiedServerCapability
+	return ServerCapabilities_ServerCapabilities_Unspecified
 }
 
 func (x *ServerToAgent) GetAgentIdentification() *AgentIdentification {
@@ -1550,7 +1550,7 @@ type PackageAvailable struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Type PackageAvailable_PackageType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.PackageAvailable_PackageType" json:"type,omitempty"`
+	Type PackageType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.PackageType" json:"type,omitempty"`
 	// The package version that is available on the Server side. The Agent may for
 	// example use this information to avoid downloading a package that was previously
 	// already downloaded and failed to install.
@@ -1596,11 +1596,11 @@ func (*PackageAvailable) Descriptor() ([]byte, []int) {
 	return file_opamp_proto_rawDescGZIP(), []int{11}
 }
 
-func (x *PackageAvailable) GetType() PackageAvailable_PackageType {
+func (x *PackageAvailable) GetType() PackageType {
 	if x != nil {
 		return x.Type
 	}
-	return PackageAvailable_TopLevelPackage
+	return PackageType_PackageType_TopLevel
 }
 
 func (x *PackageAvailable) GetVersion() string {
@@ -1703,7 +1703,7 @@ type ServerErrorResponse struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Type ServerErrorResponse_Type `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerErrorResponse_Type" json:"type,omitempty"`
+	Type ServerErrorResponseType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerErrorResponseType" json:"type,omitempty"`
 	// Error message in the string form, typically human readable.
 	ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
 	// Types that are assignable to Details:
@@ -1743,11 +1743,11 @@ func (*ServerErrorResponse) Descriptor() ([]byte, []int) {
 	return file_opamp_proto_rawDescGZIP(), []int{13}
 }
 
-func (x *ServerErrorResponse) GetType() ServerErrorResponse_Type {
+func (x *ServerErrorResponse) GetType() ServerErrorResponseType {
 	if x != nil {
 		return x.Type
 	}
-	return ServerErrorResponse_Unknown
+	return ServerErrorResponseType_ServerErrorResponseType_Unknown
 }
 
 func (x *ServerErrorResponse) GetErrorMessage() string {
@@ -1836,7 +1836,7 @@ type ServerToAgentCommand struct {
 	sizeCache     protoimpl.SizeCache
 	unknownFields protoimpl.UnknownFields
 
-	Type ServerToAgentCommand_CommandType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.ServerToAgentCommand_CommandType" json:"type,omitempty"`
+	Type CommandType `protobuf:"varint,1,opt,name=type,proto3,enum=opamp.proto.CommandType" json:"type,omitempty"`
 }
 
 func (x *ServerToAgentCommand) Reset() {
@@ -1871,11 +1871,11 @@ func (*ServerToAgentCommand) Descriptor() ([]byte, []int) {
 	return file_opamp_proto_rawDescGZIP(), []int{15}
 }
 
-func (x *ServerToAgentCommand) GetType() ServerToAgentCommand_CommandType {
+func (x *ServerToAgentCommand) GetType() CommandType {
 	if x != nil {
 		return x.Type
 	}
-	return ServerToAgentCommand_Restart
+	return CommandType_CommandType_Restart
 }
 
 type AgentDescription struct {
@@ -2091,8 +2091,8 @@ type RemoteConfigStatus struct {
 	// The Server SHOULD compare this hash with the config hash
 	// it has for the Agent and if the hashes are different the Server MUST include
 	// the remote_config field in the response in the ServerToAgent message.
-	LastRemoteConfigHash []byte                    `protobuf:"bytes,1,opt,name=last_remote_config_hash,json=lastRemoteConfigHash,proto3" json:"last_remote_config_hash,omitempty"`
-	Status               RemoteConfigStatus_Status `protobuf:"varint,2,opt,name=status,proto3,enum=opamp.proto.RemoteConfigStatus_Status" json:"status,omitempty"`
+	LastRemoteConfigHash []byte               `protobuf:"bytes,1,opt,name=last_remote_config_hash,json=lastRemoteConfigHash,proto3" json:"last_remote_config_hash,omitempty"`
+	Status               RemoteConfigStatuses `protobuf:"varint,2,opt,name=status,proto3,enum=opamp.proto.RemoteConfigStatuses" json:"status,omitempty"`
 	// Optional error message if status==FAILED.
 	ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
 }
@@ -2136,11 +2136,11 @@ func (x *RemoteConfigStatus) GetLastRemoteConfigHash() []byte {
 	return nil
 }
 
-func (x *RemoteConfigStatus) GetStatus() RemoteConfigStatus_Status {
+func (x *RemoteConfigStatus) GetStatus() RemoteConfigStatuses {
 	if x != nil {
 		return x.Status
 	}
-	return RemoteConfigStatus_UNSET
+	return RemoteConfigStatuses_RemoteConfigStatuses_UNSET
 }
 
 func (x *RemoteConfigStatus) GetErrorMessage() string {
@@ -2271,8 +2271,8 @@ type PackageStatus struct {
 	// fields to be set and to have different values. This is for example possible if
 	// the Agent already has a version of the package successfully installed, the
 	// Server offers a different version, but the Agent fails to install that version.
-	ServerOfferedHash []byte               `protobuf:"bytes,5,opt,name=server_offered_hash,json=serverOfferedHash,proto3" json:"server_offered_hash,omitempty"`
-	Status            PackageStatus_Status `protobuf:"varint,6,opt,name=status,proto3,enum=opamp.proto.PackageStatus_Status" json:"status,omitempty"`
+	ServerOfferedHash []byte            `protobuf:"bytes,5,opt,name=server_offered_hash,json=serverOfferedHash,proto3" json:"server_offered_hash,omitempty"`
+	Status            PackageStatusEnum `protobuf:"varint,6,opt,name=status,proto3,enum=opamp.proto.PackageStatusEnum" json:"status,omitempty"`
 	// Error message if the status is erroneous.
 	ErrorMessage string `protobuf:"bytes,7,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
 }
@@ -2344,11 +2344,11 @@ func (x *PackageStatus) GetServerOfferedHash() []byte {
 	return nil
 }
 
-func (x *PackageStatus) GetStatus() PackageStatus_Status {
+func (x *PackageStatus) GetStatus() PackageStatusEnum {
 	if x != nil {
 		return x.Status
 	}
-	return PackageStatus_Installed
+	return PackageStatusEnum_PackageStatusEnum_Installed
 }
 
 func (x *PackageStatus) GetErrorMessage() string {
@@ -2593,7 +2593,7 @@ var File_opamp_proto protoreflect.FileDescriptor
 var file_opamp_proto_rawDesc = []byte{
 	0x0a, 0x0b, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x6f,
 	0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0e, 0x61, 0x6e, 0x79, 0x76,
-	0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x05, 0x0a, 0x0d, 0x41,
+	0x61, 0x6c, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x04, 0x0a, 0x0d, 0x41,
 	0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c,
 	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
 	0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x12,
@@ -2630,366 +2630,407 @@ var file_opamp_proto_rawDesc = []byte{
 	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 	0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
 	0x74, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
-	0x63, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
-	0x0e, 0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
-	0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x41, 0x67,
-	0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73,
-	0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x42, 0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74,
-	0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a,
-	0x10, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65,
-	0x64, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e,
-	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x10, 0x01, 0x22, 0x11, 0x0a, 0x0f, 0x41,
-	0x67, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xaa,
-	0x05, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74,
-	0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
-	0x55, 0x69, 0x64, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73,
-	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70,
-	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
-	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65,
-	0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0d,
-	0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20,
+	0x63, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
+	0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61,
+	0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x67, 0x65,
+	0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x22, 0xf5, 0x04, 0x0a,
+	0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x21,
+	0x0a, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69,
+	0x64, 0x12, 0x47, 0x0a, 0x0e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f,
+	0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
+	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72,
+	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0d, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0d, 0x72, 0x65,
+	0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+	0x67, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
+	0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65,
+	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f,
+	0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66,
+	0x65, 0x72, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
+	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20,
 	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
-	0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25,
-	0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e,
-	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f,
-	0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
-	0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x4d, 0x0a, 0x12, 0x70, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69,
-	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41,
-	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67,
-	0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67,
-	0x65, 0x6e, 0x74, 0x2e, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73,
-	0x12, 0x43, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
-	0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62,
-	0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
-	0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69,
-	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e,
-	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f,
-	0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70,
-	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
-	0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07,
-	0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0x32, 0x0a, 0x05, 0x46, 0x6c, 0x61, 0x67, 0x73,
-	0x12, 0x14, 0x0a, 0x10, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69,
-	0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
-	0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x10, 0x01, 0x22, 0xbb, 0x01, 0x0a, 0x17,
-	0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
-	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69,
-	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
-	0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65,
-	0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70,
-	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
-	0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65,
-	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c,
-	0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65,
-	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x54, 0x65,
-	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
-	0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73,
-	0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e,
-	0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
-	0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07,
-	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
-	0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64,
-	0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b,
-	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
-	0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b,
-	0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x17,
-	0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
-	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69,
-	0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
-	0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65,
-	0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70,
-	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72,
-	0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65,
-	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c,
-	0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65,
-	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x6f, 0x74, 0x68,
-	0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
-	0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
-	0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
-	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74,
-	0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65,
-	0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4f, 0x74, 0x68,
-	0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
-	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
-	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x07, 0x48,
-	0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72,
-	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65,
-	0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x30, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
-	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
-	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x74, 0x0a, 0x0e, 0x54, 0x4c, 0x53, 0x43, 0x65,
-	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62,
-	0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70,
-	0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76,
-	0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70,
-	0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x5f,
-	0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
-	0x52, 0x0b, 0x63, 0x61, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x98, 0x04,
-	0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74,
-	0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61,
-	0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a,
-	0x0a, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
-	0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x4d,
-	0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69,
-	0x6e, 0x67, 0x73, 0x52, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x12, 0x49, 0x0a, 0x0b, 0x6f, 0x77,
-	0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65,
-	0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f,
-	0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x4d, 0x65,
-	0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x72, 0x61,
-	0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
+	0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61,
+	0x62, 0x6c, 0x65, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61,
+	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18,
+	0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e,
+	0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x43, 0x0a,
+	0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20,
+	0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69,
+	0x74, 0x69, 0x65, 0x73, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69,
+	0x65, 0x73, 0x12, 0x53, 0x0a, 0x14, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e,
+	0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41,
+	0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69,
+	0x6f, 0x6e, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
+	0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61,
+	0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41,
+	0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d,
+	0x6d, 0x61, 0x6e, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f,
+	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+	0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
+	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f,
+	0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
+	0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
+	0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+	0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1b, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
+	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+	0x67, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
+	0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64,
+	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65,
+	0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
+	0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61,
+	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74,
+	0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
+	0x63, 0x61, 0x74, 0x65, 0x22, 0xdd, 0x02, 0x0a, 0x17, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f,
+	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+	0x12, 0x31, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+	0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13,
+	0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f,
+	0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64,
+	0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
+	0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+	0x74, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74,
+	0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6f, 0x70, 0x61,
+	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f,
+	0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
+	0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e,
+	0x74, 0x72, 0x79, 0x52, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+	0x67, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69,
+	0x6e, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x3a, 0x02, 0x38, 0x01, 0x22, 0x38, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
+	0x2d, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x13, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x48,
+	0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x30,
+	0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
+	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x22, 0x74, 0x0a, 0x0e, 0x54, 0x4c, 0x53, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+	0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79,
+	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
+	0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b,
+	0x65, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f,
+	0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x61, 0x50, 0x75, 0x62,
+	0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x98, 0x04, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66,
+	0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x05, 0x6f, 0x70, 0x61, 0x6d, 0x70,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x6f, 0x70,
+	0x61, 0x6d, 0x70, 0x12, 0x49, 0x0a, 0x0b, 0x6f, 0x77, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
+	0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
+	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79,
+	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
+	0x67, 0x73, 0x52, 0x0a, 0x6f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x47,
+	0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
+	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
+	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x09, 0x6f, 0x77,
+	0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x5f, 0x6c,
+	0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
 	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
 	0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69,
-	0x6e, 0x67, 0x73, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x12, 0x43,
-	0x0a, 0x08, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x28, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54,
-	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
-	0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x4c,
-	0x6f, 0x67, 0x73, 0x12, 0x68, 0x0a, 0x11, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e,
-	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b,
-	0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e,
-	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f,
-	0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
-	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6f, 0x74, 0x68,
-	0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x69, 0x0a,
-	0x15, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
-	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
-	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
-	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76,
-	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x48,
-	0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
-	0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50,
-	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
-	0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08,
-	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x5f,
-	0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73,
-	0x48, 0x61, 0x73, 0x68, 0x1a, 0x5a, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73,
-	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69,
-	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
-	0x22, 0xe8, 0x01, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69,
-	0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62,
-	0x6c, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
-	0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31,
-	0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f,
-	0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
-	0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c,
-	0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x34, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
-	0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c,
-	0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x64, 0x64,
-	0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x10, 0x01, 0x22, 0x76, 0x0a, 0x10, 0x44,
-	0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12,
-	0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55,
-	0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61,
-	0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
-	0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
-	0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74,
-	0x75, 0x72, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72,
-	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x74,
-	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
-	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72,
-	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65,
-	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f,
-	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65,
-	0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x72,
-	0x65, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x16, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65,
-	0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72, 0x79,
-	0x49, 0x6e, 0x66, 0x6f, 0x22, 0x34, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07,
-	0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x42, 0x61, 0x64,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x6e, 0x61,
-	0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x44, 0x65,
-	0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x43, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x79, 0x49, 0x6e,
-	0x66, 0x6f, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65,
-	0x72, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x04, 0x52, 0x15, 0x72, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4e,
-	0x61, 0x6e, 0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x75, 0x0a, 0x14, 0x53, 0x65,
-	0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
-	0x6e, 0x64, 0x12, 0x41, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
-	0x32, 0x2d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53,
-	0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d,
-	0x61, 0x6e, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x1a, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64,
-	0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x10,
-	0x00, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72,
-	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x16, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
-	0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73,
-	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70,
-	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69,
-	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
-	0x75, 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e,
-	0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
-	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
-	0x18, 0x6e, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41,
-	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x41, 0x67, 0x65,
-	0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x01,
-	0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x75, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x72,
-	0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x6f,
-	0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
-	0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e, 0x61, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73,
-	0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c,
-	0x61, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x0f, 0x45, 0x66, 0x66, 0x65,
-	0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
-	0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67,
-	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x22, 0xec, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f,
-	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35,
-	0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x14, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,
-	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d,
+	0x6e, 0x67, 0x73, 0x52, 0x07, 0x6f, 0x77, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x68, 0x0a, 0x11,
+	0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e,
+	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2e, 0x4f,
+	0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45,
+	0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65,
+	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x69, 0x0a, 0x15, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43,
+	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
+	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
+	0x79, 0x12, 0x3a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x24, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f,
+	0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65,
+	0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
+	0x01, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x41, 0x76,
+	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
+	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73,
+	0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
+	0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
+	0x73, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
+	0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x6c,
+	0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x5a, 0x0a,
+	0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
+	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
+	0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+	0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61,
+	0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05,
+	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x10, 0x50, 0x61,
+	0x63, 0x6b, 0x61, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x2c,
+	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f,
+	0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07,
+	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76,
+	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46,
+	0x69, 0x6c, 0x65, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73,
+	0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x76, 0x0a,
+	0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x69, 0x6c,
+	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72,
+	0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
+	0x64, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f,
+	0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74,
+	0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61,
+	0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e,
+	0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a,
+	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6f, 0x70,
+	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+	0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70,
+	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72,
+	0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
+	0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x0a,
+	0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
+	0x32, 0x16, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52,
+	0x65, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x74, 0x72,
+	0x79, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73,
+	0x22, 0x43, 0x0a, 0x09, 0x52, 0x65, 0x74, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a,
+	0x17, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6e,
+	0x6f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15,
+	0x72, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x65,
+	0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54,
+	0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x2c, 0x0a,
+	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6f, 0x70,
+	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e,
+	0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x10,
+	0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+	0x12, 0x4c, 0x0a, 0x16, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x5f,
+	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+	0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4b,
+	0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
+	0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x53,
+	0x0a, 0x1a, 0x6e, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e,
+	0x67, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
+	0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+	0x2e, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x18, 0x6e, 0x6f, 0x6e, 0x49, 0x64,
+	0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
+	0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x65, 0x61, 0x6c,
+	0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02,
+	0x75, 0x70, 0x12, 0x2f, 0x0a, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
+	0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06,
+	0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x4e,
+	0x61, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f,
+	0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x72, 0x72,
+	0x6f, 0x72, 0x22, 0x4d, 0x0a, 0x0f, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f,
+	0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d,
+	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61,
+	0x70, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x61, 0x73, 0x74,
+	0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68,
+	0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x52,
+	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x12,
+	0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
+	0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x52, 0x65,
+	0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+	0x65, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72,
+	0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22,
+	0xa1, 0x02, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18,
+	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
+	0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
+	0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x73,
+	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x61,
+	0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68,
+	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72,
+	0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
+	0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d,
 	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72,
-	0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x0a, 0x06, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12,
-	0x0b, 0x0a, 0x07, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08,
-	0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41,
-	0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x22, 0xa1, 0x02, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x61,
-	0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f,
+	0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x57, 0x0a, 0x0d, 0x50, 0x61,
+	0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
+	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a,
+	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f,
 	0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61,
-	0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
-	0x65, 0x73, 0x12, 0x48, 0x0a, 0x21, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f,
-	0x76, 0x69, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
-	0x65, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1d, 0x73,
-	0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x41, 0x6c, 0x6c,
-	0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d,
-	0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
-	0x65, 0x1a, 0x57, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74,
-	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
-	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8b, 0x03, 0x0a, 0x0d, 0x50,
-	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04,
-	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
-	0x12, 0x2a, 0x0a, 0x11, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65,
-	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x67, 0x65,
-	0x6e, 0x74, 0x48, 0x61, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e,
-	0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03,
-	0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x48, 0x61,
-	0x73, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66,
-	0x65, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65,
-	0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76,
-	0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
-	0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66,
-	0x65, 0x72, 0x65, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
-	0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,
-	0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73,
-	0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f,
-	0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74,
-	0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10,
-	0x00, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65, 0x6e, 0x64,
-	0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
-	0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c,
-	0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x10, 0x03, 0x22, 0x3f, 0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e,
-	0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
-	0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
-	0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x65, 0x77, 0x49, 0x6e,
-	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x22, 0x69, 0x0a, 0x11, 0x41, 0x67, 0x65,
-	0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33,
-	0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
-	0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65,
-	0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x52, 0x06, 0x63, 0x6f, 0x6e,
-	0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61,
-	0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x48, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70,
+	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
+	0x02, 0x38, 0x01, 0x22, 0xb8, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53,
+	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x61, 0x67, 0x65,
+	0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x56, 0x65,
+	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x68,
+	0x61, 0x73, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x61,
+	0x67, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x48, 0x61, 0x73, 0x68, 0x12, 0x34, 0x0a, 0x16, 0x73,
+	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x76, 0x65,
+	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x73, 0x65, 0x72,
+	0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
+	0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x65,
+	0x72, 0x65, 0x64, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11,
+	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x48, 0x61, 0x73,
+	0x68, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28,
+	0x0e, 0x32, 0x1e, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75,
+	0x6d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72,
+	0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3f,
+	0x0a, 0x13, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63,
+	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x77, 0x5f, 0x69, 0x6e, 0x73,
+	0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x0e, 0x6e, 0x65, 0x77, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69, 0x64, 0x22,
+	0x69, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f,
+	0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61,
+	0x70, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
+	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x61, 0x73, 0x68, 0x22, 0xb7, 0x01, 0x0a, 0x0e, 0x41,
+	0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x12, 0x49, 0x0a,
+	0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28,
+	0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
+	0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x1a, 0x5a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66,
+	0x69, 0x67, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05,
+	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70,
 	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d,
-	0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d,
-	0x61, 0x70, 0x1a, 0x5a, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x70, 0x45,
-	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
-	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
-	0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46,
-	0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x48,
-	0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c,
-	0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52,
-	0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
-	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
-	0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0xc9, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72,
-	0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12,
-	0x1f, 0x0a, 0x1b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x53, 0x65,
-	0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x00,
-	0x12, 0x11, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75,
-	0x73, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x6d,
-	0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x41,
-	0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
-	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x66, 0x66, 0x65, 0x72,
-	0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x19, 0x0a, 0x15, 0x41,
-	0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x53, 0x74,
-	0x61, 0x74, 0x75, 0x73, 0x10, 0x10, 0x12, 0x1c, 0x0a, 0x18, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73,
-	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
-	0x67, 0x73, 0x10, 0x20, 0x2a, 0x82, 0x03, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61,
-	0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x6e,
-	0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61,
-	0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x65,
-	0x70, 0x6f, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x17, 0x0a,
-	0x13, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f,
-	0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
-	0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63,
-	0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72,
-	0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65,
-	0x73, 0x10, 0x10, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77,
-	0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x65, 0x70,
-	0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x10, 0x40,
-	0x12, 0x13, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4c, 0x6f,
-	0x67, 0x73, 0x10, 0x80, 0x01, 0x12, 0x23, 0x0a, 0x1e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73,
-	0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53,
-	0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x02, 0x12, 0x23, 0x0a, 0x1e, 0x41, 0x63,
-	0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
-	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x04, 0x12,
-	0x1a, 0x0a, 0x15, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72,
-	0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x80, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x52,
-	0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x10, 0x80, 0x10, 0x12,
-	0x18, 0x0a, 0x13, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x80, 0x20, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74,
-	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2d, 0x74, 0x65, 0x6c,
-	0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x2f, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2d, 0x67, 0x6f, 0x2f,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x33,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
+	0x3a, 0x02, 0x38, 0x01, 0x22, 0x48, 0x0a, 0x0f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18,
+	0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63,
+	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x63,
+	0x0a, 0x12, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46,
+	0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x53,
+	0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65,
+	0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x67, 0x65, 0x6e,
+	0x74, 0x54, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f, 0x52,
+	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x55, 0x69,
+	0x64, 0x10, 0x01, 0x2a, 0x60, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41,
+	0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x65, 0x72,
+	0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x5f,
+	0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x26, 0x0a,
+	0x22, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x46, 0x6c,
+	0x61, 0x67, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x75, 0x6c, 0x6c, 0x53, 0x74,
+	0x61, 0x74, 0x65, 0x10, 0x01, 0x2a, 0xbe, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+	0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x1e,
+	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69,
+	0x65, 0x73, 0x5f, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00,
+	0x12, 0x24, 0x0a, 0x20, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
+	0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x53, 0x74,
+	0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x29, 0x0a, 0x25, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
+	0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66,
+	0x65, 0x72, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10,
+	0x02, 0x12, 0x2d, 0x0a, 0x29, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62,
+	0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x45,
+	0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04,
+	0x12, 0x25, 0x0a, 0x21, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
+	0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x50, 0x61, 0x63,
+	0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x2c, 0x0a, 0x28, 0x53, 0x65, 0x72, 0x76, 0x65,
+	0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63,
+	0x63, 0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x53, 0x74, 0x61,
+	0x74, 0x75, 0x73, 0x10, 0x10, 0x12, 0x2f, 0x0a, 0x2b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43,
+	0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x4f, 0x66, 0x66, 0x65,
+	0x72, 0x73, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74,
+	0x69, 0x6e, 0x67, 0x73, 0x10, 0x20, 0x2a, 0x3e, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67,
+	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65,
+	0x54, 0x79, 0x70, 0x65, 0x5f, 0x54, 0x6f, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x10, 0x00, 0x12,
+	0x15, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x41,
+	0x64, 0x64, 0x6f, 0x6e, 0x10, 0x01, 0x2a, 0x8f, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x72, 0x76, 0x65,
+	0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79,
+	0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f,
+	0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x6e,
+	0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x65, 0x72, 0x76, 0x65,
+	0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79,
+	0x70, 0x65, 0x5f, 0x42, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x10, 0x01, 0x12,
+	0x27, 0x0a, 0x23, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
+	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x55, 0x6e, 0x61, 0x76, 0x61,
+	0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x02, 0x2a, 0x26, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x6d,
+	0x61, 0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
+	0x6e, 0x64, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x10, 0x00,
+	0x2a, 0xef, 0x04, 0x0a, 0x11, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69,
+	0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43,
+	0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x55, 0x6e, 0x73, 0x70,
+	0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x67, 0x65,
+	0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52,
+	0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x01, 0x12, 0x29,
+	0x0a, 0x25, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+	0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74,
+	0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x41, 0x67, 0x65,
+	0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52,
+	0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
+	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x41, 0x67, 0x65, 0x6e, 0x74,
+	0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63,
+	0x65, 0x70, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x10, 0x08, 0x12, 0x2c,
+	0x0a, 0x28, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
+	0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x10, 0x10, 0x12, 0x26, 0x0a, 0x22,
+	0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65,
+	0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x54, 0x72, 0x61, 0x63,
+	0x65, 0x73, 0x10, 0x20, 0x12, 0x27, 0x0a, 0x23, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70,
+	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
+	0x73, 0x4f, 0x77, 0x6e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x10, 0x40, 0x12, 0x25, 0x0a,
+	0x20, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69,
+	0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x77, 0x6e, 0x4c, 0x6f, 0x67,
+	0x73, 0x10, 0x80, 0x01, 0x12, 0x35, 0x0a, 0x30, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70,
+	0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74,
+	0x73, 0x4f, 0x70, 0x41, 0x4d, 0x50, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+	0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10, 0x80, 0x02, 0x12, 0x35, 0x0a, 0x30, 0x41,
+	0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73,
+	0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e,
+	0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x10,
+	0x80, 0x04, 0x12, 0x2c, 0x0a, 0x27, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62,
+	0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x73, 0x52,
+	0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x80, 0x08,
+	0x12, 0x24, 0x0a, 0x1f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
+	0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x48, 0x65, 0x61,
+	0x6c, 0x74, 0x68, 0x10, 0x80, 0x10, 0x12, 0x2a, 0x0a, 0x25, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43,
+	0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x5f, 0x52, 0x65, 0x70, 0x6f,
+	0x72, 0x74, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10,
+	0x80, 0x20, 0x2a, 0x9c, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e,
+	0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x1a, 0x52,
+	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x65, 0x73, 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x1c, 0x52,
+	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x65, 0x73, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0x01, 0x12, 0x21, 0x0a,
+	0x1d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x61,
+	0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0x02,
+	0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10,
+	0x03, 0x2a, 0xa1, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61,
+	0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x61, 0x63, 0x6b, 0x61,
+	0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73,
+	0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x61, 0x63, 0x6b,
+	0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e,
+	0x73, 0x74, 0x61, 0x6c, 0x6c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x10, 0x01, 0x12, 0x20,
+	0x0a, 0x1c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45,
+	0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x10, 0x02,
+	0x12, 0x23, 0x0a, 0x1f, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
+	0x73, 0x45, 0x6e, 0x75, 0x6d, 0x5f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x46, 0x61, 0x69,
+	0x6c, 0x65, 0x64, 0x10, 0x03, 0x42, 0x2e, 0x5a, 0x2c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
+	0x63, 0x6f, 0x6d, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2d, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
+	0x72, 0x79, 0x2f, 0x6f, 0x70, 0x61, 0x6d, 0x70, 0x2d, 0x67, 0x6f, 0x2f, 0x70, 0x72, 0x6f, 0x74,
+	0x6f, 0x62, 0x75, 0x66, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -3007,63 +3048,63 @@ func file_opamp_proto_rawDescGZIP() []byte {
 var file_opamp_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
 var file_opamp_proto_msgTypes = make([]protoimpl.MessageInfo, 31)
 var file_opamp_proto_goTypes = []interface{}{
-	(ServerCapabilities)(0),               // 0: opamp.proto.ServerCapabilities
-	(AgentCapabilities)(0),                // 1: opamp.proto.AgentCapabilities
-	(AgentToServer_AgentToServerFlags)(0), // 2: opamp.proto.AgentToServer.AgentToServerFlags
-	(ServerToAgent_Flags)(0),              // 3: opamp.proto.ServerToAgent.Flags
-	(PackageAvailable_PackageType)(0),     // 4: opamp.proto.PackageAvailable.PackageType
-	(ServerErrorResponse_Type)(0),         // 5: opamp.proto.ServerErrorResponse.Type
-	(ServerToAgentCommand_CommandType)(0), // 6: opamp.proto.ServerToAgentCommand.CommandType
-	(RemoteConfigStatus_Status)(0),        // 7: opamp.proto.RemoteConfigStatus.Status
-	(PackageStatus_Status)(0),             // 8: opamp.proto.PackageStatus.Status
-	(*AgentToServer)(nil),                 // 9: opamp.proto.AgentToServer
-	(*AgentDisconnect)(nil),               // 10: opamp.proto.AgentDisconnect
-	(*ServerToAgent)(nil),                 // 11: opamp.proto.ServerToAgent
-	(*OpAMPConnectionSettings)(nil),       // 12: opamp.proto.OpAMPConnectionSettings
-	(*TelemetryConnectionSettings)(nil),   // 13: opamp.proto.TelemetryConnectionSettings
-	(*OtherConnectionSettings)(nil),       // 14: opamp.proto.OtherConnectionSettings
-	(*Headers)(nil),                       // 15: opamp.proto.Headers
-	(*Header)(nil),                        // 16: opamp.proto.Header
-	(*TLSCertificate)(nil),                // 17: opamp.proto.TLSCertificate
-	(*ConnectionSettingsOffers)(nil),      // 18: opamp.proto.ConnectionSettingsOffers
-	(*PackagesAvailable)(nil),             // 19: opamp.proto.PackagesAvailable
-	(*PackageAvailable)(nil),              // 20: opamp.proto.PackageAvailable
-	(*DownloadableFile)(nil),              // 21: opamp.proto.DownloadableFile
-	(*ServerErrorResponse)(nil),           // 22: opamp.proto.ServerErrorResponse
-	(*RetryInfo)(nil),                     // 23: opamp.proto.RetryInfo
-	(*ServerToAgentCommand)(nil),          // 24: opamp.proto.ServerToAgentCommand
-	(*AgentDescription)(nil),              // 25: opamp.proto.AgentDescription
-	(*AgentHealth)(nil),                   // 26: opamp.proto.AgentHealth
-	(*EffectiveConfig)(nil),               // 27: opamp.proto.EffectiveConfig
-	(*RemoteConfigStatus)(nil),            // 28: opamp.proto.RemoteConfigStatus
-	(*PackageStatuses)(nil),               // 29: opamp.proto.PackageStatuses
-	(*PackageStatus)(nil),                 // 30: opamp.proto.PackageStatus
-	(*AgentIdentification)(nil),           // 31: opamp.proto.AgentIdentification
-	(*AgentRemoteConfig)(nil),             // 32: opamp.proto.AgentRemoteConfig
-	(*AgentConfigMap)(nil),                // 33: opamp.proto.AgentConfigMap
-	(*AgentConfigFile)(nil),               // 34: opamp.proto.AgentConfigFile
-	nil,                                   // 35: opamp.proto.OtherConnectionSettings.OtherSettingsEntry
-	nil,                                   // 36: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry
-	nil,                                   // 37: opamp.proto.PackagesAvailable.PackagesEntry
-	nil,                                   // 38: opamp.proto.PackageStatuses.PackagesEntry
-	nil,                                   // 39: opamp.proto.AgentConfigMap.ConfigMapEntry
-	(*KeyValue)(nil),                      // 40: opamp.proto.KeyValue
+	(AgentToServerFlags)(0),             // 0: opamp.proto.AgentToServerFlags
+	(ServerToAgentFlags)(0),             // 1: opamp.proto.ServerToAgentFlags
+	(ServerCapabilities)(0),             // 2: opamp.proto.ServerCapabilities
+	(PackageType)(0),                    // 3: opamp.proto.PackageType
+	(ServerErrorResponseType)(0),        // 4: opamp.proto.ServerErrorResponseType
+	(CommandType)(0),                    // 5: opamp.proto.CommandType
+	(AgentCapabilities)(0),              // 6: opamp.proto.AgentCapabilities
+	(RemoteConfigStatuses)(0),           // 7: opamp.proto.RemoteConfigStatuses
+	(PackageStatusEnum)(0),              // 8: opamp.proto.PackageStatusEnum
+	(*AgentToServer)(nil),               // 9: opamp.proto.AgentToServer
+	(*AgentDisconnect)(nil),             // 10: opamp.proto.AgentDisconnect
+	(*ServerToAgent)(nil),               // 11: opamp.proto.ServerToAgent
+	(*OpAMPConnectionSettings)(nil),     // 12: opamp.proto.OpAMPConnectionSettings
+	(*TelemetryConnectionSettings)(nil), // 13: opamp.proto.TelemetryConnectionSettings
+	(*OtherConnectionSettings)(nil),     // 14: opamp.proto.OtherConnectionSettings
+	(*Headers)(nil),                     // 15: opamp.proto.Headers
+	(*Header)(nil),                      // 16: opamp.proto.Header
+	(*TLSCertificate)(nil),              // 17: opamp.proto.TLSCertificate
+	(*ConnectionSettingsOffers)(nil),    // 18: opamp.proto.ConnectionSettingsOffers
+	(*PackagesAvailable)(nil),           // 19: opamp.proto.PackagesAvailable
+	(*PackageAvailable)(nil),            // 20: opamp.proto.PackageAvailable
+	(*DownloadableFile)(nil),            // 21: opamp.proto.DownloadableFile
+	(*ServerErrorResponse)(nil),         // 22: opamp.proto.ServerErrorResponse
+	(*RetryInfo)(nil),                   // 23: opamp.proto.RetryInfo
+	(*ServerToAgentCommand)(nil),        // 24: opamp.proto.ServerToAgentCommand
+	(*AgentDescription)(nil),            // 25: opamp.proto.AgentDescription
+	(*AgentHealth)(nil),                 // 26: opamp.proto.AgentHealth
+	(*EffectiveConfig)(nil),             // 27: opamp.proto.EffectiveConfig
+	(*RemoteConfigStatus)(nil),          // 28: opamp.proto.RemoteConfigStatus
+	(*PackageStatuses)(nil),             // 29: opamp.proto.PackageStatuses
+	(*PackageStatus)(nil),               // 30: opamp.proto.PackageStatus
+	(*AgentIdentification)(nil),         // 31: opamp.proto.AgentIdentification
+	(*AgentRemoteConfig)(nil),           // 32: opamp.proto.AgentRemoteConfig
+	(*AgentConfigMap)(nil),              // 33: opamp.proto.AgentConfigMap
+	(*AgentConfigFile)(nil),             // 34: opamp.proto.AgentConfigFile
+	nil,                                 // 35: opamp.proto.OtherConnectionSettings.OtherSettingsEntry
+	nil,                                 // 36: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry
+	nil,                                 // 37: opamp.proto.PackagesAvailable.PackagesEntry
+	nil,                                 // 38: opamp.proto.PackageStatuses.PackagesEntry
+	nil,                                 // 39: opamp.proto.AgentConfigMap.ConfigMapEntry
+	(*KeyValue)(nil),                    // 40: opamp.proto.KeyValue
 }
 var file_opamp_proto_depIdxs = []int32{
 	25, // 0: opamp.proto.AgentToServer.agent_description:type_name -> opamp.proto.AgentDescription
-	1,  // 1: opamp.proto.AgentToServer.capabilities:type_name -> opamp.proto.AgentCapabilities
+	6,  // 1: opamp.proto.AgentToServer.capabilities:type_name -> opamp.proto.AgentCapabilities
 	26, // 2: opamp.proto.AgentToServer.health:type_name -> opamp.proto.AgentHealth
 	27, // 3: opamp.proto.AgentToServer.effective_config:type_name -> opamp.proto.EffectiveConfig
 	28, // 4: opamp.proto.AgentToServer.remote_config_status:type_name -> opamp.proto.RemoteConfigStatus
 	29, // 5: opamp.proto.AgentToServer.package_statuses:type_name -> opamp.proto.PackageStatuses
 	10, // 6: opamp.proto.AgentToServer.agent_disconnect:type_name -> opamp.proto.AgentDisconnect
-	2,  // 7: opamp.proto.AgentToServer.flags:type_name -> opamp.proto.AgentToServer.AgentToServerFlags
+	0,  // 7: opamp.proto.AgentToServer.flags:type_name -> opamp.proto.AgentToServerFlags
 	22, // 8: opamp.proto.ServerToAgent.error_response:type_name -> opamp.proto.ServerErrorResponse
 	32, // 9: opamp.proto.ServerToAgent.remote_config:type_name -> opamp.proto.AgentRemoteConfig
 	18, // 10: opamp.proto.ServerToAgent.connection_settings:type_name -> opamp.proto.ConnectionSettingsOffers
 	19, // 11: opamp.proto.ServerToAgent.packages_available:type_name -> opamp.proto.PackagesAvailable
-	3,  // 12: opamp.proto.ServerToAgent.flags:type_name -> opamp.proto.ServerToAgent.Flags
-	0,  // 13: opamp.proto.ServerToAgent.capabilities:type_name -> opamp.proto.ServerCapabilities
+	1,  // 12: opamp.proto.ServerToAgent.flags:type_name -> opamp.proto.ServerToAgentFlags
+	2,  // 13: opamp.proto.ServerToAgent.capabilities:type_name -> opamp.proto.ServerCapabilities
 	31, // 14: opamp.proto.ServerToAgent.agent_identification:type_name -> opamp.proto.AgentIdentification
 	24, // 15: opamp.proto.ServerToAgent.command:type_name -> opamp.proto.ServerToAgentCommand
 	15, // 16: opamp.proto.OpAMPConnectionSettings.headers:type_name -> opamp.proto.Headers
@@ -3080,17 +3121,17 @@ var file_opamp_proto_depIdxs = []int32{
 	13, // 27: opamp.proto.ConnectionSettingsOffers.own_logs:type_name -> opamp.proto.TelemetryConnectionSettings
 	36, // 28: opamp.proto.ConnectionSettingsOffers.other_connections:type_name -> opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry
 	37, // 29: opamp.proto.PackagesAvailable.packages:type_name -> opamp.proto.PackagesAvailable.PackagesEntry
-	4,  // 30: opamp.proto.PackageAvailable.type:type_name -> opamp.proto.PackageAvailable.PackageType
+	3,  // 30: opamp.proto.PackageAvailable.type:type_name -> opamp.proto.PackageType
 	21, // 31: opamp.proto.PackageAvailable.file:type_name -> opamp.proto.DownloadableFile
-	5,  // 32: opamp.proto.ServerErrorResponse.type:type_name -> opamp.proto.ServerErrorResponse.Type
+	4,  // 32: opamp.proto.ServerErrorResponse.type:type_name -> opamp.proto.ServerErrorResponseType
 	23, // 33: opamp.proto.ServerErrorResponse.retry_info:type_name -> opamp.proto.RetryInfo
-	6,  // 34: opamp.proto.ServerToAgentCommand.type:type_name -> opamp.proto.ServerToAgentCommand.CommandType
+	5,  // 34: opamp.proto.ServerToAgentCommand.type:type_name -> opamp.proto.CommandType
 	40, // 35: opamp.proto.AgentDescription.identifying_attributes:type_name -> opamp.proto.KeyValue
 	40, // 36: opamp.proto.AgentDescription.non_identifying_attributes:type_name -> opamp.proto.KeyValue
 	33, // 37: opamp.proto.EffectiveConfig.config_map:type_name -> opamp.proto.AgentConfigMap
-	7,  // 38: opamp.proto.RemoteConfigStatus.status:type_name -> opamp.proto.RemoteConfigStatus.Status
+	7,  // 38: opamp.proto.RemoteConfigStatus.status:type_name -> opamp.proto.RemoteConfigStatuses
 	38, // 39: opamp.proto.PackageStatuses.packages:type_name -> opamp.proto.PackageStatuses.PackagesEntry
-	8,  // 40: opamp.proto.PackageStatus.status:type_name -> opamp.proto.PackageStatus.Status
+	8,  // 40: opamp.proto.PackageStatus.status:type_name -> opamp.proto.PackageStatusEnum
 	33, // 41: opamp.proto.AgentRemoteConfig.config:type_name -> opamp.proto.AgentConfigMap
 	39, // 42: opamp.proto.AgentConfigMap.config_map:type_name -> opamp.proto.AgentConfigMap.ConfigMapEntry
 	14, // 43: opamp.proto.ConnectionSettingsOffers.OtherConnectionsEntry.value:type_name -> opamp.proto.OtherConnectionSettings


Test patch:
diff --git a/client/clientimpl_test.go b/client/clientimpl_test.go
index 5cdc1d9..ba6f062 100644
--- a/client/clientimpl_test.go
+++ b/client/clientimpl_test.go
@@ -343,7 +343,7 @@ func TestFirstStatusReport(t *testing.T) {
 					atomic.AddInt64(&remoteConfigReceived, 1)
 				},
 			},
-			Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig,
 		}
 		settings.OpAMPServerURL = "ws://" + srv.Endpoint
 		startClient(t, settings, client)
@@ -442,7 +442,7 @@ func TestSetEffectiveConfig(t *testing.T) {
 					return sendConfig, nil
 				},
 			},
-			Capabilities: protobufs.AgentCapabilities_ReportsEffectiveConfig,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig,
 		}
 		settings.OpAMPServerURL = "ws://" + srv.Endpoint
 		prepareClient(t, &settings, client)
@@ -668,11 +668,11 @@ func TestConnectionSettings(t *testing.T) {
 					return nil
 				},
 			},
-			Capabilities: protobufs.AgentCapabilities_ReportsOwnTraces |
-				protobufs.AgentCapabilities_ReportsOwnMetrics |
-				protobufs.AgentCapabilities_ReportsOwnLogs |
-				protobufs.AgentCapabilities_AcceptsOtherConnectionSettings |
-				protobufs.AgentCapabilities_AcceptsOpAMPConnectionSettings,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnTraces |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnMetrics |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsOwnLogs |
+				protobufs.AgentCapabilities_AgentCapabilities_AcceptsOtherConnectionSettings |
+				protobufs.AgentCapabilities_AgentCapabilities_AcceptsOpAMPConnectionSettings,
 		}
 		settings.OpAMPServerURL = "ws://" + srv.Endpoint
 		prepareClient(t, &settings, client)
@@ -703,7 +703,7 @@ func TestReportAgentDescription(t *testing.T) {
 		// Start a client.
 		settings := types.StartSettings{
 			OpAMPServerURL: "ws://" + srv.Endpoint,
-			Capabilities:   protobufs.AgentCapabilities_ReportsEffectiveConfig,
+			Capabilities:   protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig,
 		}
 		prepareClient(t, &settings, client)
 
@@ -732,7 +732,7 @@ func TestReportAgentDescription(t *testing.T) {
 			// Ask client for full AgentDescription.
 			return &protobufs.ServerToAgent{
 				InstanceUid: msg.InstanceUid,
-				Flags:       protobufs.ServerToAgent_ReportFullState,
+				Flags:       protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState,
 			}
 		})
 
@@ -766,7 +766,8 @@ func TestReportAgentHealth(t *testing.T) {
 		// Start a client.
 		settings := types.StartSettings{
 			OpAMPServerURL: "ws://" + srv.Endpoint,
-			Capabilities:   protobufs.AgentCapabilities_ReportsEffectiveConfig | protobufs.AgentCapabilities_ReportsHealth,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsHealth,
 		}
 		prepareClient(t, &settings, client)
 
@@ -804,7 +805,7 @@ func TestReportAgentHealth(t *testing.T) {
 			// Ask client for full AgentDescription.
 			return &protobufs.ServerToAgent{
 				InstanceUid: msg.InstanceUid,
-				Flags:       protobufs.ServerToAgent_ReportFullState,
+				Flags:       protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState,
 			}
 		})
 
@@ -873,7 +874,7 @@ func TestReportEffectiveConfig(t *testing.T) {
 			// Ask client for full AgentDescription.
 			return &protobufs.ServerToAgent{
 				InstanceUid: msg.InstanceUid,
-				Flags:       protobufs.ServerToAgent_ReportFullState,
+				Flags:       protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState,
 			}
 		})
 
@@ -913,20 +914,21 @@ func verifyRemoteConfigUpdate(t *testing.T, successCase bool, expectStatus *prot
 							client.SetRemoteConfigStatus(
 								&protobufs.RemoteConfigStatus{
 									LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-									Status:               protobufs.RemoteConfigStatus_APPLIED,
+									Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED,
 								})
 						} else {
 							client.SetRemoteConfigStatus(
 								&protobufs.RemoteConfigStatus{
 									LastRemoteConfigHash: msg.RemoteConfig.ConfigHash,
-									Status:               protobufs.RemoteConfigStatus_FAILED,
+									Status:               protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED,
 									ErrorMessage:         "cannot update remote config",
 								})
 						}
 					}
 				},
 			},
-			Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig | protobufs.AgentCapabilities_ReportsRemoteConfig,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsRemoteConfig,
 		}
 		prepareClient(t, &settings, client)
 
@@ -977,7 +979,7 @@ func verifyRemoteConfigUpdate(t *testing.T, successCase bool, expectStatus *prot
 			return &protobufs.ServerToAgent{
 				InstanceUid: msg.InstanceUid,
 				// Ask client to report full status.
-				Flags: protobufs.ServerToAgent_ReportFullState,
+				Flags: protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState,
 			}
 		})
 
@@ -1011,7 +1013,7 @@ func TestRemoteConfigUpdate(t *testing.T) {
 			name:    "success",
 			success: true,
 			expectedStatus: &protobufs.RemoteConfigStatus{
-				Status:       protobufs.RemoteConfigStatus_APPLIED,
+				Status:       protobufs.RemoteConfigStatuses_RemoteConfigStatuses_APPLIED,
 				ErrorMessage: "",
 			},
 		},
@@ -1019,7 +1021,7 @@ func TestRemoteConfigUpdate(t *testing.T) {
 			name:    "fail",
 			success: false,
 			expectedStatus: &protobufs.RemoteConfigStatus{
-				Status:       protobufs.RemoteConfigStatus_FAILED,
+				Status:       protobufs.RemoteConfigStatuses_RemoteConfigStatuses_FAILED,
 				ErrorMessage: "cannot update remote config",
 			},
 		},
@@ -1077,7 +1079,8 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) {
 				OnMessageFunc: onMessageFunc,
 			},
 			PackagesStateProvider: localPackageState,
-			Capabilities:          protobufs.AgentCapabilities_AcceptsPackages | protobufs.AgentCapabilities_ReportsPackageStatuses,
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses,
 		}
 		prepareClient(t, &settings, client)
 
@@ -1120,10 +1123,10 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) {
 						continue
 					}
 					switch pkgStatus.Status {
-					case protobufs.PackageStatus_InstallFailed:
+					case protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed:
 						assert.Contains(t, pkgStatus.ErrorMessage, pkgExpected.ErrorMessage)
 
-					case protobufs.PackageStatus_Installed:
+					case protobufs.PackageStatusEnum_PackageStatusEnum_Installed:
 						assert.EqualValues(t, pkgExpected.AgentHasHash, pkgStatus.AgentHasHash)
 						assert.EqualValues(t, pkgExpected.AgentHasVersion, pkgStatus.AgentHasVersion)
 						assert.Empty(t, pkgStatus.ErrorMessage)
@@ -1166,7 +1169,7 @@ func verifyUpdatePackages(t *testing.T, testCase packageTestCase) {
 
 				if compressedReceived {
 					// Ask for full report again.
-					response.Flags = protobufs.ServerToAgent_ReportFullState
+					response.Flags = protobufs.ServerToAgentFlags_ServerToAgentFlags_ReportFullState
 				} else {
 					// Keep triggering status report by setting AgentDescription
 					// until the compressed PackageStatuses arrives.
@@ -1218,7 +1221,7 @@ func createPackageTestCase(name string, downloadSrv *httptest.Server) packageTes
 		available: &protobufs.PackagesAvailable{
 			Packages: map[string]*protobufs.PackageAvailable{
 				"package1": {
-					Type:    protobufs.PackageAvailable_TopLevelPackage,
+					Type:    protobufs.PackageType_PackageType_TopLevel,
 					Version: "1.0.0",
 					File: &protobufs.DownloadableFile{
 						DownloadUrl: downloadSrv.URL + packageFileURL,
@@ -1238,7 +1241,7 @@ func createPackageTestCase(name string, downloadSrv *httptest.Server) packageTes
 					AgentHasHash:         []byte{1, 2, 3},
 					ServerOfferedVersion: "1.0.0",
 					ServerOfferedHash:    []byte{1, 2, 3},
-					Status:               protobufs.PackageStatus_Installed,
+					Status:               protobufs.PackageStatusEnum_PackageStatusEnum_Installed,
 					ErrorMessage:         "",
 				},
 			},
@@ -1263,7 +1266,7 @@ func TestUpdatePackages(t *testing.T) {
 	// A case when downloading the file fails because the URL is incorrect.
 	notFound := createPackageTestCase("downloadable file not found", downloadSrv)
 	notFound.available.Packages["package1"].File.DownloadUrl = downloadSrv.URL + "/notfound"
-	notFound.expectedStatus.Packages["package1"].Status = protobufs.PackageStatus_InstallFailed
+	notFound.expectedStatus.Packages["package1"].Status = protobufs.PackageStatusEnum_PackageStatusEnum_InstallFailed
 	notFound.expectedStatus.Packages["package1"].ErrorMessage = "cannot download"
 	tests = append(tests, notFound)
 
@@ -1359,8 +1362,9 @@ func TestMissingPackagesStateProvider(t *testing.T) {
 	testClients(t, func(t *testing.T, client OpAMPClient) {
 		// Start a client.
 		settings := types.StartSettings{
-			Callbacks:    types.CallbacksStruct{},
-			Capabilities: protobufs.AgentCapabilities_AcceptsPackages | protobufs.AgentCapabilities_ReportsPackageStatuses,
+			Callbacks: types.CallbacksStruct{},
+			Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages |
+				protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses,
 		}
 		prepareClient(t, &settings, client)
 
@@ -1371,7 +1375,7 @@ func TestMissingPackagesStateProvider(t *testing.T) {
 		settings = types.StartSettings{
 			Callbacks:             types.CallbacksStruct{},
 			PackagesStateProvider: localPackageState,
-			Capabilities:          protobufs.AgentCapabilities_AcceptsPackages,
+			Capabilities:          protobufs.AgentCapabilities_AgentCapabilities_AcceptsPackages,
 		}
 		prepareClient(t, &settings, client)
 
@@ -1381,7 +1385,7 @@ func TestMissingPackagesStateProvider(t *testing.T) {
 		settings = types.StartSettings{
 			Callbacks:             types.CallbacksStruct{},
 			PackagesStateProvider: localPackageState,
-			Capabilities:          protobufs.AgentCapabilities_ReportsPackageStatuses,
+			Capabilities:          protobufs.AgentCapabilities_AgentCapabilities_ReportsPackageStatuses,
 		}
 		prepareClient(t, &settings, client)
 
diff --git a/client/internal/wsreceiver_test.go b/client/internal/wsreceiver_test.go
index 4319aad..f1595a0 100644
--- a/client/internal/wsreceiver_test.go
+++ b/client/internal/wsreceiver_test.go
@@ -41,7 +41,7 @@ func TestServerToAgentCommand(t *testing.T) {
 		},
 		{
 			command: &protobufs.ServerToAgentCommand{
-				Type: protobufs.ServerToAgentCommand_Restart,
+				Type: protobufs.CommandType_CommandType_Restart,
 			},
 			action:  restart,
 			message: "A Restart command should result in a restart",
@@ -62,7 +62,7 @@ func TestServerToAgentCommand(t *testing.T) {
 			callbacks := types.CallbacksStruct{
 				OnCommandFunc: func(command *protobufs.ServerToAgentCommand) error {
 					switch command.Type {
-					case protobufs.ServerToAgentCommand_Restart:
+					case protobufs.CommandType_CommandType_Restart:
 						action = restart
 					default:
 						action = unknown
@@ -100,7 +100,7 @@ func TestServerToAgentCommandExclusive(t *testing.T) {
 	receiver := NewWSReceiver(TestLogger{t}, callbacks, nil, nil, &clientSyncedState, nil, 0)
 	receiver.processor.ProcessReceivedMessage(context.Background(), &protobufs.ServerToAgent{
 		Command: &protobufs.ServerToAgentCommand{
-			Type: protobufs.ServerToAgentCommand_Restart,
+			Type: protobufs.CommandType_CommandType_Restart,
 		},
 		RemoteConfig: &protobufs.AgentRemoteConfig{},
 	})
diff --git a/client/wsclient_test.go b/client/wsclient_test.go
index 2f08df7..2de35b4 100644
--- a/client/wsclient_test.go
+++ b/client/wsclient_test.go
@@ -103,8 +103,8 @@ func TestVerifyWSCompress(t *testing.T) {
 						}, nil
 					},
 				},
-				Capabilities: protobufs.AgentCapabilities_AcceptsRemoteConfig |
-					protobufs.AgentCapabilities_ReportsEffectiveConfig,
+				Capabilities: protobufs.AgentCapabilities_AgentCapabilities_AcceptsRemoteConfig |
+					protobufs.AgentCapabilities_AgentCapabilities_ReportsEffectiveConfig,
 			}
 			settings.OpAMPServerURL = "ws://" + proxy.IncomingEndpoint()
 
diff --git a/server/serverimpl_test.go b/server/serverimpl_test.go
index 00af23e..63018ec 100644
--- a/server/serverimpl_test.go
+++ b/server/serverimpl_test.go
@@ -139,7 +139,7 @@ func TestServerReceiveSendMessage(t *testing.T) {
 			// Send a response.
 			response := protobufs.ServerToAgent{
 				InstanceUid:  message.InstanceUid,
-				Capabilities: protobufs.ServerCapabilities_AcceptsStatus,
+				Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus,
 			}
 			return &response
 		},
@@ -180,7 +180,7 @@ func TestServerReceiveSendMessage(t *testing.T) {
 
 	// Verify the response.
 	assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid)
-	assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities)
+	assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities)
 }
 
 func TestServerReceiveSendMessagePlainHTTP(t *testing.T) {
@@ -200,7 +200,7 @@ func TestServerReceiveSendMessagePlainHTTP(t *testing.T) {
 			// Send a response.
 			response := protobufs.ServerToAgent{
 				InstanceUid:  message.InstanceUid,
-				Capabilities: protobufs.ServerCapabilities_AcceptsStatus,
+				Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus,
 			}
 			return &response
 		},
@@ -244,7 +244,7 @@ func TestServerReceiveSendMessagePlainHTTP(t *testing.T) {
 
 	// Verify the response.
 	assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid)
-	assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities)
+	assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities)
 
 	eventually(t, func() bool { return atomic.LoadInt32(&onCloseCalled) == 1 })
 }
@@ -315,7 +315,7 @@ func TestServerHonoursClientRequestContentEncoding(t *testing.T) {
 			// Send a response.
 			response := protobufs.ServerToAgent{
 				InstanceUid:  message.InstanceUid,
-				Capabilities: protobufs.ServerCapabilities_AcceptsStatus,
+				Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus,
 			}
 			return &response
 		},
@@ -367,7 +367,7 @@ func TestServerHonoursClientRequestContentEncoding(t *testing.T) {
 
 	// Verify the response.
 	assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid)
-	assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities)
+	assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities)
 
 	eventually(t, func() bool { return atomic.LoadInt32(&onCloseCalled) == 1 })
 }
@@ -391,7 +391,7 @@ func TestServerHonoursAcceptEncoding(t *testing.T) {
 			// Send a response.
 			response := protobufs.ServerToAgent{
 				InstanceUid:  message.InstanceUid,
-				Capabilities: protobufs.ServerCapabilities_AcceptsStatus,
+				Capabilities: protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus,
 			}
 			return &response
 		},
@@ -441,7 +441,7 @@ func TestServerHonoursAcceptEncoding(t *testing.T) {
 
 	// Verify the response.
 	assert.EqualValues(t, sendMsg.InstanceUid, response.InstanceUid)
-	assert.EqualValues(t, protobufs.ServerCapabilities_AcceptsStatus, response.Capabilities)
+	assert.EqualValues(t, protobufs.ServerCapabilities_ServerCapabilities_AcceptsStatus, response.Capabilities)
 
 	eventually(t, func() bool { return atomic.LoadInt32(&onCloseCalled) == 1 })
 }