// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.26.0
// 	protoc        v4.25.1
// source: gateway.proto

package pb

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Describes the Raft role of the broker for a given partition
type Partition_PartitionBrokerRole int32

const (
	Partition_LEADER   Partition_PartitionBrokerRole = 0
	Partition_FOLLOWER Partition_PartitionBrokerRole = 1
	Partition_INACTIVE Partition_PartitionBrokerRole = 2
)

// Enum value maps for Partition_PartitionBrokerRole.
var (
	Partition_PartitionBrokerRole_name = map[int32]string{
		0: "LEADER",
		1: "FOLLOWER",
		2: "INACTIVE",
	}
	Partition_PartitionBrokerRole_value = map[string]int32{
		"LEADER":   0,
		"FOLLOWER": 1,
		"INACTIVE": 2,
	}
)

func (x Partition_PartitionBrokerRole) Enum() *Partition_PartitionBrokerRole {
	p := new(Partition_PartitionBrokerRole)
	*p = x
	return p
}

func (x Partition_PartitionBrokerRole) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Partition_PartitionBrokerRole) Descriptor() protoreflect.EnumDescriptor {
	return file_gateway_proto_enumTypes[0].Descriptor()
}

func (Partition_PartitionBrokerRole) Type() protoreflect.EnumType {
	return &file_gateway_proto_enumTypes[0]
}

func (x Partition_PartitionBrokerRole) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Partition_PartitionBrokerRole.Descriptor instead.
func (Partition_PartitionBrokerRole) EnumDescriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{41, 0}
}

// Describes the current health of the partition
type Partition_PartitionBrokerHealth int32

const (
	Partition_HEALTHY   Partition_PartitionBrokerHealth = 0
	Partition_UNHEALTHY Partition_PartitionBrokerHealth = 1
	Partition_DEAD      Partition_PartitionBrokerHealth = 2
)

// Enum value maps for Partition_PartitionBrokerHealth.
var (
	Partition_PartitionBrokerHealth_name = map[int32]string{
		0: "HEALTHY",
		1: "UNHEALTHY",
		2: "DEAD",
	}
	Partition_PartitionBrokerHealth_value = map[string]int32{
		"HEALTHY":   0,
		"UNHEALTHY": 1,
		"DEAD":      2,
	}
)

func (x Partition_PartitionBrokerHealth) Enum() *Partition_PartitionBrokerHealth {
	p := new(Partition_PartitionBrokerHealth)
	*p = x
	return p
}

func (x Partition_PartitionBrokerHealth) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Partition_PartitionBrokerHealth) Descriptor() protoreflect.EnumDescriptor {
	return file_gateway_proto_enumTypes[1].Descriptor()
}

func (Partition_PartitionBrokerHealth) Type() protoreflect.EnumType {
	return &file_gateway_proto_enumTypes[1]
}

func (x Partition_PartitionBrokerHealth) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Partition_PartitionBrokerHealth.Descriptor instead.
func (Partition_PartitionBrokerHealth) EnumDescriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{41, 1}
}

type StreamActivatedJobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the job type, as defined in the BPMN process (e.g. <zeebe:taskDefinition
	// type="payment-service" />)
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// the name of the worker activating the jobs, mostly used for logging purposes
	Worker string `protobuf:"bytes,2,opt,name=worker,proto3" json:"worker,omitempty"`
	// a job returned after this call will not be activated by another call until the
	// timeout (in ms) has been reached
	Timeout int64 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// a list of variables to fetch as the job variables; if empty, all visible variables at
	// the time of activation for the scope of the job will be returned
	FetchVariable []string `protobuf:"bytes,5,rep,name=fetchVariable,proto3" json:"fetchVariable,omitempty"`
	// a list of identifiers of tenants for which to stream jobs
	TenantIds []string `protobuf:"bytes,6,rep,name=tenantIds,proto3" json:"tenantIds,omitempty"`
}

func (x *StreamActivatedJobsRequest) Reset() {
	*x = StreamActivatedJobsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *StreamActivatedJobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StreamActivatedJobsRequest) ProtoMessage() {}

func (x *StreamActivatedJobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StreamActivatedJobsRequest.ProtoReflect.Descriptor instead.
func (*StreamActivatedJobsRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{0}
}

func (x *StreamActivatedJobsRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *StreamActivatedJobsRequest) GetWorker() string {
	if x != nil {
		return x.Worker
	}
	return ""
}

func (x *StreamActivatedJobsRequest) GetTimeout() int64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *StreamActivatedJobsRequest) GetFetchVariable() []string {
	if x != nil {
		return x.FetchVariable
	}
	return nil
}

func (x *StreamActivatedJobsRequest) GetTenantIds() []string {
	if x != nil {
		return x.TenantIds
	}
	return nil
}

type ActivateJobsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the job type, as defined in the BPMN process (e.g. <zeebe:taskDefinition
	// type="payment-service" />)
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// the name of the worker activating the jobs, mostly used for logging purposes
	Worker string `protobuf:"bytes,2,opt,name=worker,proto3" json:"worker,omitempty"`
	// a job returned after this call will not be activated by another call until the
	// timeout (in ms) has been reached
	Timeout int64 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// the maximum jobs to activate by this request
	MaxJobsToActivate int32 `protobuf:"varint,4,opt,name=maxJobsToActivate,proto3" json:"maxJobsToActivate,omitempty"`
	// a list of variables to fetch as the job variables; if empty, all visible variables at
	// the time of activation for the scope of the job will be returned
	FetchVariable []string `protobuf:"bytes,5,rep,name=fetchVariable,proto3" json:"fetchVariable,omitempty"`
	// The request will be completed when at least one job is activated or after the requestTimeout (in ms).
	// if the requestTimeout = 0, a default timeout is used.
	// if the requestTimeout < 0, long polling is disabled and the request is completed immediately, even when no job is activated.
	RequestTimeout int64 `protobuf:"varint,6,opt,name=requestTimeout,proto3" json:"requestTimeout,omitempty"`
	// a list of IDs of tenants for which to activate jobs
	TenantIds []string `protobuf:"bytes,7,rep,name=tenantIds,proto3" json:"tenantIds,omitempty"`
}

func (x *ActivateJobsRequest) Reset() {
	*x = ActivateJobsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ActivateJobsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivateJobsRequest) ProtoMessage() {}

func (x *ActivateJobsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivateJobsRequest.ProtoReflect.Descriptor instead.
func (*ActivateJobsRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{1}
}

func (x *ActivateJobsRequest) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ActivateJobsRequest) GetWorker() string {
	if x != nil {
		return x.Worker
	}
	return ""
}

func (x *ActivateJobsRequest) GetTimeout() int64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *ActivateJobsRequest) GetMaxJobsToActivate() int32 {
	if x != nil {
		return x.MaxJobsToActivate
	}
	return 0
}

func (x *ActivateJobsRequest) GetFetchVariable() []string {
	if x != nil {
		return x.FetchVariable
	}
	return nil
}

func (x *ActivateJobsRequest) GetRequestTimeout() int64 {
	if x != nil {
		return x.RequestTimeout
	}
	return 0
}

func (x *ActivateJobsRequest) GetTenantIds() []string {
	if x != nil {
		return x.TenantIds
	}
	return nil
}

type ActivateJobsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// list of activated jobs
	Jobs []*ActivatedJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
}

func (x *ActivateJobsResponse) Reset() {
	*x = ActivateJobsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ActivateJobsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivateJobsResponse) ProtoMessage() {}

func (x *ActivateJobsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivateJobsResponse.ProtoReflect.Descriptor instead.
func (*ActivateJobsResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{2}
}

func (x *ActivateJobsResponse) GetJobs() []*ActivatedJob {
	if x != nil {
		return x.Jobs
	}
	return nil
}

type ActivatedJob struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the key, a unique identifier for the job
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// the type of the job (should match what was requested)
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
	// the job's process instance key
	ProcessInstanceKey int64 `protobuf:"varint,3,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
	// the bpmn process ID of the job process definition
	BpmnProcessId string `protobuf:"bytes,4,opt,name=bpmnProcessId,proto3" json:"bpmnProcessId,omitempty"`
	// the version of the job process definition
	ProcessDefinitionVersion int32 `protobuf:"varint,5,opt,name=processDefinitionVersion,proto3" json:"processDefinitionVersion,omitempty"`
	// the key of the job process definition
	ProcessDefinitionKey int64 `protobuf:"varint,6,opt,name=processDefinitionKey,proto3" json:"processDefinitionKey,omitempty"`
	// the associated task element ID
	ElementId string `protobuf:"bytes,7,opt,name=elementId,proto3" json:"elementId,omitempty"`
	// the unique key identifying the associated task, unique within the scope of the
	// process instance
	ElementInstanceKey int64 `protobuf:"varint,8,opt,name=elementInstanceKey,proto3" json:"elementInstanceKey,omitempty"`
	// a set of custom headers defined during modelling; returned as a serialized
	// JSON document
	CustomHeaders string `protobuf:"bytes,9,opt,name=customHeaders,proto3" json:"customHeaders,omitempty"`
	// the name of the worker which activated this job
	Worker string `protobuf:"bytes,10,opt,name=worker,proto3" json:"worker,omitempty"`
	// the amount of retries left to this job (should always be positive)
	Retries int32 `protobuf:"varint,11,opt,name=retries,proto3" json:"retries,omitempty"`
	// when the job can be activated again, sent as a UNIX epoch timestamp
	Deadline int64 `protobuf:"varint,12,opt,name=deadline,proto3" json:"deadline,omitempty"`
	// JSON document, computed at activation time, consisting of all visible variables to
	// the task scope
	Variables string `protobuf:"bytes,13,opt,name=variables,proto3" json:"variables,omitempty"`
	// the id of the tenant that owns the job
	TenantId string `protobuf:"bytes,14,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *ActivatedJob) Reset() {
	*x = ActivatedJob{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ActivatedJob) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivatedJob) ProtoMessage() {}

func (x *ActivatedJob) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivatedJob.ProtoReflect.Descriptor instead.
func (*ActivatedJob) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{3}
}

func (x *ActivatedJob) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

func (x *ActivatedJob) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *ActivatedJob) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

func (x *ActivatedJob) GetBpmnProcessId() string {
	if x != nil {
		return x.BpmnProcessId
	}
	return ""
}

func (x *ActivatedJob) GetProcessDefinitionVersion() int32 {
	if x != nil {
		return x.ProcessDefinitionVersion
	}
	return 0
}

func (x *ActivatedJob) GetProcessDefinitionKey() int64 {
	if x != nil {
		return x.ProcessDefinitionKey
	}
	return 0
}

func (x *ActivatedJob) GetElementId() string {
	if x != nil {
		return x.ElementId
	}
	return ""
}

func (x *ActivatedJob) GetElementInstanceKey() int64 {
	if x != nil {
		return x.ElementInstanceKey
	}
	return 0
}

func (x *ActivatedJob) GetCustomHeaders() string {
	if x != nil {
		return x.CustomHeaders
	}
	return ""
}

func (x *ActivatedJob) GetWorker() string {
	if x != nil {
		return x.Worker
	}
	return ""
}

func (x *ActivatedJob) GetRetries() int32 {
	if x != nil {
		return x.Retries
	}
	return 0
}

func (x *ActivatedJob) GetDeadline() int64 {
	if x != nil {
		return x.Deadline
	}
	return 0
}

func (x *ActivatedJob) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *ActivatedJob) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type CancelProcessInstanceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the process instance key (as, for example, obtained from
	// CreateProcessInstanceResponse)
	ProcessInstanceKey int64 `protobuf:"varint,1,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
}

func (x *CancelProcessInstanceRequest) Reset() {
	*x = CancelProcessInstanceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelProcessInstanceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelProcessInstanceRequest) ProtoMessage() {}

func (x *CancelProcessInstanceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelProcessInstanceRequest.ProtoReflect.Descriptor instead.
func (*CancelProcessInstanceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{4}
}

func (x *CancelProcessInstanceRequest) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

type CancelProcessInstanceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *CancelProcessInstanceResponse) Reset() {
	*x = CancelProcessInstanceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CancelProcessInstanceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelProcessInstanceResponse) ProtoMessage() {}

func (x *CancelProcessInstanceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelProcessInstanceResponse.ProtoReflect.Descriptor instead.
func (*CancelProcessInstanceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{5}
}

type CompleteJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique job identifier, as obtained from ActivateJobsResponse
	JobKey int64 `protobuf:"varint,1,opt,name=jobKey,proto3" json:"jobKey,omitempty"`
	// a JSON document representing the variables in the current task scope
	Variables string `protobuf:"bytes,2,opt,name=variables,proto3" json:"variables,omitempty"`
}

func (x *CompleteJobRequest) Reset() {
	*x = CompleteJobRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CompleteJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CompleteJobRequest) ProtoMessage() {}

func (x *CompleteJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CompleteJobRequest.ProtoReflect.Descriptor instead.
func (*CompleteJobRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{6}
}

func (x *CompleteJobRequest) GetJobKey() int64 {
	if x != nil {
		return x.JobKey
	}
	return 0
}

func (x *CompleteJobRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

type CompleteJobResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *CompleteJobResponse) Reset() {
	*x = CompleteJobResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CompleteJobResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CompleteJobResponse) ProtoMessage() {}

func (x *CompleteJobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CompleteJobResponse.ProtoReflect.Descriptor instead.
func (*CompleteJobResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{7}
}

type CreateProcessInstanceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the process definition (e.g. returned from a process
	// in the DeployProcessResponse message)
	ProcessDefinitionKey int64 `protobuf:"varint,1,opt,name=processDefinitionKey,proto3" json:"processDefinitionKey,omitempty"`
	// the BPMN process ID of the process definition
	BpmnProcessId string `protobuf:"bytes,2,opt,name=bpmnProcessId,proto3" json:"bpmnProcessId,omitempty"`
	// the version of the process; set to -1 to use the latest version
	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	// JSON document that will instantiate the variables for the root variable scope of the
	// process instance; it must be a JSON object, as variables will be mapped in a
	// key-value fashion. e.g. { "a": 1, "b": 2 } will create two variables, named "a" and
	// "b" respectively, with their associated values. [{ "a": 1, "b": 2 }] would not be a
	// valid argument, as the root of the JSON document is an array and not an object.
	Variables string `protobuf:"bytes,4,opt,name=variables,proto3" json:"variables,omitempty"`
	// List of start instructions. If empty (default) the process instance
	// will start at the start event. If non-empty the process instance will apply start
	// instructions after it has been created
	StartInstructions []*ProcessInstanceCreationStartInstruction `protobuf:"bytes,5,rep,name=startInstructions,proto3" json:"startInstructions,omitempty"`
	// the tenant id of the process definition
	TenantId string `protobuf:"bytes,6,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *CreateProcessInstanceRequest) Reset() {
	*x = CreateProcessInstanceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateProcessInstanceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateProcessInstanceRequest) ProtoMessage() {}

func (x *CreateProcessInstanceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateProcessInstanceRequest.ProtoReflect.Descriptor instead.
func (*CreateProcessInstanceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{8}
}

func (x *CreateProcessInstanceRequest) GetProcessDefinitionKey() int64 {
	if x != nil {
		return x.ProcessDefinitionKey
	}
	return 0
}

func (x *CreateProcessInstanceRequest) GetBpmnProcessId() string {
	if x != nil {
		return x.BpmnProcessId
	}
	return ""
}

func (x *CreateProcessInstanceRequest) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *CreateProcessInstanceRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *CreateProcessInstanceRequest) GetStartInstructions() []*ProcessInstanceCreationStartInstruction {
	if x != nil {
		return x.StartInstructions
	}
	return nil
}

func (x *CreateProcessInstanceRequest) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type ProcessInstanceCreationStartInstruction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// element ID
	ElementId string `protobuf:"bytes,1,opt,name=elementId,proto3" json:"elementId,omitempty"`
}

func (x *ProcessInstanceCreationStartInstruction) Reset() {
	*x = ProcessInstanceCreationStartInstruction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProcessInstanceCreationStartInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProcessInstanceCreationStartInstruction) ProtoMessage() {}

func (x *ProcessInstanceCreationStartInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProcessInstanceCreationStartInstruction.ProtoReflect.Descriptor instead.
func (*ProcessInstanceCreationStartInstruction) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{9}
}

func (x *ProcessInstanceCreationStartInstruction) GetElementId() string {
	if x != nil {
		return x.ElementId
	}
	return ""
}

type CreateProcessInstanceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the key of the process definition which was used to create the process instance
	ProcessDefinitionKey int64 `protobuf:"varint,1,opt,name=processDefinitionKey,proto3" json:"processDefinitionKey,omitempty"`
	// the BPMN process ID of the process definition which was used to create the process
	// instance
	BpmnProcessId string `protobuf:"bytes,2,opt,name=bpmnProcessId,proto3" json:"bpmnProcessId,omitempty"`
	// the version of the process definition which was used to create the process instance
	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	// the unique identifier of the created process instance; to be used wherever a request
	// needs a process instance key (e.g. CancelProcessInstanceRequest)
	ProcessInstanceKey int64 `protobuf:"varint,4,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
	// the tenant identifier of the created process instance
	TenantId string `protobuf:"bytes,5,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *CreateProcessInstanceResponse) Reset() {
	*x = CreateProcessInstanceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateProcessInstanceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateProcessInstanceResponse) ProtoMessage() {}

func (x *CreateProcessInstanceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateProcessInstanceResponse.ProtoReflect.Descriptor instead.
func (*CreateProcessInstanceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{10}
}

func (x *CreateProcessInstanceResponse) GetProcessDefinitionKey() int64 {
	if x != nil {
		return x.ProcessDefinitionKey
	}
	return 0
}

func (x *CreateProcessInstanceResponse) GetBpmnProcessId() string {
	if x != nil {
		return x.BpmnProcessId
	}
	return ""
}

func (x *CreateProcessInstanceResponse) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *CreateProcessInstanceResponse) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

func (x *CreateProcessInstanceResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type CreateProcessInstanceWithResultRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Request *CreateProcessInstanceRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	// timeout (in ms). the request will be closed if the process is not completed
	// before the requestTimeout.
	// if requestTimeout = 0, uses the generic requestTimeout configured in the gateway.
	RequestTimeout int64 `protobuf:"varint,2,opt,name=requestTimeout,proto3" json:"requestTimeout,omitempty"`
	// list of names of variables to be included in `CreateProcessInstanceWithResultResponse.variables`
	// if empty, all visible variables in the root scope will be returned.
	FetchVariables []string `protobuf:"bytes,3,rep,name=fetchVariables,proto3" json:"fetchVariables,omitempty"`
}

func (x *CreateProcessInstanceWithResultRequest) Reset() {
	*x = CreateProcessInstanceWithResultRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateProcessInstanceWithResultRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateProcessInstanceWithResultRequest) ProtoMessage() {}

func (x *CreateProcessInstanceWithResultRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateProcessInstanceWithResultRequest.ProtoReflect.Descriptor instead.
func (*CreateProcessInstanceWithResultRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{11}
}

func (x *CreateProcessInstanceWithResultRequest) GetRequest() *CreateProcessInstanceRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

func (x *CreateProcessInstanceWithResultRequest) GetRequestTimeout() int64 {
	if x != nil {
		return x.RequestTimeout
	}
	return 0
}

func (x *CreateProcessInstanceWithResultRequest) GetFetchVariables() []string {
	if x != nil {
		return x.FetchVariables
	}
	return nil
}

type CreateProcessInstanceWithResultResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the key of the process definition which was used to create the process instance
	ProcessDefinitionKey int64 `protobuf:"varint,1,opt,name=processDefinitionKey,proto3" json:"processDefinitionKey,omitempty"`
	// the BPMN process ID of the process definition which was used to create the process
	// instance
	BpmnProcessId string `protobuf:"bytes,2,opt,name=bpmnProcessId,proto3" json:"bpmnProcessId,omitempty"`
	// the version of the process definition which was used to create the process instance
	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	// the unique identifier of the created process instance; to be used wherever a request
	// needs a process instance key (e.g. CancelProcessInstanceRequest)
	ProcessInstanceKey int64 `protobuf:"varint,4,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
	// JSON document
	// consists of visible variables in the root scope
	Variables string `protobuf:"bytes,5,opt,name=variables,proto3" json:"variables,omitempty"`
	// the tenant identifier of the process definition
	TenantId string `protobuf:"bytes,6,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *CreateProcessInstanceWithResultResponse) Reset() {
	*x = CreateProcessInstanceWithResultResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *CreateProcessInstanceWithResultResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateProcessInstanceWithResultResponse) ProtoMessage() {}

func (x *CreateProcessInstanceWithResultResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateProcessInstanceWithResultResponse.ProtoReflect.Descriptor instead.
func (*CreateProcessInstanceWithResultResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{12}
}

func (x *CreateProcessInstanceWithResultResponse) GetProcessDefinitionKey() int64 {
	if x != nil {
		return x.ProcessDefinitionKey
	}
	return 0
}

func (x *CreateProcessInstanceWithResultResponse) GetBpmnProcessId() string {
	if x != nil {
		return x.BpmnProcessId
	}
	return ""
}

func (x *CreateProcessInstanceWithResultResponse) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *CreateProcessInstanceWithResultResponse) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

func (x *CreateProcessInstanceWithResultResponse) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *CreateProcessInstanceWithResultResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type EvaluateDecisionRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the decision to be evaluated (e.g. returned
	// from a decision in the DeployResourceResponse message)
	DecisionKey int64 `protobuf:"varint,1,opt,name=decisionKey,proto3" json:"decisionKey,omitempty"`
	// the ID of the decision to be evaluated
	DecisionId string `protobuf:"bytes,2,opt,name=decisionId,proto3" json:"decisionId,omitempty"`
	// JSON document that will instantiate the variables for the decision to be
	// evaluated; it must be a JSON object, as variables will be mapped in a
	// key-value fashion, e.g. { "a": 1, "b": 2 } will create two variables,
	// named "a" and "b" respectively, with their associated values.
	// [{ "a": 1, "b": 2 }] would not be a valid argument, as the root of the
	// JSON document is an array and not an object.
	Variables string `protobuf:"bytes,3,opt,name=variables,proto3" json:"variables,omitempty"`
	// the tenant identifier of the decision
	TenantId string `protobuf:"bytes,4,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *EvaluateDecisionRequest) Reset() {
	*x = EvaluateDecisionRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EvaluateDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateDecisionRequest) ProtoMessage() {}

func (x *EvaluateDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateDecisionRequest.ProtoReflect.Descriptor instead.
func (*EvaluateDecisionRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{13}
}

func (x *EvaluateDecisionRequest) GetDecisionKey() int64 {
	if x != nil {
		return x.DecisionKey
	}
	return 0
}

func (x *EvaluateDecisionRequest) GetDecisionId() string {
	if x != nil {
		return x.DecisionId
	}
	return ""
}

func (x *EvaluateDecisionRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *EvaluateDecisionRequest) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type EvaluateDecisionResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the decision which was evaluated (e.g. returned
	// from a decision in the DeployResourceResponse message)
	DecisionKey int64 `protobuf:"varint,1,opt,name=decisionKey,proto3" json:"decisionKey,omitempty"`
	// the ID of the decision which was evaluated
	DecisionId string `protobuf:"bytes,2,opt,name=decisionId,proto3" json:"decisionId,omitempty"`
	// the name of the decision which was evaluated
	DecisionName string `protobuf:"bytes,3,opt,name=decisionName,proto3" json:"decisionName,omitempty"`
	// the version of the decision which was evaluated
	DecisionVersion int32 `protobuf:"varint,4,opt,name=decisionVersion,proto3" json:"decisionVersion,omitempty"`
	// the ID of the decision requirements graph that the decision which was
	// evaluated is part of.
	DecisionRequirementsId string `protobuf:"bytes,5,opt,name=decisionRequirementsId,proto3" json:"decisionRequirementsId,omitempty"`
	// the unique key identifying the decision requirements graph that the
	// decision which was evaluated is part of.
	DecisionRequirementsKey int64 `protobuf:"varint,6,opt,name=decisionRequirementsKey,proto3" json:"decisionRequirementsKey,omitempty"`
	// JSON document that will instantiate the result of the decision which was
	// evaluated; it will be a JSON object, as the result output will be mapped
	// in a key-value fashion, e.g. { "a": 1 }.
	DecisionOutput string `protobuf:"bytes,7,opt,name=decisionOutput,proto3" json:"decisionOutput,omitempty"`
	// a list of decisions that were evaluated within the requested decision evaluation
	EvaluatedDecisions []*EvaluatedDecision `protobuf:"bytes,8,rep,name=evaluatedDecisions,proto3" json:"evaluatedDecisions,omitempty"`
	// an optional string indicating the ID of the decision which
	// failed during evaluation
	FailedDecisionId string `protobuf:"bytes,9,opt,name=failedDecisionId,proto3" json:"failedDecisionId,omitempty"`
	// an optional message describing why the decision which was evaluated failed
	FailureMessage string `protobuf:"bytes,10,opt,name=failureMessage,proto3" json:"failureMessage,omitempty"`
	// the tenant identifier of the evaluated decision
	TenantId string `protobuf:"bytes,11,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *EvaluateDecisionResponse) Reset() {
	*x = EvaluateDecisionResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EvaluateDecisionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateDecisionResponse) ProtoMessage() {}

func (x *EvaluateDecisionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateDecisionResponse.ProtoReflect.Descriptor instead.
func (*EvaluateDecisionResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{14}
}

func (x *EvaluateDecisionResponse) GetDecisionKey() int64 {
	if x != nil {
		return x.DecisionKey
	}
	return 0
}

func (x *EvaluateDecisionResponse) GetDecisionId() string {
	if x != nil {
		return x.DecisionId
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetDecisionName() string {
	if x != nil {
		return x.DecisionName
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetDecisionVersion() int32 {
	if x != nil {
		return x.DecisionVersion
	}
	return 0
}

func (x *EvaluateDecisionResponse) GetDecisionRequirementsId() string {
	if x != nil {
		return x.DecisionRequirementsId
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetDecisionRequirementsKey() int64 {
	if x != nil {
		return x.DecisionRequirementsKey
	}
	return 0
}

func (x *EvaluateDecisionResponse) GetDecisionOutput() string {
	if x != nil {
		return x.DecisionOutput
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetEvaluatedDecisions() []*EvaluatedDecision {
	if x != nil {
		return x.EvaluatedDecisions
	}
	return nil
}

func (x *EvaluateDecisionResponse) GetFailedDecisionId() string {
	if x != nil {
		return x.FailedDecisionId
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetFailureMessage() string {
	if x != nil {
		return x.FailureMessage
	}
	return ""
}

func (x *EvaluateDecisionResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type EvaluatedDecision struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the decision which was evaluated (e.g. returned
	// from a decision in the DeployResourceResponse message)
	DecisionKey int64 `protobuf:"varint,1,opt,name=decisionKey,proto3" json:"decisionKey,omitempty"`
	// the ID of the decision which was evaluated
	DecisionId string `protobuf:"bytes,2,opt,name=decisionId,proto3" json:"decisionId,omitempty"`
	// the name of the decision which was evaluated
	DecisionName string `protobuf:"bytes,3,opt,name=decisionName,proto3" json:"decisionName,omitempty"`
	// the version of the decision which was evaluated
	DecisionVersion int32 `protobuf:"varint,4,opt,name=decisionVersion,proto3" json:"decisionVersion,omitempty"`
	// the type of the decision which was evaluated
	DecisionType string `protobuf:"bytes,5,opt,name=decisionType,proto3" json:"decisionType,omitempty"`
	// JSON document that will instantiate the result of the decision which was
	// evaluated; it will be a JSON object, as the result output will be mapped
	// in a key-value fashion, e.g. { "a": 1 }.
	DecisionOutput string `protobuf:"bytes,6,opt,name=decisionOutput,proto3" json:"decisionOutput,omitempty"`
	// the decision rules that matched within this decision evaluation
	MatchedRules []*MatchedDecisionRule `protobuf:"bytes,7,rep,name=matchedRules,proto3" json:"matchedRules,omitempty"`
	// the decision inputs that were evaluated within this decision evaluation
	EvaluatedInputs []*EvaluatedDecisionInput `protobuf:"bytes,8,rep,name=evaluatedInputs,proto3" json:"evaluatedInputs,omitempty"`
	// the tenant identifier of the evaluated decision
	TenantId string `protobuf:"bytes,9,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *EvaluatedDecision) Reset() {
	*x = EvaluatedDecision{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EvaluatedDecision) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluatedDecision) ProtoMessage() {}

func (x *EvaluatedDecision) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluatedDecision.ProtoReflect.Descriptor instead.
func (*EvaluatedDecision) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{15}
}

func (x *EvaluatedDecision) GetDecisionKey() int64 {
	if x != nil {
		return x.DecisionKey
	}
	return 0
}

func (x *EvaluatedDecision) GetDecisionId() string {
	if x != nil {
		return x.DecisionId
	}
	return ""
}

func (x *EvaluatedDecision) GetDecisionName() string {
	if x != nil {
		return x.DecisionName
	}
	return ""
}

func (x *EvaluatedDecision) GetDecisionVersion() int32 {
	if x != nil {
		return x.DecisionVersion
	}
	return 0
}

func (x *EvaluatedDecision) GetDecisionType() string {
	if x != nil {
		return x.DecisionType
	}
	return ""
}

func (x *EvaluatedDecision) GetDecisionOutput() string {
	if x != nil {
		return x.DecisionOutput
	}
	return ""
}

func (x *EvaluatedDecision) GetMatchedRules() []*MatchedDecisionRule {
	if x != nil {
		return x.MatchedRules
	}
	return nil
}

func (x *EvaluatedDecision) GetEvaluatedInputs() []*EvaluatedDecisionInput {
	if x != nil {
		return x.EvaluatedInputs
	}
	return nil
}

func (x *EvaluatedDecision) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type EvaluatedDecisionInput struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the id of the evaluated decision input
	InputId string `protobuf:"bytes,1,opt,name=inputId,proto3" json:"inputId,omitempty"`
	// the name of the evaluated decision input
	InputName string `protobuf:"bytes,2,opt,name=inputName,proto3" json:"inputName,omitempty"`
	// the value of the evaluated decision input
	InputValue string `protobuf:"bytes,3,opt,name=inputValue,proto3" json:"inputValue,omitempty"`
}

func (x *EvaluatedDecisionInput) Reset() {
	*x = EvaluatedDecisionInput{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EvaluatedDecisionInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluatedDecisionInput) ProtoMessage() {}

func (x *EvaluatedDecisionInput) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluatedDecisionInput.ProtoReflect.Descriptor instead.
func (*EvaluatedDecisionInput) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{16}
}

func (x *EvaluatedDecisionInput) GetInputId() string {
	if x != nil {
		return x.InputId
	}
	return ""
}

func (x *EvaluatedDecisionInput) GetInputName() string {
	if x != nil {
		return x.InputName
	}
	return ""
}

func (x *EvaluatedDecisionInput) GetInputValue() string {
	if x != nil {
		return x.InputValue
	}
	return ""
}

type EvaluatedDecisionOutput struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the id of the evaluated decision output
	OutputId string `protobuf:"bytes,1,opt,name=outputId,proto3" json:"outputId,omitempty"`
	// the name of the evaluated decision output
	OutputName string `protobuf:"bytes,2,opt,name=outputName,proto3" json:"outputName,omitempty"`
	// the value of the evaluated decision output
	OutputValue string `protobuf:"bytes,3,opt,name=outputValue,proto3" json:"outputValue,omitempty"`
}

func (x *EvaluatedDecisionOutput) Reset() {
	*x = EvaluatedDecisionOutput{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *EvaluatedDecisionOutput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluatedDecisionOutput) ProtoMessage() {}

func (x *EvaluatedDecisionOutput) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluatedDecisionOutput.ProtoReflect.Descriptor instead.
func (*EvaluatedDecisionOutput) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{17}
}

func (x *EvaluatedDecisionOutput) GetOutputId() string {
	if x != nil {
		return x.OutputId
	}
	return ""
}

func (x *EvaluatedDecisionOutput) GetOutputName() string {
	if x != nil {
		return x.OutputName
	}
	return ""
}

func (x *EvaluatedDecisionOutput) GetOutputValue() string {
	if x != nil {
		return x.OutputValue
	}
	return ""
}

type MatchedDecisionRule struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the id of the matched rule
	RuleId string `protobuf:"bytes,1,opt,name=ruleId,proto3" json:"ruleId,omitempty"`
	// the index of the matched rule
	RuleIndex int32 `protobuf:"varint,2,opt,name=ruleIndex,proto3" json:"ruleIndex,omitempty"`
	// the evaluated decision outputs
	EvaluatedOutputs []*EvaluatedDecisionOutput `protobuf:"bytes,3,rep,name=evaluatedOutputs,proto3" json:"evaluatedOutputs,omitempty"`
}

func (x *MatchedDecisionRule) Reset() {
	*x = MatchedDecisionRule{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MatchedDecisionRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MatchedDecisionRule) ProtoMessage() {}

func (x *MatchedDecisionRule) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MatchedDecisionRule.ProtoReflect.Descriptor instead.
func (*MatchedDecisionRule) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{18}
}

func (x *MatchedDecisionRule) GetRuleId() string {
	if x != nil {
		return x.RuleId
	}
	return ""
}

func (x *MatchedDecisionRule) GetRuleIndex() int32 {
	if x != nil {
		return x.RuleIndex
	}
	return 0
}

func (x *MatchedDecisionRule) GetEvaluatedOutputs() []*EvaluatedDecisionOutput {
	if x != nil {
		return x.EvaluatedOutputs
	}
	return nil
}

// Deprecated: Do not use.
type DeployProcessRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// List of process resources to deploy
	Processes []*ProcessRequestObject `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"`
}

func (x *DeployProcessRequest) Reset() {
	*x = DeployProcessRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeployProcessRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeployProcessRequest) ProtoMessage() {}

func (x *DeployProcessRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeployProcessRequest.ProtoReflect.Descriptor instead.
func (*DeployProcessRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{19}
}

func (x *DeployProcessRequest) GetProcesses() []*ProcessRequestObject {
	if x != nil {
		return x.Processes
	}
	return nil
}

// Deprecated: Do not use.
type ProcessRequestObject struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the resource basename, e.g. myProcess.bpmn
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// the process definition as a UTF8-encoded string
	Definition []byte `protobuf:"bytes,2,opt,name=definition,proto3" json:"definition,omitempty"`
}

func (x *ProcessRequestObject) Reset() {
	*x = ProcessRequestObject{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProcessRequestObject) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProcessRequestObject) ProtoMessage() {}

func (x *ProcessRequestObject) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProcessRequestObject.ProtoReflect.Descriptor instead.
func (*ProcessRequestObject) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{20}
}

func (x *ProcessRequestObject) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ProcessRequestObject) GetDefinition() []byte {
	if x != nil {
		return x.Definition
	}
	return nil
}

// Deprecated: Do not use.
type DeployProcessResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the deployment
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// a list of deployed processes
	Processes []*ProcessMetadata `protobuf:"bytes,2,rep,name=processes,proto3" json:"processes,omitempty"`
}

func (x *DeployProcessResponse) Reset() {
	*x = DeployProcessResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeployProcessResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeployProcessResponse) ProtoMessage() {}

func (x *DeployProcessResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeployProcessResponse.ProtoReflect.Descriptor instead.
func (*DeployProcessResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{21}
}

func (x *DeployProcessResponse) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

func (x *DeployProcessResponse) GetProcesses() []*ProcessMetadata {
	if x != nil {
		return x.Processes
	}
	return nil
}

type DeployResourceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// list of resources to deploy
	Resources []*Resource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
	// the tenant id of the resources to deploy
	TenantId string `protobuf:"bytes,2,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *DeployResourceRequest) Reset() {
	*x = DeployResourceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeployResourceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeployResourceRequest) ProtoMessage() {}

func (x *DeployResourceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeployResourceRequest.ProtoReflect.Descriptor instead.
func (*DeployResourceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{22}
}

func (x *DeployResourceRequest) GetResources() []*Resource {
	if x != nil {
		return x.Resources
	}
	return nil
}

func (x *DeployResourceRequest) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type Resource struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the resource name, e.g. myProcess.bpmn or myDecision.dmn
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// the file content as a UTF8-encoded string
	Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"`
}

func (x *Resource) Reset() {
	*x = Resource{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Resource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Resource) ProtoMessage() {}

func (x *Resource) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Resource.ProtoReflect.Descriptor instead.
func (*Resource) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{23}
}

func (x *Resource) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Resource) GetContent() []byte {
	if x != nil {
		return x.Content
	}
	return nil
}

type DeployResourceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key identifying the deployment
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// a list of deployed resources, e.g. processes
	Deployments []*Deployment `protobuf:"bytes,2,rep,name=deployments,proto3" json:"deployments,omitempty"`
	// the tenant id of the deployed resources
	TenantId string `protobuf:"bytes,3,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *DeployResourceResponse) Reset() {
	*x = DeployResourceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeployResourceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeployResourceResponse) ProtoMessage() {}

func (x *DeployResourceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeployResourceResponse.ProtoReflect.Descriptor instead.
func (*DeployResourceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{24}
}

func (x *DeployResourceResponse) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

func (x *DeployResourceResponse) GetDeployments() []*Deployment {
	if x != nil {
		return x.Deployments
	}
	return nil
}

func (x *DeployResourceResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type Deployment struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// each deployment has only one metadata
	//
	// Types that are assignable to Metadata:
	//
	//	*Deployment_Process
	//	*Deployment_Decision
	//	*Deployment_DecisionRequirements
	//	*Deployment_Form
	Metadata isDeployment_Metadata `protobuf_oneof:"Metadata"`
}

func (x *Deployment) Reset() {
	*x = Deployment{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Deployment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Deployment) ProtoMessage() {}

func (x *Deployment) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Deployment.ProtoReflect.Descriptor instead.
func (*Deployment) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{25}
}

func (m *Deployment) GetMetadata() isDeployment_Metadata {
	if m != nil {
		return m.Metadata
	}
	return nil
}

func (x *Deployment) GetProcess() *ProcessMetadata {
	if x, ok := x.GetMetadata().(*Deployment_Process); ok {
		return x.Process
	}
	return nil
}

func (x *Deployment) GetDecision() *DecisionMetadata {
	if x, ok := x.GetMetadata().(*Deployment_Decision); ok {
		return x.Decision
	}
	return nil
}

func (x *Deployment) GetDecisionRequirements() *DecisionRequirementsMetadata {
	if x, ok := x.GetMetadata().(*Deployment_DecisionRequirements); ok {
		return x.DecisionRequirements
	}
	return nil
}

func (x *Deployment) GetForm() *FormMetadata {
	if x, ok := x.GetMetadata().(*Deployment_Form); ok {
		return x.Form
	}
	return nil
}

type isDeployment_Metadata interface {
	isDeployment_Metadata()
}

type Deployment_Process struct {
	// metadata of a deployed process
	Process *ProcessMetadata `protobuf:"bytes,1,opt,name=process,proto3,oneof"`
}

type Deployment_Decision struct {
	// metadata of a deployed decision
	Decision *DecisionMetadata `protobuf:"bytes,2,opt,name=decision,proto3,oneof"`
}

type Deployment_DecisionRequirements struct {
	// metadata of a deployed decision requirements
	DecisionRequirements *DecisionRequirementsMetadata `protobuf:"bytes,3,opt,name=decisionRequirements,proto3,oneof"`
}

type Deployment_Form struct {
	// metadata of a deployed form
	Form *FormMetadata `protobuf:"bytes,4,opt,name=form,proto3,oneof"`
}

func (*Deployment_Process) isDeployment_Metadata() {}

func (*Deployment_Decision) isDeployment_Metadata() {}

func (*Deployment_DecisionRequirements) isDeployment_Metadata() {}

func (*Deployment_Form) isDeployment_Metadata() {}

type ProcessMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the bpmn process ID, as parsed during deployment; together with the version forms a
	// unique identifier for a specific process definition
	BpmnProcessId string `protobuf:"bytes,1,opt,name=bpmnProcessId,proto3" json:"bpmnProcessId,omitempty"`
	// the assigned process version
	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	// the assigned key, which acts as a unique identifier for this process
	ProcessDefinitionKey int64 `protobuf:"varint,3,opt,name=processDefinitionKey,proto3" json:"processDefinitionKey,omitempty"`
	// the resource name (see: ProcessRequestObject.name) from which this process was
	// parsed
	ResourceName string `protobuf:"bytes,4,opt,name=resourceName,proto3" json:"resourceName,omitempty"`
	// the tenant id of the deployed process
	TenantId string `protobuf:"bytes,5,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *ProcessMetadata) Reset() {
	*x = ProcessMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProcessMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProcessMetadata) ProtoMessage() {}

func (x *ProcessMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProcessMetadata.ProtoReflect.Descriptor instead.
func (*ProcessMetadata) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{26}
}

func (x *ProcessMetadata) GetBpmnProcessId() string {
	if x != nil {
		return x.BpmnProcessId
	}
	return ""
}

func (x *ProcessMetadata) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *ProcessMetadata) GetProcessDefinitionKey() int64 {
	if x != nil {
		return x.ProcessDefinitionKey
	}
	return 0
}

func (x *ProcessMetadata) GetResourceName() string {
	if x != nil {
		return x.ResourceName
	}
	return ""
}

func (x *ProcessMetadata) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type DecisionMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the dmn decision ID, as parsed during deployment; together with the
	// versions forms a unique identifier for a specific decision
	DmnDecisionId string `protobuf:"bytes,1,opt,name=dmnDecisionId,proto3" json:"dmnDecisionId,omitempty"`
	// the dmn name of the decision, as parsed during deployment
	DmnDecisionName string `protobuf:"bytes,2,opt,name=dmnDecisionName,proto3" json:"dmnDecisionName,omitempty"`
	// the assigned decision version
	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	// the assigned decision key, which acts as a unique identifier for this
	// decision
	DecisionKey int64 `protobuf:"varint,4,opt,name=decisionKey,proto3" json:"decisionKey,omitempty"`
	// the dmn ID of the decision requirements graph that this decision is part
	// of, as parsed during deployment
	DmnDecisionRequirementsId string `protobuf:"bytes,5,opt,name=dmnDecisionRequirementsId,proto3" json:"dmnDecisionRequirementsId,omitempty"`
	// the assigned key of the decision requirements graph that this decision is
	// part of
	DecisionRequirementsKey int64 `protobuf:"varint,6,opt,name=decisionRequirementsKey,proto3" json:"decisionRequirementsKey,omitempty"`
	// the tenant id of the deployed decision
	TenantId string `protobuf:"bytes,7,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *DecisionMetadata) Reset() {
	*x = DecisionMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DecisionMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DecisionMetadata) ProtoMessage() {}

func (x *DecisionMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DecisionMetadata.ProtoReflect.Descriptor instead.
func (*DecisionMetadata) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{27}
}

func (x *DecisionMetadata) GetDmnDecisionId() string {
	if x != nil {
		return x.DmnDecisionId
	}
	return ""
}

func (x *DecisionMetadata) GetDmnDecisionName() string {
	if x != nil {
		return x.DmnDecisionName
	}
	return ""
}

func (x *DecisionMetadata) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *DecisionMetadata) GetDecisionKey() int64 {
	if x != nil {
		return x.DecisionKey
	}
	return 0
}

func (x *DecisionMetadata) GetDmnDecisionRequirementsId() string {
	if x != nil {
		return x.DmnDecisionRequirementsId
	}
	return ""
}

func (x *DecisionMetadata) GetDecisionRequirementsKey() int64 {
	if x != nil {
		return x.DecisionRequirementsKey
	}
	return 0
}

func (x *DecisionMetadata) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type DecisionRequirementsMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the dmn decision requirements ID, as parsed during deployment; together
	// with the versions forms a unique identifier for a specific decision
	DmnDecisionRequirementsId string `protobuf:"bytes,1,opt,name=dmnDecisionRequirementsId,proto3" json:"dmnDecisionRequirementsId,omitempty"`
	// the dmn name of the decision requirements, as parsed during deployment
	DmnDecisionRequirementsName string `protobuf:"bytes,2,opt,name=dmnDecisionRequirementsName,proto3" json:"dmnDecisionRequirementsName,omitempty"`
	// the assigned decision requirements version
	Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"`
	// the assigned decision requirements key, which acts as a unique identifier
	// for this decision requirements
	DecisionRequirementsKey int64 `protobuf:"varint,4,opt,name=decisionRequirementsKey,proto3" json:"decisionRequirementsKey,omitempty"`
	// the resource name (see: Resource.name) from which this decision
	// requirements was parsed
	ResourceName string `protobuf:"bytes,5,opt,name=resourceName,proto3" json:"resourceName,omitempty"`
	// the tenant id of the deployed decision requirements
	TenantId string `protobuf:"bytes,6,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *DecisionRequirementsMetadata) Reset() {
	*x = DecisionRequirementsMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DecisionRequirementsMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DecisionRequirementsMetadata) ProtoMessage() {}

func (x *DecisionRequirementsMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DecisionRequirementsMetadata.ProtoReflect.Descriptor instead.
func (*DecisionRequirementsMetadata) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{28}
}

func (x *DecisionRequirementsMetadata) GetDmnDecisionRequirementsId() string {
	if x != nil {
		return x.DmnDecisionRequirementsId
	}
	return ""
}

func (x *DecisionRequirementsMetadata) GetDmnDecisionRequirementsName() string {
	if x != nil {
		return x.DmnDecisionRequirementsName
	}
	return ""
}

func (x *DecisionRequirementsMetadata) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *DecisionRequirementsMetadata) GetDecisionRequirementsKey() int64 {
	if x != nil {
		return x.DecisionRequirementsKey
	}
	return 0
}

func (x *DecisionRequirementsMetadata) GetResourceName() string {
	if x != nil {
		return x.ResourceName
	}
	return ""
}

func (x *DecisionRequirementsMetadata) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type FormMetadata struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the form ID, as parsed during deployment; together with the
	// versions forms a unique identifier for a specific form
	FormId string `protobuf:"bytes,1,opt,name=formId,proto3" json:"formId,omitempty"`
	// the assigned form version
	Version int32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"`
	// the assigned key, which acts as a unique identifier for this form
	FormKey int64 `protobuf:"varint,3,opt,name=formKey,proto3" json:"formKey,omitempty"`
	// the resource name
	ResourceName string `protobuf:"bytes,4,opt,name=resourceName,proto3" json:"resourceName,omitempty"`
	// the tenant id of the deployed form
	TenantId string `protobuf:"bytes,5,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *FormMetadata) Reset() {
	*x = FormMetadata{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[29]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FormMetadata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FormMetadata) ProtoMessage() {}

func (x *FormMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[29]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FormMetadata.ProtoReflect.Descriptor instead.
func (*FormMetadata) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{29}
}

func (x *FormMetadata) GetFormId() string {
	if x != nil {
		return x.FormId
	}
	return ""
}

func (x *FormMetadata) GetVersion() int32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *FormMetadata) GetFormKey() int64 {
	if x != nil {
		return x.FormKey
	}
	return 0
}

func (x *FormMetadata) GetResourceName() string {
	if x != nil {
		return x.ResourceName
	}
	return ""
}

func (x *FormMetadata) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type FailJobRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique job identifier, as obtained when activating the job
	JobKey int64 `protobuf:"varint,1,opt,name=jobKey,proto3" json:"jobKey,omitempty"`
	// the amount of retries the job should have left
	Retries int32 `protobuf:"varint,2,opt,name=retries,proto3" json:"retries,omitempty"`
	// an optional message describing why the job failed
	// this is particularly useful if a job runs out of retries and an incident is raised,
	// as it this message can help explain why an incident was raised
	ErrorMessage string `protobuf:"bytes,3,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"`
	// the backoff timeout (in ms) for the next retry
	RetryBackOff int64 `protobuf:"varint,4,opt,name=retryBackOff,proto3" json:"retryBackOff,omitempty"`
	// JSON document that will instantiate the variables at the local scope of the
	// job's associated task; it must be a JSON object, as variables will be mapped in a
	// key-value fashion. e.g. { "a": 1, "b": 2 } will create two variables, named "a" and
	// "b" respectively, with their associated values. [{ "a": 1, "b": 2 }] would not be a
	// valid argument, as the root of the JSON document is an array and not an object.
	Variables string `protobuf:"bytes,5,opt,name=variables,proto3" json:"variables,omitempty"`
}

func (x *FailJobRequest) Reset() {
	*x = FailJobRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[30]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FailJobRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FailJobRequest) ProtoMessage() {}

func (x *FailJobRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[30]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FailJobRequest.ProtoReflect.Descriptor instead.
func (*FailJobRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{30}
}

func (x *FailJobRequest) GetJobKey() int64 {
	if x != nil {
		return x.JobKey
	}
	return 0
}

func (x *FailJobRequest) GetRetries() int32 {
	if x != nil {
		return x.Retries
	}
	return 0
}

func (x *FailJobRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *FailJobRequest) GetRetryBackOff() int64 {
	if x != nil {
		return x.RetryBackOff
	}
	return 0
}

func (x *FailJobRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

type FailJobResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *FailJobResponse) Reset() {
	*x = FailJobResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[31]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *FailJobResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FailJobResponse) ProtoMessage() {}

func (x *FailJobResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[31]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FailJobResponse.ProtoReflect.Descriptor instead.
func (*FailJobResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{31}
}

type ThrowErrorRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique job identifier, as obtained when activating the job
	JobKey int64 `protobuf:"varint,1,opt,name=jobKey,proto3" json:"jobKey,omitempty"`
	// the error code that will be matched with an error catch event
	ErrorCode string `protobuf:"bytes,2,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
	// an optional error message that provides additional context
	ErrorMessage string `protobuf:"bytes,3,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"`
	// JSON document that will instantiate the variables at the local scope of the
	// error catch event that catches the thrown error; it must be a JSON object, as variables will be mapped in a
	// key-value fashion. e.g. { "a": 1, "b": 2 } will create two variables, named "a" and
	// "b" respectively, with their associated values. [{ "a": 1, "b": 2 }] would not be a
	// valid argument, as the root of the JSON document is an array and not an object.
	Variables string `protobuf:"bytes,4,opt,name=variables,proto3" json:"variables,omitempty"`
}

func (x *ThrowErrorRequest) Reset() {
	*x = ThrowErrorRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[32]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ThrowErrorRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ThrowErrorRequest) ProtoMessage() {}

func (x *ThrowErrorRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[32]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ThrowErrorRequest.ProtoReflect.Descriptor instead.
func (*ThrowErrorRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{32}
}

func (x *ThrowErrorRequest) GetJobKey() int64 {
	if x != nil {
		return x.JobKey
	}
	return 0
}

func (x *ThrowErrorRequest) GetErrorCode() string {
	if x != nil {
		return x.ErrorCode
	}
	return ""
}

func (x *ThrowErrorRequest) GetErrorMessage() string {
	if x != nil {
		return x.ErrorMessage
	}
	return ""
}

func (x *ThrowErrorRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

type ThrowErrorResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ThrowErrorResponse) Reset() {
	*x = ThrowErrorResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[33]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ThrowErrorResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ThrowErrorResponse) ProtoMessage() {}

func (x *ThrowErrorResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[33]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ThrowErrorResponse.ProtoReflect.Descriptor instead.
func (*ThrowErrorResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{33}
}

type PublishMessageRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the name of the message
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// the correlation key of the message
	CorrelationKey string `protobuf:"bytes,2,opt,name=correlationKey,proto3" json:"correlationKey,omitempty"`
	// how long the message should be buffered on the broker, in milliseconds
	TimeToLive int64 `protobuf:"varint,3,opt,name=timeToLive,proto3" json:"timeToLive,omitempty"`
	// the unique ID of the message; can be omitted. only useful to ensure only one message
	// with the given ID will ever be published (during its lifetime)
	MessageId string `protobuf:"bytes,4,opt,name=messageId,proto3" json:"messageId,omitempty"`
	// the message variables as a JSON document; to be valid, the root of the document must be an
	// object, e.g. { "a": "foo" }. [ "foo" ] would not be valid.
	Variables string `protobuf:"bytes,5,opt,name=variables,proto3" json:"variables,omitempty"`
	// the tenant id of the message
	TenantId string `protobuf:"bytes,6,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *PublishMessageRequest) Reset() {
	*x = PublishMessageRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[34]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PublishMessageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishMessageRequest) ProtoMessage() {}

func (x *PublishMessageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[34]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishMessageRequest.ProtoReflect.Descriptor instead.
func (*PublishMessageRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{34}
}

func (x *PublishMessageRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *PublishMessageRequest) GetCorrelationKey() string {
	if x != nil {
		return x.CorrelationKey
	}
	return ""
}

func (x *PublishMessageRequest) GetTimeToLive() int64 {
	if x != nil {
		return x.TimeToLive
	}
	return 0
}

func (x *PublishMessageRequest) GetMessageId() string {
	if x != nil {
		return x.MessageId
	}
	return ""
}

func (x *PublishMessageRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *PublishMessageRequest) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type PublishMessageResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique ID of the message that was published
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// the tenant id of the message
	TenantId string `protobuf:"bytes,2,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *PublishMessageResponse) Reset() {
	*x = PublishMessageResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[35]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PublishMessageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishMessageResponse) ProtoMessage() {}

func (x *PublishMessageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[35]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishMessageResponse.ProtoReflect.Descriptor instead.
func (*PublishMessageResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{35}
}

func (x *PublishMessageResponse) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

func (x *PublishMessageResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type ResolveIncidentRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique ID of the incident to resolve
	IncidentKey int64 `protobuf:"varint,1,opt,name=incidentKey,proto3" json:"incidentKey,omitempty"`
}

func (x *ResolveIncidentRequest) Reset() {
	*x = ResolveIncidentRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[36]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResolveIncidentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResolveIncidentRequest) ProtoMessage() {}

func (x *ResolveIncidentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[36]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveIncidentRequest.ProtoReflect.Descriptor instead.
func (*ResolveIncidentRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{36}
}

func (x *ResolveIncidentRequest) GetIncidentKey() int64 {
	if x != nil {
		return x.IncidentKey
	}
	return 0
}

type ResolveIncidentResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ResolveIncidentResponse) Reset() {
	*x = ResolveIncidentResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[37]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ResolveIncidentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResolveIncidentResponse) ProtoMessage() {}

func (x *ResolveIncidentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[37]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveIncidentResponse.ProtoReflect.Descriptor instead.
func (*ResolveIncidentResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{37}
}

type TopologyRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *TopologyRequest) Reset() {
	*x = TopologyRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[38]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TopologyRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TopologyRequest) ProtoMessage() {}

func (x *TopologyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[38]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TopologyRequest.ProtoReflect.Descriptor instead.
func (*TopologyRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{38}
}

type TopologyResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// list of brokers part of this cluster
	Brokers []*BrokerInfo `protobuf:"bytes,1,rep,name=brokers,proto3" json:"brokers,omitempty"`
	// how many nodes are in the cluster
	ClusterSize int32 `protobuf:"varint,2,opt,name=clusterSize,proto3" json:"clusterSize,omitempty"`
	// how many partitions are spread across the cluster
	PartitionsCount int32 `protobuf:"varint,3,opt,name=partitionsCount,proto3" json:"partitionsCount,omitempty"`
	// configured replication factor for this cluster
	ReplicationFactor int32 `protobuf:"varint,4,opt,name=replicationFactor,proto3" json:"replicationFactor,omitempty"`
	// gateway version
	GatewayVersion string `protobuf:"bytes,5,opt,name=gatewayVersion,proto3" json:"gatewayVersion,omitempty"`
}

func (x *TopologyResponse) Reset() {
	*x = TopologyResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[39]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *TopologyResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TopologyResponse) ProtoMessage() {}

func (x *TopologyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[39]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TopologyResponse.ProtoReflect.Descriptor instead.
func (*TopologyResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{39}
}

func (x *TopologyResponse) GetBrokers() []*BrokerInfo {
	if x != nil {
		return x.Brokers
	}
	return nil
}

func (x *TopologyResponse) GetClusterSize() int32 {
	if x != nil {
		return x.ClusterSize
	}
	return 0
}

func (x *TopologyResponse) GetPartitionsCount() int32 {
	if x != nil {
		return x.PartitionsCount
	}
	return 0
}

func (x *TopologyResponse) GetReplicationFactor() int32 {
	if x != nil {
		return x.ReplicationFactor
	}
	return 0
}

func (x *TopologyResponse) GetGatewayVersion() string {
	if x != nil {
		return x.GatewayVersion
	}
	return ""
}

type BrokerInfo struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// unique (within a cluster) node ID for the broker
	NodeId int32 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"`
	// hostname of the broker
	Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
	// port for the broker
	Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// list of partitions managed or replicated on this broker
	Partitions []*Partition `protobuf:"bytes,4,rep,name=partitions,proto3" json:"partitions,omitempty"`
	// broker version
	Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"`
}

func (x *BrokerInfo) Reset() {
	*x = BrokerInfo{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[40]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BrokerInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BrokerInfo) ProtoMessage() {}

func (x *BrokerInfo) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[40]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BrokerInfo.ProtoReflect.Descriptor instead.
func (*BrokerInfo) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{40}
}

func (x *BrokerInfo) GetNodeId() int32 {
	if x != nil {
		return x.NodeId
	}
	return 0
}

func (x *BrokerInfo) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *BrokerInfo) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *BrokerInfo) GetPartitions() []*Partition {
	if x != nil {
		return x.Partitions
	}
	return nil
}

func (x *BrokerInfo) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

type Partition struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique ID of this partition
	PartitionId int32 `protobuf:"varint,1,opt,name=partitionId,proto3" json:"partitionId,omitempty"`
	// the role of the broker for this partition
	Role Partition_PartitionBrokerRole `protobuf:"varint,2,opt,name=role,proto3,enum=gateway_protocol.Partition_PartitionBrokerRole" json:"role,omitempty"`
	// the health of this partition
	Health Partition_PartitionBrokerHealth `protobuf:"varint,3,opt,name=health,proto3,enum=gateway_protocol.Partition_PartitionBrokerHealth" json:"health,omitempty"`
}

func (x *Partition) Reset() {
	*x = Partition{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[41]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Partition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Partition) ProtoMessage() {}

func (x *Partition) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[41]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Partition.ProtoReflect.Descriptor instead.
func (*Partition) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{41}
}

func (x *Partition) GetPartitionId() int32 {
	if x != nil {
		return x.PartitionId
	}
	return 0
}

func (x *Partition) GetRole() Partition_PartitionBrokerRole {
	if x != nil {
		return x.Role
	}
	return Partition_LEADER
}

func (x *Partition) GetHealth() Partition_PartitionBrokerHealth {
	if x != nil {
		return x.Health
	}
	return Partition_HEALTHY
}

type UpdateJobRetriesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique job identifier, as obtained through ActivateJobs
	JobKey int64 `protobuf:"varint,1,opt,name=jobKey,proto3" json:"jobKey,omitempty"`
	// the new amount of retries for the job; must be positive
	Retries int32 `protobuf:"varint,2,opt,name=retries,proto3" json:"retries,omitempty"`
}

func (x *UpdateJobRetriesRequest) Reset() {
	*x = UpdateJobRetriesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[42]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateJobRetriesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateJobRetriesRequest) ProtoMessage() {}

func (x *UpdateJobRetriesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[42]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateJobRetriesRequest.ProtoReflect.Descriptor instead.
func (*UpdateJobRetriesRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{42}
}

func (x *UpdateJobRetriesRequest) GetJobKey() int64 {
	if x != nil {
		return x.JobKey
	}
	return 0
}

func (x *UpdateJobRetriesRequest) GetRetries() int32 {
	if x != nil {
		return x.Retries
	}
	return 0
}

type UpdateJobRetriesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *UpdateJobRetriesResponse) Reset() {
	*x = UpdateJobRetriesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[43]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateJobRetriesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateJobRetriesResponse) ProtoMessage() {}

func (x *UpdateJobRetriesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[43]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateJobRetriesResponse.ProtoReflect.Descriptor instead.
func (*UpdateJobRetriesResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{43}
}

type UpdateJobTimeoutRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique job identifier, as obtained from ActivateJobsResponse
	JobKey int64 `protobuf:"varint,1,opt,name=jobKey,proto3" json:"jobKey,omitempty"`
	// the duration of the new timeout in ms, starting from the current moment
	Timeout int64 `protobuf:"varint,2,opt,name=timeout,proto3" json:"timeout,omitempty"`
}

func (x *UpdateJobTimeoutRequest) Reset() {
	*x = UpdateJobTimeoutRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[44]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateJobTimeoutRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateJobTimeoutRequest) ProtoMessage() {}

func (x *UpdateJobTimeoutRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[44]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateJobTimeoutRequest.ProtoReflect.Descriptor instead.
func (*UpdateJobTimeoutRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{44}
}

func (x *UpdateJobTimeoutRequest) GetJobKey() int64 {
	if x != nil {
		return x.JobKey
	}
	return 0
}

func (x *UpdateJobTimeoutRequest) GetTimeout() int64 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

type UpdateJobTimeoutResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *UpdateJobTimeoutResponse) Reset() {
	*x = UpdateJobTimeoutResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[45]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UpdateJobTimeoutResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UpdateJobTimeoutResponse) ProtoMessage() {}

func (x *UpdateJobTimeoutResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[45]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UpdateJobTimeoutResponse.ProtoReflect.Descriptor instead.
func (*UpdateJobTimeoutResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{45}
}

type SetVariablesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique identifier of a particular element; can be the process instance key (as
	// obtained during instance creation), or a given element, such as a service task (see
	// elementInstanceKey on the job message)
	ElementInstanceKey int64 `protobuf:"varint,1,opt,name=elementInstanceKey,proto3" json:"elementInstanceKey,omitempty"`
	// a JSON serialized document describing variables as key value pairs; the root of the document
	// must be an object
	Variables string `protobuf:"bytes,2,opt,name=variables,proto3" json:"variables,omitempty"`
	// if true, the variables will be merged strictly into the local scope (as indicated by
	// elementInstanceKey); this means the variables is not propagated to upper scopes.
	// for example, let's say we have two scopes, '1' and '2', with each having effective variables as:
	// 1 => `{ "foo" : 2 }`, and 2 => `{ "bar" : 1 }`. if we send an update request with
	// elementInstanceKey = 2, variables `{ "foo" : 5 }`, and local is true, then scope 1 will
	// be unchanged, and scope 2 will now be `{ "bar" : 1, "foo" 5 }`. if local was false, however,
	// then scope 1 would be `{ "foo": 5 }`, and scope 2 would be `{ "bar" : 1 }`.
	Local bool `protobuf:"varint,3,opt,name=local,proto3" json:"local,omitempty"`
}

func (x *SetVariablesRequest) Reset() {
	*x = SetVariablesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[46]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetVariablesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetVariablesRequest) ProtoMessage() {}

func (x *SetVariablesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[46]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetVariablesRequest.ProtoReflect.Descriptor instead.
func (*SetVariablesRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{46}
}

func (x *SetVariablesRequest) GetElementInstanceKey() int64 {
	if x != nil {
		return x.ElementInstanceKey
	}
	return 0
}

func (x *SetVariablesRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *SetVariablesRequest) GetLocal() bool {
	if x != nil {
		return x.Local
	}
	return false
}

type SetVariablesResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique key of the set variables command
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
}

func (x *SetVariablesResponse) Reset() {
	*x = SetVariablesResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[47]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SetVariablesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetVariablesResponse) ProtoMessage() {}

func (x *SetVariablesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[47]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetVariablesResponse.ProtoReflect.Descriptor instead.
func (*SetVariablesResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{47}
}

func (x *SetVariablesResponse) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

type ModifyProcessInstanceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the key of the process instance that should be modified
	ProcessInstanceKey int64 `protobuf:"varint,1,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
	// instructions describing which elements should be activated in which scopes,
	// and which variables should be created
	ActivateInstructions []*ModifyProcessInstanceRequest_ActivateInstruction `protobuf:"bytes,2,rep,name=activateInstructions,proto3" json:"activateInstructions,omitempty"`
	// instructions describing which elements should be terminated
	TerminateInstructions []*ModifyProcessInstanceRequest_TerminateInstruction `protobuf:"bytes,3,rep,name=terminateInstructions,proto3" json:"terminateInstructions,omitempty"`
}

func (x *ModifyProcessInstanceRequest) Reset() {
	*x = ModifyProcessInstanceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[48]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyProcessInstanceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyProcessInstanceRequest) ProtoMessage() {}

func (x *ModifyProcessInstanceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[48]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModifyProcessInstanceRequest.ProtoReflect.Descriptor instead.
func (*ModifyProcessInstanceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{48}
}

func (x *ModifyProcessInstanceRequest) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

func (x *ModifyProcessInstanceRequest) GetActivateInstructions() []*ModifyProcessInstanceRequest_ActivateInstruction {
	if x != nil {
		return x.ActivateInstructions
	}
	return nil
}

func (x *ModifyProcessInstanceRequest) GetTerminateInstructions() []*ModifyProcessInstanceRequest_TerminateInstruction {
	if x != nil {
		return x.TerminateInstructions
	}
	return nil
}

type ModifyProcessInstanceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *ModifyProcessInstanceResponse) Reset() {
	*x = ModifyProcessInstanceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[49]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyProcessInstanceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyProcessInstanceResponse) ProtoMessage() {}

func (x *ModifyProcessInstanceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[49]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModifyProcessInstanceResponse.ProtoReflect.Descriptor instead.
func (*ModifyProcessInstanceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{49}
}

type MigrateProcessInstanceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// key of the process instance to migrate
	ProcessInstanceKey int64 `protobuf:"varint,1,opt,name=processInstanceKey,proto3" json:"processInstanceKey,omitempty"`
	// the migration plan that defines target process and element mappings
	MigrationPlan *MigrateProcessInstanceRequest_MigrationPlan `protobuf:"bytes,2,opt,name=migrationPlan,proto3" json:"migrationPlan,omitempty"`
}

func (x *MigrateProcessInstanceRequest) Reset() {
	*x = MigrateProcessInstanceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[50]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrateProcessInstanceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrateProcessInstanceRequest) ProtoMessage() {}

func (x *MigrateProcessInstanceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[50]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrateProcessInstanceRequest.ProtoReflect.Descriptor instead.
func (*MigrateProcessInstanceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{50}
}

func (x *MigrateProcessInstanceRequest) GetProcessInstanceKey() int64 {
	if x != nil {
		return x.ProcessInstanceKey
	}
	return 0
}

func (x *MigrateProcessInstanceRequest) GetMigrationPlan() *MigrateProcessInstanceRequest_MigrationPlan {
	if x != nil {
		return x.MigrationPlan
	}
	return nil
}

type MigrateProcessInstanceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *MigrateProcessInstanceResponse) Reset() {
	*x = MigrateProcessInstanceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[51]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrateProcessInstanceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrateProcessInstanceResponse) ProtoMessage() {}

func (x *MigrateProcessInstanceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[51]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrateProcessInstanceResponse.ProtoReflect.Descriptor instead.
func (*MigrateProcessInstanceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{51}
}

type DeleteResourceRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The key of the resource that should be deleted. This can either be the key
	// of a process definition, the key of a decision requirements definition or the key of a form.
	ResourceKey int64 `protobuf:"varint,1,opt,name=resourceKey,proto3" json:"resourceKey,omitempty"`
}

func (x *DeleteResourceRequest) Reset() {
	*x = DeleteResourceRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[52]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteResourceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteResourceRequest) ProtoMessage() {}

func (x *DeleteResourceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[52]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteResourceRequest.ProtoReflect.Descriptor instead.
func (*DeleteResourceRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{52}
}

func (x *DeleteResourceRequest) GetResourceKey() int64 {
	if x != nil {
		return x.ResourceKey
	}
	return 0
}

type DeleteResourceResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *DeleteResourceResponse) Reset() {
	*x = DeleteResourceResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[53]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *DeleteResourceResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteResourceResponse) ProtoMessage() {}

func (x *DeleteResourceResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[53]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteResourceResponse.ProtoReflect.Descriptor instead.
func (*DeleteResourceResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{53}
}

type BroadcastSignalRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// The name of the signal
	SignalName string `protobuf:"bytes,1,opt,name=signalName,proto3" json:"signalName,omitempty"`
	// the signal variables as a JSON document; to be valid, the root of the document must be an
	// object, e.g. { "a": "foo" }. [ "foo" ] would not be valid.
	Variables string `protobuf:"bytes,2,opt,name=variables,proto3" json:"variables,omitempty"`
	// the id of the tenant that owns the signal.
	TenantId string `protobuf:"bytes,3,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *BroadcastSignalRequest) Reset() {
	*x = BroadcastSignalRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[54]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BroadcastSignalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BroadcastSignalRequest) ProtoMessage() {}

func (x *BroadcastSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[54]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BroadcastSignalRequest.ProtoReflect.Descriptor instead.
func (*BroadcastSignalRequest) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{54}
}

func (x *BroadcastSignalRequest) GetSignalName() string {
	if x != nil {
		return x.SignalName
	}
	return ""
}

func (x *BroadcastSignalRequest) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *BroadcastSignalRequest) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type BroadcastSignalResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the unique ID of the signal that was broadcasted.
	Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"`
	// the tenant id of the signal that was broadcasted.
	TenantId string `protobuf:"bytes,2,opt,name=tenantId,proto3" json:"tenantId,omitempty"`
}

func (x *BroadcastSignalResponse) Reset() {
	*x = BroadcastSignalResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[55]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BroadcastSignalResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BroadcastSignalResponse) ProtoMessage() {}

func (x *BroadcastSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[55]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BroadcastSignalResponse.ProtoReflect.Descriptor instead.
func (*BroadcastSignalResponse) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{55}
}

func (x *BroadcastSignalResponse) GetKey() int64 {
	if x != nil {
		return x.Key
	}
	return 0
}

func (x *BroadcastSignalResponse) GetTenantId() string {
	if x != nil {
		return x.TenantId
	}
	return ""
}

type ModifyProcessInstanceRequest_ActivateInstruction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the id of the element that should be activated
	ElementId string `protobuf:"bytes,1,opt,name=elementId,proto3" json:"elementId,omitempty"`
	// the key of the ancestor scope the element instance should be created in;
	// set to -1 to create the new element instance within an existing element
	// instance of the flow scope
	AncestorElementInstanceKey int64 `protobuf:"varint,2,opt,name=ancestorElementInstanceKey,proto3" json:"ancestorElementInstanceKey,omitempty"`
	// instructions describing which variables should be created
	VariableInstructions []*ModifyProcessInstanceRequest_VariableInstruction `protobuf:"bytes,3,rep,name=variableInstructions,proto3" json:"variableInstructions,omitempty"`
}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) Reset() {
	*x = ModifyProcessInstanceRequest_ActivateInstruction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[56]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyProcessInstanceRequest_ActivateInstruction) ProtoMessage() {}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[56]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModifyProcessInstanceRequest_ActivateInstruction.ProtoReflect.Descriptor instead.
func (*ModifyProcessInstanceRequest_ActivateInstruction) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{48, 0}
}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) GetElementId() string {
	if x != nil {
		return x.ElementId
	}
	return ""
}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) GetAncestorElementInstanceKey() int64 {
	if x != nil {
		return x.AncestorElementInstanceKey
	}
	return 0
}

func (x *ModifyProcessInstanceRequest_ActivateInstruction) GetVariableInstructions() []*ModifyProcessInstanceRequest_VariableInstruction {
	if x != nil {
		return x.VariableInstructions
	}
	return nil
}

type ModifyProcessInstanceRequest_VariableInstruction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// JSON document that will instantiate the variables for the root variable scope of the
	// process instance; it must be a JSON object, as variables will be mapped in a
	// key-value fashion. e.g. { "a": 1, "b": 2 } will create two variables, named "a" and
	// "b" respectively, with their associated values. [{ "a": 1, "b": 2 }] would not be a
	// valid argument, as the root of the JSON document is an array and not an object.
	Variables string `protobuf:"bytes,1,opt,name=variables,proto3" json:"variables,omitempty"`
	// the id of the element in which scope the variables should be created;
	// leave empty to create the variables in the global scope of the process instance
	ScopeId string `protobuf:"bytes,2,opt,name=scopeId,proto3" json:"scopeId,omitempty"`
}

func (x *ModifyProcessInstanceRequest_VariableInstruction) Reset() {
	*x = ModifyProcessInstanceRequest_VariableInstruction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[57]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyProcessInstanceRequest_VariableInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyProcessInstanceRequest_VariableInstruction) ProtoMessage() {}

func (x *ModifyProcessInstanceRequest_VariableInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[57]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModifyProcessInstanceRequest_VariableInstruction.ProtoReflect.Descriptor instead.
func (*ModifyProcessInstanceRequest_VariableInstruction) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{48, 1}
}

func (x *ModifyProcessInstanceRequest_VariableInstruction) GetVariables() string {
	if x != nil {
		return x.Variables
	}
	return ""
}

func (x *ModifyProcessInstanceRequest_VariableInstruction) GetScopeId() string {
	if x != nil {
		return x.ScopeId
	}
	return ""
}

type ModifyProcessInstanceRequest_TerminateInstruction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the id of the element that should be terminated
	ElementInstanceKey int64 `protobuf:"varint,1,opt,name=elementInstanceKey,proto3" json:"elementInstanceKey,omitempty"`
}

func (x *ModifyProcessInstanceRequest_TerminateInstruction) Reset() {
	*x = ModifyProcessInstanceRequest_TerminateInstruction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[58]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ModifyProcessInstanceRequest_TerminateInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModifyProcessInstanceRequest_TerminateInstruction) ProtoMessage() {}

func (x *ModifyProcessInstanceRequest_TerminateInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[58]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModifyProcessInstanceRequest_TerminateInstruction.ProtoReflect.Descriptor instead.
func (*ModifyProcessInstanceRequest_TerminateInstruction) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{48, 2}
}

func (x *ModifyProcessInstanceRequest_TerminateInstruction) GetElementInstanceKey() int64 {
	if x != nil {
		return x.ElementInstanceKey
	}
	return 0
}

type MigrateProcessInstanceRequest_MigrationPlan struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the key of process definition to migrate the process instance to
	TargetProcessDefinitionKey int64 `protobuf:"varint,1,opt,name=targetProcessDefinitionKey,proto3" json:"targetProcessDefinitionKey,omitempty"`
	// the mapping instructions describe how to map elements from the source process definition to the target process definition
	MappingInstructions []*MigrateProcessInstanceRequest_MappingInstruction `protobuf:"bytes,2,rep,name=mappingInstructions,proto3" json:"mappingInstructions,omitempty"`
}

func (x *MigrateProcessInstanceRequest_MigrationPlan) Reset() {
	*x = MigrateProcessInstanceRequest_MigrationPlan{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[59]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrateProcessInstanceRequest_MigrationPlan) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrateProcessInstanceRequest_MigrationPlan) ProtoMessage() {}

func (x *MigrateProcessInstanceRequest_MigrationPlan) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[59]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrateProcessInstanceRequest_MigrationPlan.ProtoReflect.Descriptor instead.
func (*MigrateProcessInstanceRequest_MigrationPlan) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{50, 0}
}

func (x *MigrateProcessInstanceRequest_MigrationPlan) GetTargetProcessDefinitionKey() int64 {
	if x != nil {
		return x.TargetProcessDefinitionKey
	}
	return 0
}

func (x *MigrateProcessInstanceRequest_MigrationPlan) GetMappingInstructions() []*MigrateProcessInstanceRequest_MappingInstruction {
	if x != nil {
		return x.MappingInstructions
	}
	return nil
}

type MigrateProcessInstanceRequest_MappingInstruction struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// the element id to migrate from
	SourceElementId string `protobuf:"bytes,1,opt,name=sourceElementId,proto3" json:"sourceElementId,omitempty"`
	// the element id to migrate into
	TargetElementId string `protobuf:"bytes,2,opt,name=targetElementId,proto3" json:"targetElementId,omitempty"`
}

func (x *MigrateProcessInstanceRequest_MappingInstruction) Reset() {
	*x = MigrateProcessInstanceRequest_MappingInstruction{}
	if protoimpl.UnsafeEnabled {
		mi := &file_gateway_proto_msgTypes[60]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MigrateProcessInstanceRequest_MappingInstruction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MigrateProcessInstanceRequest_MappingInstruction) ProtoMessage() {}

func (x *MigrateProcessInstanceRequest_MappingInstruction) ProtoReflect() protoreflect.Message {
	mi := &file_gateway_proto_msgTypes[60]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MigrateProcessInstanceRequest_MappingInstruction.ProtoReflect.Descriptor instead.
func (*MigrateProcessInstanceRequest_MappingInstruction) Descriptor() ([]byte, []int) {
	return file_gateway_proto_rawDescGZIP(), []int{50, 1}
}

func (x *MigrateProcessInstanceRequest_MappingInstruction) GetSourceElementId() string {
	if x != nil {
		return x.SourceElementId
	}
	return ""
}

func (x *MigrateProcessInstanceRequest_MappingInstruction) GetTargetElementId() string {
	if x != nil {
		return x.TargetElementId
	}
	return ""
}

var File_gateway_proto protoreflect.FileDescriptor

var file_gateway_proto_rawDesc = []byte{
	0x0a, 0x0d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07,
	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74,
	0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x74, 0x63, 0x68, 0x56,
	0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66,
	0x65, 0x74, 0x63, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
	0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xf5, 0x01, 0x0a, 0x13, 0x41,
	0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x18,
	0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x4a,
	0x6f, 0x62, 0x73, 0x54, 0x6f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4a, 0x6f, 0x62, 0x73, 0x54, 0x6f, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x65, 0x74, 0x63, 0x68, 0x56,
	0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x66,
	0x65, 0x74, 0x63, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0e,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
	0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x73, 0x22, 0x4a, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f,
	0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x6a, 0x6f,
	0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0xf6,
	0x03, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x70,
	0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x18, 0x70,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x18, 0x70,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18,
	0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65,
	0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x65,
	0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6c, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x75, 0x73,
	0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12,
	0x16, 0x0a, 0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69,
	0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0c, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1c, 0x0a,
	0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x1c, 0x43, 0x61, 0x6e, 0x63, 0x65,
	0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x43, 0x61, 0x6e, 0x63, 0x65,
	0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x70,
	0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16,
	0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
	0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65,
	0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x1c,
	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x14,
	0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x63,
	0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
	0x12, 0x24, 0x0a, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x67,
	0x0a, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x27, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74,
	0x61, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c,
	0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xdf, 0x01, 0x0a,
	0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32,
	0x0a, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x72,
	0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b,
	0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
	0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b,
	0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xc2,
	0x01, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
	0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x07, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x61, 0x74,
	0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x72,
	0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69,
	0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x66,
	0x65, 0x74, 0x63, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x65, 0x74, 0x63, 0x68, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x22, 0x87, 0x02, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72,
	0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74,
	0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
	0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x70, 0x6d, 0x6e,
	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
	0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65,
	0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x95, 0x01,
	0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
	0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0a, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x76,
	0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e,
	0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x89, 0x04, 0x0a, 0x18, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61,
	0x74, 0x65, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
	0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x63, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, 0x63, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0f, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x16, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x16, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17, 0x64, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x53, 0x0a, 0x12,
	0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f,
	0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x76, 0x61, 0x6c,
	0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x65,
	0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61, 0x69,
	0x6c, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a,
	0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x22, 0xaa, 0x03, 0x0a, 0x11, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a,
	0x0f, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x64,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74,
	0x70, 0x75, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75,
	0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x61, 0x74,
	0x63, 0x68, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65,
	0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x52,
	0x0a, 0x0f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74,
	0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75,
	0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75,
	0x74, 0x52, 0x0f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75,
	0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x70,
	0x0a, 0x16, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x70, 0x75,
	0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x70, 0x75, 0x74,
	0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
	0x22, 0x77, 0x0a, 0x17, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f,
	0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f,
	0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75,
	0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74,
	0x70, 0x75, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75,
	0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x75,
	0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x13, 0x4d, 0x61,
	0x74, 0x63, 0x68, 0x65, 0x64, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c,
	0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x75, 0x6c,
	0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x75,
	0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x55, 0x0a, 0x10, 0x65, 0x76, 0x61, 0x6c, 0x75,
	0x61, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x29, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x44, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x10, 0x65, 0x76,
	0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x60,
	0x0a, 0x14, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
	0x74, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x3a, 0x02, 0x18, 0x01,
	0x22, 0x4e, 0x0a, 0x14, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a,
	0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x02, 0x18, 0x01,
	0x22, 0x6e, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3f, 0x0a, 0x09, 0x70,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x3a, 0x02, 0x18, 0x01,
	0x22, 0x6d, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x09, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e,
	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22,
	0x38, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e,
	0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x86, 0x01, 0x0a, 0x16, 0x44, 0x65,
	0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79,
	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44,
	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x22, 0xb5, 0x02, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e,
	0x74, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73,
	0x12, 0x40, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x14, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2e, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
	0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x46, 0x6f, 0x72, 0x6d, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x0a,
	0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc5, 0x01, 0x0a, 0x0f, 0x50,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24,
	0x0a, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x70, 0x6d, 0x6e, 0x50, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32,
	0x0a, 0x14, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x70, 0x72,
	0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b,
	0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61,
	0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x49, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4d,
	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x6d, 0x6e, 0x44, 0x65,
	0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x28, 0x0a,
	0x0f, 0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
	0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x19, 0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69,
	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49, 0x64,
	0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63, 0x69, 0x73,
	0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x49,
	0x64, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x17, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
	0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
	0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x1c, 0x44, 0x65, 0x63, 0x69,
	0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x19, 0x64, 0x6d, 0x6e, 0x44,
	0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x64, 0x6d, 0x6e,
	0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x1b, 0x64, 0x6d, 0x6e, 0x44, 0x65, 0x63,
	0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x64, 0x6d, 0x6e,
	0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
	0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x17, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65,
	0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x17, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65,
	0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x9a, 0x01, 0x0a,
	0x0c, 0x46, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a,
	0x06, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66,
	0x6f, 0x72, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
	0x18, 0x0a, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x07, 0x66, 0x6f, 0x72, 0x6d, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x0e, 0x46, 0x61,
	0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
	0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6a, 0x6f,
	0x62, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x22,
	0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x4f,
	0x66, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x42,
	0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62,
	0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x22, 0x11, 0x0a, 0x0f, 0x46, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x54, 0x68, 0x72, 0x6f,
	0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
	0x06, 0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6a,
	0x6f, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f,
	0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43,
	0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69,
	0x61, 0x62, 0x6c, 0x65, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x15,
	0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6f, 0x72,
	0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0e, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
	0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x69, 0x76, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x4c, 0x69, 0x76,
	0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12,
	0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a,
	0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x16, 0x50, 0x75, 0x62,
	0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49,
	0x64, 0x22, 0x3a, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x63, 0x69,
	0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69,
	0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x0b, 0x69, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x19, 0x0a,
	0x17, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x54, 0x6f, 0x70, 0x6f,
	0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xec, 0x01, 0x0a, 0x10,
	0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x36, 0x0a, 0x07, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
	0x07, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43,
	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x61, 0x63, 0x74,
	0x6f, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x0a, 0x42,
	0x72, 0x6f, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64,
	0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49,
	0x64, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x61, 0x72,
	0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x22, 0xbb, 0x02, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20,
	0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64,
	0x12, 0x43, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f, 0x6b, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x52,
	0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f, 0x6b,
	0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68,
	0x22, 0x3d, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f,
	0x6b, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x41, 0x44, 0x45,
	0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x52, 0x10,
	0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x22,
	0x3d, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x72, 0x6f, 0x6b,
	0x65, 0x72, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c,
	0x54, 0x48, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54,
	0x48, 0x59, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x41, 0x44, 0x10, 0x02, 0x22, 0x4b,
	0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62,
	0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4b, 0x65,
	0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x4a, 0x6f, 0x62, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69,
	0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f,
	0x62, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x79, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69,
	0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x22, 0x28, 0x0a, 0x14, 0x53,
	0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0xc6, 0x05, 0x0a, 0x1c, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79,
	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73,
	0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x03, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x76, 0x0a, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x72,
	0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61,
	0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x79,
	0x0a, 0x15, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
	0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69,
	0x6f, 0x6e, 0x52, 0x15, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73,
	0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xeb, 0x01, 0x0a, 0x13, 0x41, 0x63,
	0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12,
	0x3e, 0x0a, 0x1a, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x45, 0x6c, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x1a, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x45, 0x6c, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x12,
	0x76, 0x0a, 0x14, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x61,
	0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f,
	0x6e, 0x52, 0x14, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72,
	0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x4d, 0x0a, 0x13, 0x56, 0x61, 0x72, 0x69, 0x61,
	0x62, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c,
	0x0a, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07,
	0x73, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
	0x63, 0x6f, 0x70, 0x65, 0x49, 0x64, 0x1a, 0x46, 0x0a, 0x14, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e,
	0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e,
	0x0a, 0x12, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x65, 0x6c, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x1f,
	0x0a, 0x1d, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0xe6, 0x03, 0x0a, 0x1d, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x70,
	0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4b, 0x65,
	0x79, 0x12, 0x63, 0x0a, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c,
	0x61, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x0d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x1a, 0xc5, 0x01, 0x0a, 0x0d, 0x4d, 0x69, 0x67, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x3e, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x1a, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x44, 0x65, 0x66, 0x69, 0x6e,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x74, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x70,
	0x69, 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65,
	0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e,
	0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x70, 0x69,
	0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x68,
	0x0a, 0x12, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6c,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73,
	0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x28,
	0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49,
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x45,
	0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x0a, 0x15, 0x44, 0x65,
	0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4b,
	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x72, 0x0a, 0x16, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e,
	0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x67,
	0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73,
	0x69, 0x67, 0x6e, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x76, 0x61, 0x72,
	0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61,
	0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e,
	0x74, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x17, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
	0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10,
	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79,
	0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x32, 0xdb, 0x11, 0x0a,
	0x07, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x61, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x26, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x67, 0x0a, 0x13, 0x53,
	0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f,
	0x62, 0x73, 0x12, 0x2c, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x63, 0x74, 0x69,
	0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x1e, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x4a, 0x6f, 0x62,
	0x22, 0x00, 0x30, 0x01, 0x12, 0x7a, 0x0a, 0x15, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x72,
	0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x5c, 0x0a, 0x0b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x12,
	0x24, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
	0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7a,
	0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
	0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x1f, 0x43,
	0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x38,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x43, 0x72, 0x65, 0x61,
	0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74,
	0x65, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x76, 0x61,
	0x6c, 0x75, 0x61, 0x74, 0x65, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65,
	0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x65, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x63,
	0x65, 0x73, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f,
	0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44,
	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x65, 0x0a, 0x0e, 0x44, 0x65, 0x70,
	0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44,
	0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x50, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x20, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x46,
	0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x46, 0x61, 0x69, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x22, 0x00, 0x12, 0x59, 0x0a, 0x0a, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72,
	0x12, 0x23, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x77, 0x45, 0x72,
	0x72, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a,
	0x0e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
	0x27, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x50, 0x75, 0x62, 0x6c,
	0x69, 0x73, 0x68, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49,
	0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c,
	0x76, 0x65, 0x49, 0x6e, 0x63, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x1a, 0x29, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x49, 0x6e, 0x63, 0x69,
	0x64, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f,
	0x0a, 0x0c, 0x53, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x25,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x61, 0x72, 0x69,
	0x61, 0x62, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
	0x53, 0x0a, 0x08, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x21, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x54,
	0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f,
	0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x55, 0x70, 0x64, 0x61,
	0x74, 0x65, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62,
	0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x00, 0x12, 0x7a, 0x0a, 0x15, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65,
	0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x61, 0x74,
	0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x6f,
	0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x61, 0x74,
	0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x6f,
	0x64, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a,
	0x16, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49,
	0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61,
	0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63,
	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77,
	0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
	0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10,
	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
	0x12, 0x29, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x63, 0x6f, 0x6c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x55,
	0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x6f, 0x62, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x0e, 0x44, 0x65, 0x6c,
	0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x67, 0x61,
	0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44,
	0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
	0x12, 0x68, 0x0a, 0x0f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x69, 0x67,
	0x6e, 0x61, 0x6c, 0x12, 0x28, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
	0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
	0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x6c,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2c, 0x0a, 0x21, 0x69, 0x6f,
	0x2e, 0x63, 0x61, 0x6d, 0x75, 0x6e, 0x64, 0x61, 0x2e, 0x7a, 0x65, 0x65, 0x62, 0x65, 0x2e, 0x67,
	0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x50,
	0x00, 0x5a, 0x05, 0x2e, 0x2f, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_gateway_proto_rawDescOnce sync.Once
	file_gateway_proto_rawDescData = file_gateway_proto_rawDesc
)

func file_gateway_proto_rawDescGZIP() []byte {
	file_gateway_proto_rawDescOnce.Do(func() {
		file_gateway_proto_rawDescData = protoimpl.X.CompressGZIP(file_gateway_proto_rawDescData)
	})
	return file_gateway_proto_rawDescData
}

var file_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 61)
var file_gateway_proto_goTypes = []interface{}{
	(Partition_PartitionBrokerRole)(0),                        // 0: gateway_protocol.Partition.PartitionBrokerRole
	(Partition_PartitionBrokerHealth)(0),                      // 1: gateway_protocol.Partition.PartitionBrokerHealth
	(*StreamActivatedJobsRequest)(nil),                        // 2: gateway_protocol.StreamActivatedJobsRequest
	(*ActivateJobsRequest)(nil),                               // 3: gateway_protocol.ActivateJobsRequest
	(*ActivateJobsResponse)(nil),                              // 4: gateway_protocol.ActivateJobsResponse
	(*ActivatedJob)(nil),                                      // 5: gateway_protocol.ActivatedJob
	(*CancelProcessInstanceRequest)(nil),                      // 6: gateway_protocol.CancelProcessInstanceRequest
	(*CancelProcessInstanceResponse)(nil),                     // 7: gateway_protocol.CancelProcessInstanceResponse
	(*CompleteJobRequest)(nil),                                // 8: gateway_protocol.CompleteJobRequest
	(*CompleteJobResponse)(nil),                               // 9: gateway_protocol.CompleteJobResponse
	(*CreateProcessInstanceRequest)(nil),                      // 10: gateway_protocol.CreateProcessInstanceRequest
	(*ProcessInstanceCreationStartInstruction)(nil),           // 11: gateway_protocol.ProcessInstanceCreationStartInstruction
	(*CreateProcessInstanceResponse)(nil),                     // 12: gateway_protocol.CreateProcessInstanceResponse
	(*CreateProcessInstanceWithResultRequest)(nil),            // 13: gateway_protocol.CreateProcessInstanceWithResultRequest
	(*CreateProcessInstanceWithResultResponse)(nil),           // 14: gateway_protocol.CreateProcessInstanceWithResultResponse
	(*EvaluateDecisionRequest)(nil),                           // 15: gateway_protocol.EvaluateDecisionRequest
	(*EvaluateDecisionResponse)(nil),                          // 16: gateway_protocol.EvaluateDecisionResponse
	(*EvaluatedDecision)(nil),                                 // 17: gateway_protocol.EvaluatedDecision
	(*EvaluatedDecisionInput)(nil),                            // 18: gateway_protocol.EvaluatedDecisionInput
	(*EvaluatedDecisionOutput)(nil),                           // 19: gateway_protocol.EvaluatedDecisionOutput
	(*MatchedDecisionRule)(nil),                               // 20: gateway_protocol.MatchedDecisionRule
	(*DeployProcessRequest)(nil),                              // 21: gateway_protocol.DeployProcessRequest
	(*ProcessRequestObject)(nil),                              // 22: gateway_protocol.ProcessRequestObject
	(*DeployProcessResponse)(nil),                             // 23: gateway_protocol.DeployProcessResponse
	(*DeployResourceRequest)(nil),                             // 24: gateway_protocol.DeployResourceRequest
	(*Resource)(nil),                                          // 25: gateway_protocol.Resource
	(*DeployResourceResponse)(nil),                            // 26: gateway_protocol.DeployResourceResponse
	(*Deployment)(nil),                                        // 27: gateway_protocol.Deployment
	(*ProcessMetadata)(nil),                                   // 28: gateway_protocol.ProcessMetadata
	(*DecisionMetadata)(nil),                                  // 29: gateway_protocol.DecisionMetadata
	(*DecisionRequirementsMetadata)(nil),                      // 30: gateway_protocol.DecisionRequirementsMetadata
	(*FormMetadata)(nil),                                      // 31: gateway_protocol.FormMetadata
	(*FailJobRequest)(nil),                                    // 32: gateway_protocol.FailJobRequest
	(*FailJobResponse)(nil),                                   // 33: gateway_protocol.FailJobResponse
	(*ThrowErrorRequest)(nil),                                 // 34: gateway_protocol.ThrowErrorRequest
	(*ThrowErrorResponse)(nil),                                // 35: gateway_protocol.ThrowErrorResponse
	(*PublishMessageRequest)(nil),                             // 36: gateway_protocol.PublishMessageRequest
	(*PublishMessageResponse)(nil),                            // 37: gateway_protocol.PublishMessageResponse
	(*ResolveIncidentRequest)(nil),                            // 38: gateway_protocol.ResolveIncidentRequest
	(*ResolveIncidentResponse)(nil),                           // 39: gateway_protocol.ResolveIncidentResponse
	(*TopologyRequest)(nil),                                   // 40: gateway_protocol.TopologyRequest
	(*TopologyResponse)(nil),                                  // 41: gateway_protocol.TopologyResponse
	(*BrokerInfo)(nil),                                        // 42: gateway_protocol.BrokerInfo
	(*Partition)(nil),                                         // 43: gateway_protocol.Partition
	(*UpdateJobRetriesRequest)(nil),                           // 44: gateway_protocol.UpdateJobRetriesRequest
	(*UpdateJobRetriesResponse)(nil),                          // 45: gateway_protocol.UpdateJobRetriesResponse
	(*UpdateJobTimeoutRequest)(nil),                           // 46: gateway_protocol.UpdateJobTimeoutRequest
	(*UpdateJobTimeoutResponse)(nil),                          // 47: gateway_protocol.UpdateJobTimeoutResponse
	(*SetVariablesRequest)(nil),                               // 48: gateway_protocol.SetVariablesRequest
	(*SetVariablesResponse)(nil),                              // 49: gateway_protocol.SetVariablesResponse
	(*ModifyProcessInstanceRequest)(nil),                      // 50: gateway_protocol.ModifyProcessInstanceRequest
	(*ModifyProcessInstanceResponse)(nil),                     // 51: gateway_protocol.ModifyProcessInstanceResponse
	(*MigrateProcessInstanceRequest)(nil),                     // 52: gateway_protocol.MigrateProcessInstanceRequest
	(*MigrateProcessInstanceResponse)(nil),                    // 53: gateway_protocol.MigrateProcessInstanceResponse
	(*DeleteResourceRequest)(nil),                             // 54: gateway_protocol.DeleteResourceRequest
	(*DeleteResourceResponse)(nil),                            // 55: gateway_protocol.DeleteResourceResponse
	(*BroadcastSignalRequest)(nil),                            // 56: gateway_protocol.BroadcastSignalRequest
	(*BroadcastSignalResponse)(nil),                           // 57: gateway_protocol.BroadcastSignalResponse
	(*ModifyProcessInstanceRequest_ActivateInstruction)(nil),  // 58: gateway_protocol.ModifyProcessInstanceRequest.ActivateInstruction
	(*ModifyProcessInstanceRequest_VariableInstruction)(nil),  // 59: gateway_protocol.ModifyProcessInstanceRequest.VariableInstruction
	(*ModifyProcessInstanceRequest_TerminateInstruction)(nil), // 60: gateway_protocol.ModifyProcessInstanceRequest.TerminateInstruction
	(*MigrateProcessInstanceRequest_MigrationPlan)(nil),       // 61: gateway_protocol.MigrateProcessInstanceRequest.MigrationPlan
	(*MigrateProcessInstanceRequest_MappingInstruction)(nil),  // 62: gateway_protocol.MigrateProcessInstanceRequest.MappingInstruction
}
var file_gateway_proto_depIdxs = []int32{
	5,  // 0: gateway_protocol.ActivateJobsResponse.jobs:type_name -> gateway_protocol.ActivatedJob
	11, // 1: gateway_protocol.CreateProcessInstanceRequest.startInstructions:type_name -> gateway_protocol.ProcessInstanceCreationStartInstruction
	10, // 2: gateway_protocol.CreateProcessInstanceWithResultRequest.request:type_name -> gateway_protocol.CreateProcessInstanceRequest
	17, // 3: gateway_protocol.EvaluateDecisionResponse.evaluatedDecisions:type_name -> gateway_protocol.EvaluatedDecision
	20, // 4: gateway_protocol.EvaluatedDecision.matchedRules:type_name -> gateway_protocol.MatchedDecisionRule
	18, // 5: gateway_protocol.EvaluatedDecision.evaluatedInputs:type_name -> gateway_protocol.EvaluatedDecisionInput
	19, // 6: gateway_protocol.MatchedDecisionRule.evaluatedOutputs:type_name -> gateway_protocol.EvaluatedDecisionOutput
	22, // 7: gateway_protocol.DeployProcessRequest.processes:type_name -> gateway_protocol.ProcessRequestObject
	28, // 8: gateway_protocol.DeployProcessResponse.processes:type_name -> gateway_protocol.ProcessMetadata
	25, // 9: gateway_protocol.DeployResourceRequest.resources:type_name -> gateway_protocol.Resource
	27, // 10: gateway_protocol.DeployResourceResponse.deployments:type_name -> gateway_protocol.Deployment
	28, // 11: gateway_protocol.Deployment.process:type_name -> gateway_protocol.ProcessMetadata
	29, // 12: gateway_protocol.Deployment.decision:type_name -> gateway_protocol.DecisionMetadata
	30, // 13: gateway_protocol.Deployment.decisionRequirements:type_name -> gateway_protocol.DecisionRequirementsMetadata
	31, // 14: gateway_protocol.Deployment.form:type_name -> gateway_protocol.FormMetadata
	42, // 15: gateway_protocol.TopologyResponse.brokers:type_name -> gateway_protocol.BrokerInfo
	43, // 16: gateway_protocol.BrokerInfo.partitions:type_name -> gateway_protocol.Partition
	0,  // 17: gateway_protocol.Partition.role:type_name -> gateway_protocol.Partition.PartitionBrokerRole
	1,  // 18: gateway_protocol.Partition.health:type_name -> gateway_protocol.Partition.PartitionBrokerHealth
	58, // 19: gateway_protocol.ModifyProcessInstanceRequest.activateInstructions:type_name -> gateway_protocol.ModifyProcessInstanceRequest.ActivateInstruction
	60, // 20: gateway_protocol.ModifyProcessInstanceRequest.terminateInstructions:type_name -> gateway_protocol.ModifyProcessInstanceRequest.TerminateInstruction
	61, // 21: gateway_protocol.MigrateProcessInstanceRequest.migrationPlan:type_name -> gateway_protocol.MigrateProcessInstanceRequest.MigrationPlan
	59, // 22: gateway_protocol.ModifyProcessInstanceRequest.ActivateInstruction.variableInstructions:type_name -> gateway_protocol.ModifyProcessInstanceRequest.VariableInstruction
	62, // 23: gateway_protocol.MigrateProcessInstanceRequest.MigrationPlan.mappingInstructions:type_name -> gateway_protocol.MigrateProcessInstanceRequest.MappingInstruction
	3,  // 24: gateway_protocol.Gateway.ActivateJobs:input_type -> gateway_protocol.ActivateJobsRequest
	2,  // 25: gateway_protocol.Gateway.StreamActivatedJobs:input_type -> gateway_protocol.StreamActivatedJobsRequest
	6,  // 26: gateway_protocol.Gateway.CancelProcessInstance:input_type -> gateway_protocol.CancelProcessInstanceRequest
	8,  // 27: gateway_protocol.Gateway.CompleteJob:input_type -> gateway_protocol.CompleteJobRequest
	10, // 28: gateway_protocol.Gateway.CreateProcessInstance:input_type -> gateway_protocol.CreateProcessInstanceRequest
	13, // 29: gateway_protocol.Gateway.CreateProcessInstanceWithResult:input_type -> gateway_protocol.CreateProcessInstanceWithResultRequest
	15, // 30: gateway_protocol.Gateway.EvaluateDecision:input_type -> gateway_protocol.EvaluateDecisionRequest
	21, // 31: gateway_protocol.Gateway.DeployProcess:input_type -> gateway_protocol.DeployProcessRequest
	24, // 32: gateway_protocol.Gateway.DeployResource:input_type -> gateway_protocol.DeployResourceRequest
	32, // 33: gateway_protocol.Gateway.FailJob:input_type -> gateway_protocol.FailJobRequest
	34, // 34: gateway_protocol.Gateway.ThrowError:input_type -> gateway_protocol.ThrowErrorRequest
	36, // 35: gateway_protocol.Gateway.PublishMessage:input_type -> gateway_protocol.PublishMessageRequest
	38, // 36: gateway_protocol.Gateway.ResolveIncident:input_type -> gateway_protocol.ResolveIncidentRequest
	48, // 37: gateway_protocol.Gateway.SetVariables:input_type -> gateway_protocol.SetVariablesRequest
	40, // 38: gateway_protocol.Gateway.Topology:input_type -> gateway_protocol.TopologyRequest
	44, // 39: gateway_protocol.Gateway.UpdateJobRetries:input_type -> gateway_protocol.UpdateJobRetriesRequest
	50, // 40: gateway_protocol.Gateway.ModifyProcessInstance:input_type -> gateway_protocol.ModifyProcessInstanceRequest
	52, // 41: gateway_protocol.Gateway.MigrateProcessInstance:input_type -> gateway_protocol.MigrateProcessInstanceRequest
	46, // 42: gateway_protocol.Gateway.UpdateJobTimeout:input_type -> gateway_protocol.UpdateJobTimeoutRequest
	54, // 43: gateway_protocol.Gateway.DeleteResource:input_type -> gateway_protocol.DeleteResourceRequest
	56, // 44: gateway_protocol.Gateway.BroadcastSignal:input_type -> gateway_protocol.BroadcastSignalRequest
	4,  // 45: gateway_protocol.Gateway.ActivateJobs:output_type -> gateway_protocol.ActivateJobsResponse
	5,  // 46: gateway_protocol.Gateway.StreamActivatedJobs:output_type -> gateway_protocol.ActivatedJob
	7,  // 47: gateway_protocol.Gateway.CancelProcessInstance:output_type -> gateway_protocol.CancelProcessInstanceResponse
	9,  // 48: gateway_protocol.Gateway.CompleteJob:output_type -> gateway_protocol.CompleteJobResponse
	12, // 49: gateway_protocol.Gateway.CreateProcessInstance:output_type -> gateway_protocol.CreateProcessInstanceResponse
	14, // 50: gateway_protocol.Gateway.CreateProcessInstanceWithResult:output_type -> gateway_protocol.CreateProcessInstanceWithResultResponse
	16, // 51: gateway_protocol.Gateway.EvaluateDecision:output_type -> gateway_protocol.EvaluateDecisionResponse
	23, // 52: gateway_protocol.Gateway.DeployProcess:output_type -> gateway_protocol.DeployProcessResponse
	26, // 53: gateway_protocol.Gateway.DeployResource:output_type -> gateway_protocol.DeployResourceResponse
	33, // 54: gateway_protocol.Gateway.FailJob:output_type -> gateway_protocol.FailJobResponse
	35, // 55: gateway_protocol.Gateway.ThrowError:output_type -> gateway_protocol.ThrowErrorResponse
	37, // 56: gateway_protocol.Gateway.PublishMessage:output_type -> gateway_protocol.PublishMessageResponse
	39, // 57: gateway_protocol.Gateway.ResolveIncident:output_type -> gateway_protocol.ResolveIncidentResponse
	49, // 58: gateway_protocol.Gateway.SetVariables:output_type -> gateway_protocol.SetVariablesResponse
	41, // 59: gateway_protocol.Gateway.Topology:output_type -> gateway_protocol.TopologyResponse
	45, // 60: gateway_protocol.Gateway.UpdateJobRetries:output_type -> gateway_protocol.UpdateJobRetriesResponse
	51, // 61: gateway_protocol.Gateway.ModifyProcessInstance:output_type -> gateway_protocol.ModifyProcessInstanceResponse
	53, // 62: gateway_protocol.Gateway.MigrateProcessInstance:output_type -> gateway_protocol.MigrateProcessInstanceResponse
	47, // 63: gateway_protocol.Gateway.UpdateJobTimeout:output_type -> gateway_protocol.UpdateJobTimeoutResponse
	55, // 64: gateway_protocol.Gateway.DeleteResource:output_type -> gateway_protocol.DeleteResourceResponse
	57, // 65: gateway_protocol.Gateway.BroadcastSignal:output_type -> gateway_protocol.BroadcastSignalResponse
	45, // [45:66] is the sub-list for method output_type
	24, // [24:45] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_gateway_proto_init() }
func file_gateway_proto_init() {
	if File_gateway_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_gateway_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*StreamActivatedJobsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateJobsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivateJobsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ActivatedJob); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelProcessInstanceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CancelProcessInstanceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CompleteJobRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CompleteJobResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProcessInstanceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProcessInstanceCreationStartInstruction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProcessInstanceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProcessInstanceWithResultRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*CreateProcessInstanceWithResultResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EvaluateDecisionRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EvaluateDecisionResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EvaluatedDecision); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EvaluatedDecisionInput); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*EvaluatedDecisionOutput); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MatchedDecisionRule); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeployProcessRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProcessRequestObject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeployProcessResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeployResourceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Resource); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeployResourceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Deployment); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ProcessMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DecisionMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DecisionRequirementsMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FormMetadata); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FailJobRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*FailJobResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ThrowErrorRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ThrowErrorResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PublishMessageRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PublishMessageResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResolveIncidentRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ResolveIncidentResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TopologyRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*TopologyResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BrokerInfo); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Partition); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateJobRetriesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateJobRetriesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateJobTimeoutRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*UpdateJobTimeoutResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetVariablesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SetVariablesResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyProcessInstanceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyProcessInstanceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrateProcessInstanceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrateProcessInstanceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteResourceRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*DeleteResourceResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BroadcastSignalRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BroadcastSignalResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyProcessInstanceRequest_ActivateInstruction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyProcessInstanceRequest_VariableInstruction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ModifyProcessInstanceRequest_TerminateInstruction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrateProcessInstanceRequest_MigrationPlan); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_gateway_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MigrateProcessInstanceRequest_MappingInstruction); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_gateway_proto_msgTypes[25].OneofWrappers = []interface{}{
		(*Deployment_Process)(nil),
		(*Deployment_Decision)(nil),
		(*Deployment_DecisionRequirements)(nil),
		(*Deployment_Form)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_gateway_proto_rawDesc,
			NumEnums:      2,
			NumMessages:   61,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_gateway_proto_goTypes,
		DependencyIndexes: file_gateway_proto_depIdxs,
		EnumInfos:         file_gateway_proto_enumTypes,
		MessageInfos:      file_gateway_proto_msgTypes,
	}.Build()
	File_gateway_proto = out.File
	file_gateway_proto_rawDesc = nil
	file_gateway_proto_goTypes = nil
	file_gateway_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// GatewayClient is the client API for Gateway service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GatewayClient interface {
	// Iterates through all known partitions round-robin and activates up to the requested
	// maximum and streams them back to the client as they are activated.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - type is blank (empty string, null)
	// - worker is blank (empty string, null)
	// - timeout less than 1
	// - maxJobsToActivate is less than 1
	ActivateJobs(ctx context.Context, in *ActivateJobsRequest, opts ...grpc.CallOption) (Gateway_ActivateJobsClient, error)
	// Registers client to a job stream that will stream jobs back to the client as
	// they become activatable.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - type is blank (empty string, null)
	// - timeout less than 1
	StreamActivatedJobs(ctx context.Context, in *StreamActivatedJobsRequest, opts ...grpc.CallOption) (Gateway_StreamActivatedJobsClient, error)
	// Cancels a running process instance
	//
	// Errors:
	// NOT_FOUND:
	// - no process instance exists with the given key
	CancelProcessInstance(ctx context.Context, in *CancelProcessInstanceRequest, opts ...grpc.CallOption) (*CancelProcessInstanceResponse, error)
	// Completes a job with the given variables, which allows completing the associated service task.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given job key. Note that since jobs are removed once completed,
	// it could be that this job did exist at some point.
	//
	// FAILED_PRECONDITION:
	// - the job was marked as failed. In that case, the related incident must be resolved before
	// the job can be activated again and completed.
	CompleteJob(ctx context.Context, in *CompleteJobRequest, opts ...grpc.CallOption) (*CompleteJobResponse, error)
	// Creates and starts an instance of the specified process. The process definition to use to
	// create the instance can be specified either using its unique key (as returned by
	// DeployProcess), or using the BPMN process ID and a version. Pass -1 as the version to use the
	// latest deployed version. Note that only processes with none start events can be started through
	// this command.
	//
	// Errors:
	// NOT_FOUND:
	// - no process with the given key exists (if processDefinitionKey was given)
	// - no process with the given process ID exists (if bpmnProcessId was given but version was -1)
	// - no process with the given process ID and version exists (if both bpmnProcessId and version were given)
	//
	// FAILED_PRECONDITION:
	// - the process definition does not contain a none start event; only processes with none
	// start event can be started manually.
	//
	// INVALID_ARGUMENT:
	// - the given variables argument is not a valid JSON document; it is expected to be a valid
	// JSON document where the root node is an object.
	CreateProcessInstance(ctx context.Context, in *CreateProcessInstanceRequest, opts ...grpc.CallOption) (*CreateProcessInstanceResponse, error)
	// Behaves similarly to `rpc CreateProcessInstance`, except that a successful response is received when the process completes successfully.
	CreateProcessInstanceWithResult(ctx context.Context, in *CreateProcessInstanceWithResultRequest, opts ...grpc.CallOption) (*CreateProcessInstanceWithResultResponse, error)
	// Evaluates a decision. The decision to evaluate can be specified either by
	// using its unique key (as returned by DeployResource), or using the decision
	// ID. When using the decision ID, the latest deployed version of the decision
	// is used.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - no decision with the given key exists (if decisionKey was given)
	// - no decision with the given decision ID exists (if decisionId was given)
	// - both decision ID and decision KEY were provided, or are missing
	EvaluateDecision(ctx context.Context, in *EvaluateDecisionRequest, opts ...grpc.CallOption) (*EvaluateDecisionResponse, error)
	// Deprecated: Do not use.
	//
	// Deploys one or more processes to Zeebe. Note that this is an atomic call,
	// i.e. either all processes are deployed, or none of them are.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - no resources given.
	// - if at least one resource is invalid. A resource is considered invalid if:
	// - the resource data is not deserializable (e.g. detected as BPMN, but it's broken XML)
	// - the process is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
	DeployProcess(ctx context.Context, in *DeployProcessRequest, opts ...grpc.CallOption) (*DeployProcessResponse, error)
	// Deploys one or more resources (e.g. processes or decision models) to Zeebe.
	// Note that this is an atomic call, i.e. either all resources are deployed, or none of them are.
	//
	// Errors:
	// PERMISSION_DENIED:
	// - if a deployment to an unauthorized tenant is performed
	// INVALID_ARGUMENT:
	// - no resources given.
	// - if at least one resource is invalid. A resource is considered invalid if:
	// - the content is not deserializable (e.g. detected as BPMN, but it's broken XML)
	// - the content is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
	// - if multi-tenancy is enabled, and:
	// - a tenant id is not provided
	// - a tenant id with an invalid format is provided
	// - if multi-tenancy is disabled and a tenant id is provided
	DeployResource(ctx context.Context, in *DeployResourceRequest, opts ...grpc.CallOption) (*DeployResourceResponse, error)
	// Marks the job as failed; if the retries argument is positive, then the job will be immediately
	// activatable again, and a worker could try again to process it. If it is zero or negative however,
	// an incident will be raised, tagged with the given errorMessage, and the job will not be
	// activatable until the incident is resolved.
	//
	// Errors:
	// NOT_FOUND:
	// - no job was found with the given key
	//
	// FAILED_PRECONDITION:
	// - the job was not activated
	// - the job is already in a failed state, i.e. ran out of retries
	FailJob(ctx context.Context, in *FailJobRequest, opts ...grpc.CallOption) (*FailJobResponse, error)
	// Reports a business error (i.e. non-technical) that occurs while processing a job. The error is handled in the process by an error catch event. If there is no error catch event with the specified errorCode then an incident will be raised instead.
	//
	// Errors:
	// NOT_FOUND:
	// - no job was found with the given key
	//
	// FAILED_PRECONDITION:
	// - the job is not in an activated state
	ThrowError(ctx context.Context, in *ThrowErrorRequest, opts ...grpc.CallOption) (*ThrowErrorResponse, error)
	// Publishes a single message. Messages are published to specific partitions computed from their
	// correlation keys.
	//
	// Errors:
	// ALREADY_EXISTS:
	// - a message with the same ID was previously published (and is still alive)
	PublishMessage(ctx context.Context, in *PublishMessageRequest, opts ...grpc.CallOption) (*PublishMessageResponse, error)
	// Resolves a given incident. This simply marks the incident as resolved; most likely a call to
	// UpdateJobRetries or SetVariables will be necessary to actually resolve the
	// problem, following by this call.
	//
	// Errors:
	// NOT_FOUND:
	// - no incident with the given key exists
	ResolveIncident(ctx context.Context, in *ResolveIncidentRequest, opts ...grpc.CallOption) (*ResolveIncidentResponse, error)
	// Updates all the variables of a particular scope (e.g. process instance, flow element instance)
	// from the given JSON document.
	//
	// Errors:
	// NOT_FOUND:
	// - no element with the given elementInstanceKey exists
	// INVALID_ARGUMENT:
	// - the given variables document is not a valid JSON document; valid documents are expected to
	// be JSON documents where the root node is an object.
	SetVariables(ctx context.Context, in *SetVariablesRequest, opts ...grpc.CallOption) (*SetVariablesResponse, error)
	// Obtains the current topology of the cluster the gateway is part of.
	Topology(ctx context.Context, in *TopologyRequest, opts ...grpc.CallOption) (*TopologyResponse, error)
	// Updates the number of retries a job has left. This is mostly useful for jobs that have run out of
	// retries, should the underlying problem be solved.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given key
	//
	// INVALID_ARGUMENT:
	// - retries is not greater than 0
	UpdateJobRetries(ctx context.Context, in *UpdateJobRetriesRequest, opts ...grpc.CallOption) (*UpdateJobRetriesResponse, error)
	// Modifies the process instance. This is done by activating and/or terminating specific elements of the instance.
	//
	// Errors:
	// NOT_FOUND:
	// - no process instance exists with the given key
	//
	// FAILED_PRECONDITION:
	// - trying to activate element inside of a multi-instance
	//
	// INVALID_ARGUMENT:
	// - activating or terminating unknown element
	// - ancestor of element for activation doesn't exist
	// - scope of variable is unknown
	ModifyProcessInstance(ctx context.Context, in *ModifyProcessInstanceRequest, opts ...grpc.CallOption) (*ModifyProcessInstanceResponse, error)
	// Migrates the process instance to the specified process definition.
	// In simple terms, this is handled by updating the active element's process.
	//
	// Errors:
	// NOT_FOUND:
	// - the process instance referenced by `processInstanceKey` is not active
	//
	// FAILED_PRECONDITION:
	// - not all active elements in the source process instance are mapped to the elements in the target process
	// - a mapping instruction changes the type of an element or event
	// - a mapping instruction refers to an unsupported element (i.e. some elements will be supported later on)
	// - a mapping instruction refers to element in unsupported scenarios.
	// (i.e. migrating active elements with event subscriptions will be supported later on)
	//
	// INVALID_ARGUMENT:
	// - the source element id does not refer to an element in the source process definition
	// - a source element id is mapped by multiple mapping instructions.
	// For example, the engine cannot determine how to migrate a process instance when the instructions are: [A->B, A->C].
	MigrateProcessInstance(ctx context.Context, in *MigrateProcessInstanceRequest, opts ...grpc.CallOption) (*MigrateProcessInstanceResponse, error)
	// Updates the deadline of a job using the timeout (in ms) provided. This can be used
	// for extending or shortening the job deadline.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given key
	//
	// INVALID_STATE:
	// - no deadline exists for the given job key
	UpdateJobTimeout(ctx context.Context, in *UpdateJobTimeoutRequest, opts ...grpc.CallOption) (*UpdateJobTimeoutResponse, error)
	// Deletes a resource from the state. Once a resource has been deleted it cannot
	// be recovered. If the resource needs to be available again, a new deployment
	// of the resource is required.
	//
	// Deleting a process will cancel any running instances of this process
	// definition. New instances of a deleted process are created using
	// the lastest version that hasn't been deleted. Creating a new
	// process instance is impossible when all versions have been
	// deleted.
	//
	// Deleting a decision requirement definitions could cause incidents in process
	// instances referencing these decisions in a business rule task. A decision
	// will be evaluated with the latest version that hasn't been deleted. If all
	// versions of a decision have been deleted the evaluation is rejected.
	//
	// Errors:
	// NOT_FOUND:
	// - No resource exists with the given key
	DeleteResource(ctx context.Context, in *DeleteResourceRequest, opts ...grpc.CallOption) (*DeleteResourceResponse, error)
	// Broadcasts a signal.
	BroadcastSignal(ctx context.Context, in *BroadcastSignalRequest, opts ...grpc.CallOption) (*BroadcastSignalResponse, error)
}

type gatewayClient struct {
	cc grpc.ClientConnInterface
}

func NewGatewayClient(cc grpc.ClientConnInterface) GatewayClient {
	return &gatewayClient{cc}
}

func (c *gatewayClient) ActivateJobs(ctx context.Context, in *ActivateJobsRequest, opts ...grpc.CallOption) (Gateway_ActivateJobsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Gateway_serviceDesc.Streams[0], "/gateway_protocol.Gateway/ActivateJobs", opts...)
	if err != nil {
		return nil, err
	}
	x := &gatewayActivateJobsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type Gateway_ActivateJobsClient interface {
	Recv() (*ActivateJobsResponse, error)
	grpc.ClientStream
}

type gatewayActivateJobsClient struct {
	grpc.ClientStream
}

func (x *gatewayActivateJobsClient) Recv() (*ActivateJobsResponse, error) {
	m := new(ActivateJobsResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gatewayClient) StreamActivatedJobs(ctx context.Context, in *StreamActivatedJobsRequest, opts ...grpc.CallOption) (Gateway_StreamActivatedJobsClient, error) {
	stream, err := c.cc.NewStream(ctx, &_Gateway_serviceDesc.Streams[1], "/gateway_protocol.Gateway/StreamActivatedJobs", opts...)
	if err != nil {
		return nil, err
	}
	x := &gatewayStreamActivatedJobsClient{stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

type Gateway_StreamActivatedJobsClient interface {
	Recv() (*ActivatedJob, error)
	grpc.ClientStream
}

type gatewayStreamActivatedJobsClient struct {
	grpc.ClientStream
}

func (x *gatewayStreamActivatedJobsClient) Recv() (*ActivatedJob, error) {
	m := new(ActivatedJob)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *gatewayClient) CancelProcessInstance(ctx context.Context, in *CancelProcessInstanceRequest, opts ...grpc.CallOption) (*CancelProcessInstanceResponse, error) {
	out := new(CancelProcessInstanceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/CancelProcessInstance", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) CompleteJob(ctx context.Context, in *CompleteJobRequest, opts ...grpc.CallOption) (*CompleteJobResponse, error) {
	out := new(CompleteJobResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/CompleteJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) CreateProcessInstance(ctx context.Context, in *CreateProcessInstanceRequest, opts ...grpc.CallOption) (*CreateProcessInstanceResponse, error) {
	out := new(CreateProcessInstanceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/CreateProcessInstance", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) CreateProcessInstanceWithResult(ctx context.Context, in *CreateProcessInstanceWithResultRequest, opts ...grpc.CallOption) (*CreateProcessInstanceWithResultResponse, error) {
	out := new(CreateProcessInstanceWithResultResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/CreateProcessInstanceWithResult", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) EvaluateDecision(ctx context.Context, in *EvaluateDecisionRequest, opts ...grpc.CallOption) (*EvaluateDecisionResponse, error) {
	out := new(EvaluateDecisionResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/EvaluateDecision", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Deprecated: Do not use.
func (c *gatewayClient) DeployProcess(ctx context.Context, in *DeployProcessRequest, opts ...grpc.CallOption) (*DeployProcessResponse, error) {
	out := new(DeployProcessResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/DeployProcess", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) DeployResource(ctx context.Context, in *DeployResourceRequest, opts ...grpc.CallOption) (*DeployResourceResponse, error) {
	out := new(DeployResourceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/DeployResource", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) FailJob(ctx context.Context, in *FailJobRequest, opts ...grpc.CallOption) (*FailJobResponse, error) {
	out := new(FailJobResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/FailJob", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) ThrowError(ctx context.Context, in *ThrowErrorRequest, opts ...grpc.CallOption) (*ThrowErrorResponse, error) {
	out := new(ThrowErrorResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/ThrowError", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) PublishMessage(ctx context.Context, in *PublishMessageRequest, opts ...grpc.CallOption) (*PublishMessageResponse, error) {
	out := new(PublishMessageResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/PublishMessage", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) ResolveIncident(ctx context.Context, in *ResolveIncidentRequest, opts ...grpc.CallOption) (*ResolveIncidentResponse, error) {
	out := new(ResolveIncidentResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/ResolveIncident", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) SetVariables(ctx context.Context, in *SetVariablesRequest, opts ...grpc.CallOption) (*SetVariablesResponse, error) {
	out := new(SetVariablesResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/SetVariables", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) Topology(ctx context.Context, in *TopologyRequest, opts ...grpc.CallOption) (*TopologyResponse, error) {
	out := new(TopologyResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/Topology", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) UpdateJobRetries(ctx context.Context, in *UpdateJobRetriesRequest, opts ...grpc.CallOption) (*UpdateJobRetriesResponse, error) {
	out := new(UpdateJobRetriesResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/UpdateJobRetries", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) ModifyProcessInstance(ctx context.Context, in *ModifyProcessInstanceRequest, opts ...grpc.CallOption) (*ModifyProcessInstanceResponse, error) {
	out := new(ModifyProcessInstanceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/ModifyProcessInstance", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) MigrateProcessInstance(ctx context.Context, in *MigrateProcessInstanceRequest, opts ...grpc.CallOption) (*MigrateProcessInstanceResponse, error) {
	out := new(MigrateProcessInstanceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/MigrateProcessInstance", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) UpdateJobTimeout(ctx context.Context, in *UpdateJobTimeoutRequest, opts ...grpc.CallOption) (*UpdateJobTimeoutResponse, error) {
	out := new(UpdateJobTimeoutResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/UpdateJobTimeout", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) DeleteResource(ctx context.Context, in *DeleteResourceRequest, opts ...grpc.CallOption) (*DeleteResourceResponse, error) {
	out := new(DeleteResourceResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/DeleteResource", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *gatewayClient) BroadcastSignal(ctx context.Context, in *BroadcastSignalRequest, opts ...grpc.CallOption) (*BroadcastSignalResponse, error) {
	out := new(BroadcastSignalResponse)
	err := c.cc.Invoke(ctx, "/gateway_protocol.Gateway/BroadcastSignal", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// GatewayServer is the server API for Gateway service.
type GatewayServer interface {
	// Iterates through all known partitions round-robin and activates up to the requested
	// maximum and streams them back to the client as they are activated.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - type is blank (empty string, null)
	// - worker is blank (empty string, null)
	// - timeout less than 1
	// - maxJobsToActivate is less than 1
	ActivateJobs(*ActivateJobsRequest, Gateway_ActivateJobsServer) error
	// Registers client to a job stream that will stream jobs back to the client as
	// they become activatable.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - type is blank (empty string, null)
	// - timeout less than 1
	StreamActivatedJobs(*StreamActivatedJobsRequest, Gateway_StreamActivatedJobsServer) error
	// Cancels a running process instance
	//
	// Errors:
	// NOT_FOUND:
	// - no process instance exists with the given key
	CancelProcessInstance(context.Context, *CancelProcessInstanceRequest) (*CancelProcessInstanceResponse, error)
	// Completes a job with the given variables, which allows completing the associated service task.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given job key. Note that since jobs are removed once completed,
	// it could be that this job did exist at some point.
	//
	// FAILED_PRECONDITION:
	// - the job was marked as failed. In that case, the related incident must be resolved before
	// the job can be activated again and completed.
	CompleteJob(context.Context, *CompleteJobRequest) (*CompleteJobResponse, error)
	// Creates and starts an instance of the specified process. The process definition to use to
	// create the instance can be specified either using its unique key (as returned by
	// DeployProcess), or using the BPMN process ID and a version. Pass -1 as the version to use the
	// latest deployed version. Note that only processes with none start events can be started through
	// this command.
	//
	// Errors:
	// NOT_FOUND:
	// - no process with the given key exists (if processDefinitionKey was given)
	// - no process with the given process ID exists (if bpmnProcessId was given but version was -1)
	// - no process with the given process ID and version exists (if both bpmnProcessId and version were given)
	//
	// FAILED_PRECONDITION:
	// - the process definition does not contain a none start event; only processes with none
	// start event can be started manually.
	//
	// INVALID_ARGUMENT:
	// - the given variables argument is not a valid JSON document; it is expected to be a valid
	// JSON document where the root node is an object.
	CreateProcessInstance(context.Context, *CreateProcessInstanceRequest) (*CreateProcessInstanceResponse, error)
	// Behaves similarly to `rpc CreateProcessInstance`, except that a successful response is received when the process completes successfully.
	CreateProcessInstanceWithResult(context.Context, *CreateProcessInstanceWithResultRequest) (*CreateProcessInstanceWithResultResponse, error)
	// Evaluates a decision. The decision to evaluate can be specified either by
	// using its unique key (as returned by DeployResource), or using the decision
	// ID. When using the decision ID, the latest deployed version of the decision
	// is used.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - no decision with the given key exists (if decisionKey was given)
	// - no decision with the given decision ID exists (if decisionId was given)
	// - both decision ID and decision KEY were provided, or are missing
	EvaluateDecision(context.Context, *EvaluateDecisionRequest) (*EvaluateDecisionResponse, error)
	// Deprecated: Do not use.
	//
	// Deploys one or more processes to Zeebe. Note that this is an atomic call,
	// i.e. either all processes are deployed, or none of them are.
	//
	// Errors:
	// INVALID_ARGUMENT:
	// - no resources given.
	// - if at least one resource is invalid. A resource is considered invalid if:
	// - the resource data is not deserializable (e.g. detected as BPMN, but it's broken XML)
	// - the process is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
	DeployProcess(context.Context, *DeployProcessRequest) (*DeployProcessResponse, error)
	// Deploys one or more resources (e.g. processes or decision models) to Zeebe.
	// Note that this is an atomic call, i.e. either all resources are deployed, or none of them are.
	//
	// Errors:
	// PERMISSION_DENIED:
	// - if a deployment to an unauthorized tenant is performed
	// INVALID_ARGUMENT:
	// - no resources given.
	// - if at least one resource is invalid. A resource is considered invalid if:
	// - the content is not deserializable (e.g. detected as BPMN, but it's broken XML)
	// - the content is invalid (e.g. an event-based gateway has an outgoing sequence flow to a task)
	// - if multi-tenancy is enabled, and:
	// - a tenant id is not provided
	// - a tenant id with an invalid format is provided
	// - if multi-tenancy is disabled and a tenant id is provided
	DeployResource(context.Context, *DeployResourceRequest) (*DeployResourceResponse, error)
	// Marks the job as failed; if the retries argument is positive, then the job will be immediately
	// activatable again, and a worker could try again to process it. If it is zero or negative however,
	// an incident will be raised, tagged with the given errorMessage, and the job will not be
	// activatable until the incident is resolved.
	//
	// Errors:
	// NOT_FOUND:
	// - no job was found with the given key
	//
	// FAILED_PRECONDITION:
	// - the job was not activated
	// - the job is already in a failed state, i.e. ran out of retries
	FailJob(context.Context, *FailJobRequest) (*FailJobResponse, error)
	// Reports a business error (i.e. non-technical) that occurs while processing a job. The error is handled in the process by an error catch event. If there is no error catch event with the specified errorCode then an incident will be raised instead.
	//
	// Errors:
	// NOT_FOUND:
	// - no job was found with the given key
	//
	// FAILED_PRECONDITION:
	// - the job is not in an activated state
	ThrowError(context.Context, *ThrowErrorRequest) (*ThrowErrorResponse, error)
	// Publishes a single message. Messages are published to specific partitions computed from their
	// correlation keys.
	//
	// Errors:
	// ALREADY_EXISTS:
	// - a message with the same ID was previously published (and is still alive)
	PublishMessage(context.Context, *PublishMessageRequest) (*PublishMessageResponse, error)
	// Resolves a given incident. This simply marks the incident as resolved; most likely a call to
	// UpdateJobRetries or SetVariables will be necessary to actually resolve the
	// problem, following by this call.
	//
	// Errors:
	// NOT_FOUND:
	// - no incident with the given key exists
	ResolveIncident(context.Context, *ResolveIncidentRequest) (*ResolveIncidentResponse, error)
	// Updates all the variables of a particular scope (e.g. process instance, flow element instance)
	// from the given JSON document.
	//
	// Errors:
	// NOT_FOUND:
	// - no element with the given elementInstanceKey exists
	// INVALID_ARGUMENT:
	// - the given variables document is not a valid JSON document; valid documents are expected to
	// be JSON documents where the root node is an object.
	SetVariables(context.Context, *SetVariablesRequest) (*SetVariablesResponse, error)
	// Obtains the current topology of the cluster the gateway is part of.
	Topology(context.Context, *TopologyRequest) (*TopologyResponse, error)
	// Updates the number of retries a job has left. This is mostly useful for jobs that have run out of
	// retries, should the underlying problem be solved.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given key
	//
	// INVALID_ARGUMENT:
	// - retries is not greater than 0
	UpdateJobRetries(context.Context, *UpdateJobRetriesRequest) (*UpdateJobRetriesResponse, error)
	// Modifies the process instance. This is done by activating and/or terminating specific elements of the instance.
	//
	// Errors:
	// NOT_FOUND:
	// - no process instance exists with the given key
	//
	// FAILED_PRECONDITION:
	// - trying to activate element inside of a multi-instance
	//
	// INVALID_ARGUMENT:
	// - activating or terminating unknown element
	// - ancestor of element for activation doesn't exist
	// - scope of variable is unknown
	ModifyProcessInstance(context.Context, *ModifyProcessInstanceRequest) (*ModifyProcessInstanceResponse, error)
	// Migrates the process instance to the specified process definition.
	// In simple terms, this is handled by updating the active element's process.
	//
	// Errors:
	// NOT_FOUND:
	// - the process instance referenced by `processInstanceKey` is not active
	//
	// FAILED_PRECONDITION:
	// - not all active elements in the source process instance are mapped to the elements in the target process
	// - a mapping instruction changes the type of an element or event
	// - a mapping instruction refers to an unsupported element (i.e. some elements will be supported later on)
	// - a mapping instruction refers to element in unsupported scenarios.
	// (i.e. migrating active elements with event subscriptions will be supported later on)
	//
	// INVALID_ARGUMENT:
	// - the source element id does not refer to an element in the source process definition
	// - a source element id is mapped by multiple mapping instructions.
	// For example, the engine cannot determine how to migrate a process instance when the instructions are: [A->B, A->C].
	MigrateProcessInstance(context.Context, *MigrateProcessInstanceRequest) (*MigrateProcessInstanceResponse, error)
	// Updates the deadline of a job using the timeout (in ms) provided. This can be used
	// for extending or shortening the job deadline.
	//
	// Errors:
	// NOT_FOUND:
	// - no job exists with the given key
	//
	// INVALID_STATE:
	// - no deadline exists for the given job key
	UpdateJobTimeout(context.Context, *UpdateJobTimeoutRequest) (*UpdateJobTimeoutResponse, error)
	// Deletes a resource from the state. Once a resource has been deleted it cannot
	// be recovered. If the resource needs to be available again, a new deployment
	// of the resource is required.
	//
	// Deleting a process will cancel any running instances of this process
	// definition. New instances of a deleted process are created using
	// the lastest version that hasn't been deleted. Creating a new
	// process instance is impossible when all versions have been
	// deleted.
	//
	// Deleting a decision requirement definitions could cause incidents in process
	// instances referencing these decisions in a business rule task. A decision
	// will be evaluated with the latest version that hasn't been deleted. If all
	// versions of a decision have been deleted the evaluation is rejected.
	//
	// Errors:
	// NOT_FOUND:
	// - No resource exists with the given key
	DeleteResource(context.Context, *DeleteResourceRequest) (*DeleteResourceResponse, error)
	// Broadcasts a signal.
	BroadcastSignal(context.Context, *BroadcastSignalRequest) (*BroadcastSignalResponse, error)
}

// UnimplementedGatewayServer can be embedded to have forward compatible implementations.
type UnimplementedGatewayServer struct {
}

func (*UnimplementedGatewayServer) ActivateJobs(*ActivateJobsRequest, Gateway_ActivateJobsServer) error {
	return status.Errorf(codes.Unimplemented, "method ActivateJobs not implemented")
}
func (*UnimplementedGatewayServer) StreamActivatedJobs(*StreamActivatedJobsRequest, Gateway_StreamActivatedJobsServer) error {
	return status.Errorf(codes.Unimplemented, "method StreamActivatedJobs not implemented")
}
func (*UnimplementedGatewayServer) CancelProcessInstance(context.Context, *CancelProcessInstanceRequest) (*CancelProcessInstanceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelProcessInstance not implemented")
}
func (*UnimplementedGatewayServer) CompleteJob(context.Context, *CompleteJobRequest) (*CompleteJobResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CompleteJob not implemented")
}
func (*UnimplementedGatewayServer) CreateProcessInstance(context.Context, *CreateProcessInstanceRequest) (*CreateProcessInstanceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProcessInstance not implemented")
}
func (*UnimplementedGatewayServer) CreateProcessInstanceWithResult(context.Context, *CreateProcessInstanceWithResultRequest) (*CreateProcessInstanceWithResultResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProcessInstanceWithResult not implemented")
}
func (*UnimplementedGatewayServer) EvaluateDecision(context.Context, *EvaluateDecisionRequest) (*EvaluateDecisionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method EvaluateDecision not implemented")
}
func (*UnimplementedGatewayServer) DeployProcess(context.Context, *DeployProcessRequest) (*DeployProcessResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeployProcess not implemented")
}
func (*UnimplementedGatewayServer) DeployResource(context.Context, *DeployResourceRequest) (*DeployResourceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeployResource not implemented")
}
func (*UnimplementedGatewayServer) FailJob(context.Context, *FailJobRequest) (*FailJobResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method FailJob not implemented")
}
func (*UnimplementedGatewayServer) ThrowError(context.Context, *ThrowErrorRequest) (*ThrowErrorResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ThrowError not implemented")
}
func (*UnimplementedGatewayServer) PublishMessage(context.Context, *PublishMessageRequest) (*PublishMessageResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PublishMessage not implemented")
}
func (*UnimplementedGatewayServer) ResolveIncident(context.Context, *ResolveIncidentRequest) (*ResolveIncidentResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResolveIncident not implemented")
}
func (*UnimplementedGatewayServer) SetVariables(context.Context, *SetVariablesRequest) (*SetVariablesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SetVariables not implemented")
}
func (*UnimplementedGatewayServer) Topology(context.Context, *TopologyRequest) (*TopologyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Topology not implemented")
}
func (*UnimplementedGatewayServer) UpdateJobRetries(context.Context, *UpdateJobRetriesRequest) (*UpdateJobRetriesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateJobRetries not implemented")
}
func (*UnimplementedGatewayServer) ModifyProcessInstance(context.Context, *ModifyProcessInstanceRequest) (*ModifyProcessInstanceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ModifyProcessInstance not implemented")
}
func (*UnimplementedGatewayServer) MigrateProcessInstance(context.Context, *MigrateProcessInstanceRequest) (*MigrateProcessInstanceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MigrateProcessInstance not implemented")
}
func (*UnimplementedGatewayServer) UpdateJobTimeout(context.Context, *UpdateJobTimeoutRequest) (*UpdateJobTimeoutResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateJobTimeout not implemented")
}
func (*UnimplementedGatewayServer) DeleteResource(context.Context, *DeleteResourceRequest) (*DeleteResourceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteResource not implemented")
}
func (*UnimplementedGatewayServer) BroadcastSignal(context.Context, *BroadcastSignalRequest) (*BroadcastSignalResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BroadcastSignal not implemented")
}

func RegisterGatewayServer(s *grpc.Server, srv GatewayServer) {
	s.RegisterService(&_Gateway_serviceDesc, srv)
}

func _Gateway_ActivateJobs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ActivateJobsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GatewayServer).ActivateJobs(m, &gatewayActivateJobsServer{stream})
}

type Gateway_ActivateJobsServer interface {
	Send(*ActivateJobsResponse) error
	grpc.ServerStream
}

type gatewayActivateJobsServer struct {
	grpc.ServerStream
}

func (x *gatewayActivateJobsServer) Send(m *ActivateJobsResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _Gateway_StreamActivatedJobs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(StreamActivatedJobsRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(GatewayServer).StreamActivatedJobs(m, &gatewayStreamActivatedJobsServer{stream})
}

type Gateway_StreamActivatedJobsServer interface {
	Send(*ActivatedJob) error
	grpc.ServerStream
}

type gatewayStreamActivatedJobsServer struct {
	grpc.ServerStream
}

func (x *gatewayStreamActivatedJobsServer) Send(m *ActivatedJob) error {
	return x.ServerStream.SendMsg(m)
}

func _Gateway_CancelProcessInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelProcessInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).CancelProcessInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/CancelProcessInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).CancelProcessInstance(ctx, req.(*CancelProcessInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_CompleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CompleteJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).CompleteJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/CompleteJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).CompleteJob(ctx, req.(*CompleteJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_CreateProcessInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateProcessInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).CreateProcessInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/CreateProcessInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).CreateProcessInstance(ctx, req.(*CreateProcessInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_CreateProcessInstanceWithResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateProcessInstanceWithResultRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).CreateProcessInstanceWithResult(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/CreateProcessInstanceWithResult",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).CreateProcessInstanceWithResult(ctx, req.(*CreateProcessInstanceWithResultRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_EvaluateDecision_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(EvaluateDecisionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).EvaluateDecision(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/EvaluateDecision",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).EvaluateDecision(ctx, req.(*EvaluateDecisionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_DeployProcess_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeployProcessRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).DeployProcess(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/DeployProcess",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).DeployProcess(ctx, req.(*DeployProcessRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_DeployResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeployResourceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).DeployResource(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/DeployResource",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).DeployResource(ctx, req.(*DeployResourceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_FailJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(FailJobRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).FailJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/FailJob",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).FailJob(ctx, req.(*FailJobRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_ThrowError_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ThrowErrorRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).ThrowError(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/ThrowError",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).ThrowError(ctx, req.(*ThrowErrorRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_PublishMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PublishMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).PublishMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/PublishMessage",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).PublishMessage(ctx, req.(*PublishMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_ResolveIncident_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ResolveIncidentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).ResolveIncident(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/ResolveIncident",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).ResolveIncident(ctx, req.(*ResolveIncidentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_SetVariables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SetVariablesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).SetVariables(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/SetVariables",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).SetVariables(ctx, req.(*SetVariablesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_Topology_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TopologyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).Topology(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/Topology",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).Topology(ctx, req.(*TopologyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_UpdateJobRetries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateJobRetriesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).UpdateJobRetries(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/UpdateJobRetries",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).UpdateJobRetries(ctx, req.(*UpdateJobRetriesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_ModifyProcessInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ModifyProcessInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).ModifyProcessInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/ModifyProcessInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).ModifyProcessInstance(ctx, req.(*ModifyProcessInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_MigrateProcessInstance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MigrateProcessInstanceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).MigrateProcessInstance(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/MigrateProcessInstance",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).MigrateProcessInstance(ctx, req.(*MigrateProcessInstanceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_UpdateJobTimeout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateJobTimeoutRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).UpdateJobTimeout(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/UpdateJobTimeout",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).UpdateJobTimeout(ctx, req.(*UpdateJobTimeoutRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_DeleteResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteResourceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).DeleteResource(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/DeleteResource",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).DeleteResource(ctx, req.(*DeleteResourceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Gateway_BroadcastSignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BroadcastSignalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(GatewayServer).BroadcastSignal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/gateway_protocol.Gateway/BroadcastSignal",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(GatewayServer).BroadcastSignal(ctx, req.(*BroadcastSignalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Gateway_serviceDesc = grpc.ServiceDesc{
	ServiceName: "gateway_protocol.Gateway",
	HandlerType: (*GatewayServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CancelProcessInstance",
			Handler:    _Gateway_CancelProcessInstance_Handler,
		},
		{
			MethodName: "CompleteJob",
			Handler:    _Gateway_CompleteJob_Handler,
		},
		{
			MethodName: "CreateProcessInstance",
			Handler:    _Gateway_CreateProcessInstance_Handler,
		},
		{
			MethodName: "CreateProcessInstanceWithResult",
			Handler:    _Gateway_CreateProcessInstanceWithResult_Handler,
		},
		{
			MethodName: "EvaluateDecision",
			Handler:    _Gateway_EvaluateDecision_Handler,
		},
		{
			MethodName: "DeployProcess",
			Handler:    _Gateway_DeployProcess_Handler,
		},
		{
			MethodName: "DeployResource",
			Handler:    _Gateway_DeployResource_Handler,
		},
		{
			MethodName: "FailJob",
			Handler:    _Gateway_FailJob_Handler,
		},
		{
			MethodName: "ThrowError",
			Handler:    _Gateway_ThrowError_Handler,
		},
		{
			MethodName: "PublishMessage",
			Handler:    _Gateway_PublishMessage_Handler,
		},
		{
			MethodName: "ResolveIncident",
			Handler:    _Gateway_ResolveIncident_Handler,
		},
		{
			MethodName: "SetVariables",
			Handler:    _Gateway_SetVariables_Handler,
		},
		{
			MethodName: "Topology",
			Handler:    _Gateway_Topology_Handler,
		},
		{
			MethodName: "UpdateJobRetries",
			Handler:    _Gateway_UpdateJobRetries_Handler,
		},
		{
			MethodName: "ModifyProcessInstance",
			Handler:    _Gateway_ModifyProcessInstance_Handler,
		},
		{
			MethodName: "MigrateProcessInstance",
			Handler:    _Gateway_MigrateProcessInstance_Handler,
		},
		{
			MethodName: "UpdateJobTimeout",
			Handler:    _Gateway_UpdateJobTimeout_Handler,
		},
		{
			MethodName: "DeleteResource",
			Handler:    _Gateway_DeleteResource_Handler,
		},
		{
			MethodName: "BroadcastSignal",
			Handler:    _Gateway_BroadcastSignal_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ActivateJobs",
			Handler:       _Gateway_ActivateJobs_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "StreamActivatedJobs",
			Handler:       _Gateway_StreamActivatedJobs_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "gateway.proto",
}
